From 17c166b14b12e45319ce642ccdf8d528fd0554f4 Mon Sep 17 00:00:00 2001 From: Rich Gwozdz Date: Fri, 25 Aug 2023 08:00:18 -0700 Subject: [PATCH] chore: modify for cdf --- .github/workflows/ci-tests.yml | 9 - .github/workflows/codeql.yml | 73 - .github/workflows/dependabot-auto-merge.yml | 27 - .github/workflows/release.yml | 72 - .github/workflows/synk-code-check.yml | 30 - .github/workflows/synk-dep-check.yml | 39 - demo/index.js | 2 +- fork-scripts/modify-fork.js | 29 +- package-lock.json | 2361 +---- packages/cache-memory/.nycrc | 8 - .../cache-memory/CHANGELOG-pre-monorepo.md | 68 - packages/cache-memory/CHANGELOG.md | 34 - packages/cache-memory/README.md | 87 - packages/cache-memory/coverage.svg | 20 - packages/cache-memory/package.json | 40 +- packages/cache-memory/src/index.spec.js | 170 - packages/core/.nycrc | 8 - packages/core/CHANGELOG-pre-monorepo.md | 1155 --- packages/core/CHANGELOG.md | 235 - packages/core/README.md | 154 - packages/core/coverage.svg | 20 - packages/core/package.json | 58 +- .../data-provider/extend-controller.spec.js | 47 - .../src/data-provider/extend-model.spec.js | 976 -- .../helpers/compose-route-path.spec.js | 52 - .../helpers/route-joiner.spec.js | 24 - packages/core/src/data-provider/index.spec.js | 184 - .../src/data-provider/provider-route.spec.js | 58 - packages/core/src/index.js | 6 +- packages/core/src/index.spec.js | 127 - packages/featureserver/.nycrc | 8 - .../featureserver/CHANGELOG-pre-monorepo.md | 618 -- packages/featureserver/CHANGELOG.md | 152 - packages/featureserver/README.md | 589 -- packages/featureserver/coverage-unit.svg | 20 - packages/featureserver/coverage.svg | 20 - packages/featureserver/package.json | 56 +- .../src/generate-renderer/color-ramp.spec.js | 157 - .../generate-renderer/create-symbol.spec.js | 93 - .../src/generate-renderer/index.js | 2 +- .../src/generate-renderer/index.spec.js | 417 - ...validate-classification-definition.spec.js | 120 - .../src/helpers/calculate-extent.spec.js | 77 - .../src/helpers/data-type-utils.spec.js | 53 - .../src/helpers/esri-units-lookup.spec.js | 79 - .../helpers/feature-layer-metadata.spec.js | 297 - .../src/helpers/fields/constants.spec.js | 45 - .../helpers/fields/esri-type-utils.spec.js | 96 - .../src/helpers/fields/field-classes.spec.js | 224 - .../src/helpers/fields/fields.spec.js | 261 - .../src/helpers/fields/layer-fields.spec.js | 274 - .../src/helpers/fields/query-fields.spec.js | 359 - .../helpers/fields/statistics-fields.spec.js | 171 - .../src/helpers/get-collection-crs.spec.js | 39 - .../get-geometry-type-from-geojson.spec.js | 64 - .../src/helpers/get-spatial-reference.spec.js | 39 - .../src/helpers/is-geojson-table.spec.js | 58 - .../src/helpers/normalize-extent.spec.js | 153 - .../src/helpers/normalize-input-data.spec.js | 127 - .../helpers/normalize-request-params.spec.js | 57 - .../normalize-spatial-reference.spec.js | 141 - .../src/helpers/renderers.spec.js | 85 - .../src/helpers/server-metadata.spec.js | 209 - .../src/helpers/table-layer-metadata.spec.js | 405 - .../src/helpers/validate-inputs.spec.js | 116 - .../featureserver/src/layer-metadata.spec.js | 47 - .../featureserver/src/layers-metadata.spec.js | 85 - packages/featureserver/src/logger/index.js | 4 +- packages/featureserver/src/logger/logger.js | 2 +- .../src/metadata-defaults.spec.js | 30 - .../src/query/filter-and-transform.js | 2 +- .../src/query/filter-and-transform.spec.js | 258 - .../featureserver/src/query/index.spec.js | 546 - .../src/query/render-count-and-extent.spec.js | 148 - .../src/query/render-features.spec.js | 339 - .../render-precalculated-statistics.spec.js | 91 - .../src/query/render-statistics.spec.js | 94 - .../src/response-handler.spec.js | 64 - .../src/rest-info-route-handler.spec.js | 60 - packages/featureserver/src/route.spec.js | 536 - .../src/server-info-route-handler.spec.js | 564 - .../integration/fixtures/budget-table.json | 1 - .../fixtures/data-with-complex-metadata.json | 191 - .../fixtures/date-no-metadata.json | 12 - .../fixtures/date-with-metadata.json | 20 - .../fixtures/fully-specified-metadata.json | 76 - .../integration/fixtures/no-geometry.json | 1 - .../integration/fixtures/offset-applied.json | 14 - .../integration/fixtures/one-of-each.json | 21 - .../fixtures/polygon-metadata-error.json | 24 - .../test/integration/fixtures/polygon.json | 43 - .../fixtures/projection-applied.json | 9186 ----------------- .../fixtures/provider-statistics.json | 17 - .../integration/fixtures/relatedData.json | 292 - .../fixtures/relatedDataCountProperty.json | 73 - .../fixtures/snow-text-objectid.json | 78 - .../test/integration/fixtures/snow.json | 9183 ---------------- .../fixtures/stats-out-single.json | 27 - .../fixtures/trees-crs-102645.json | 14 - .../fixtures/trees-untagged-102645.json | 14 - .../integration/fixtures/treesSubset.json | 1 - .../test/integration/info.spec.js | 237 - .../test/integration/layers.spec.js | 60 - .../test/integration/query.spec.js | 784 -- .../integration/queryRelatedRecords.spec.js | 37 - .../test/integration/route.spec.js | 366 - .../test/integration/schemas/index.js | 171 - packages/logger/.nycrc | 8 - packages/logger/CHANGELOG-pre-monorepo.md | 74 - packages/logger/CHANGELOG.md | 41 - packages/logger/README.md | 18 - packages/logger/coverage.svg | 20 - packages/logger/package.json | 40 +- packages/logger/src/index.spec.js | 17 - packages/output-geoservices/.nycrc | 8 - .../CHANGELOG-pre-monorepo.md | 156 - packages/output-geoservices/CHANGELOG.md | 186 - packages/output-geoservices/README.md | 76 - packages/output-geoservices/coverage.svg | 20 - packages/output-geoservices/package.json | 34 +- packages/output-geoservices/src/index.js | 4 +- packages/output-geoservices/src/index.spec.js | 502 - packages/winnow/.nycrc | 8 - packages/winnow/CHANGELOG-pre-monorepo.md | 505 - packages/winnow/CHANGELOG.md | 79 - packages/winnow/README.md | 291 - packages/winnow/benchmark/fixtures.geojson | 1 - packages/winnow/benchmark/index.js | 37 - packages/winnow/coverage-unit.svg | 20 - packages/winnow/coverage.svg | 20 - packages/winnow/index.d.ts | 120 - packages/winnow/package.json | 58 +- .../calculate-std-dev-intervals.spec.js | 10 - ...d-validate-classification-features.spec.js | 34 - .../src/calculate-class-breaks/index.spec.js | 273 - .../normalize-classification-values.spec.js | 207 - .../transform-class-breaks-to-ranges.spec.js | 29 - .../filter-and-transform.spec.js | 90 - .../filters/contains.spec.js | 68 - .../filters/envelope-intersects.spec.js | 149 - .../hashed-objectid-comparator.spec.js | 43 - .../filters/intersects.spec.js | 77 - .../filters/within.spec.js | 68 - .../helpers/create-integer-hash.spec.js | 18 - .../helpers/hash-function.spec.js | 35 - .../prepare-filter-and-transform.spec.js | 40 - .../transforms/project.spec.js | 63 - .../transforms/reduce-precision.spec.js | 31 - .../transforms/to-esri-attributes.spec.js | 102 - .../transforms/to-esri-geometry.spec.js | 189 - .../transforms/to-geohash.spec.js | 87 - .../transforms/to-hash.spec.js | 20 - .../src/helpers/project-coordinates.spec.js | 44 - .../src/helpers/transform-coordinates.spec.js | 161 - packages/winnow/src/logger/index.js | 2 +- packages/winnow/src/logger/logger.js | 2 +- .../aggregates.spec.js | 60 - .../classification.spec.js | 205 - .../collection.spec.js | 42 - .../date-fields.spec.js | 52 - .../normalize-query-options/fields.spec.js | 70 - .../geometry-filter-spatial-reference.spec.js | 73 - .../geometry-filter.spec.js | 233 - .../normalize-query-options/group-by.spec.js | 54 - .../helpers/detect-esri-field-types.spec.js | 26 - .../helpers/get-collection-crs.spec.js | 38 - .../normalize-query-options/id-field.spec.js | 79 - .../src/normalize-query-options/limit.spec.js | 60 - .../object-ids.spec.js | 61 - .../normalize-query-options/offset.spec.js | 39 - .../src/normalize-query-options/order.spec.js | 61 - .../output-data-spatial-reference.spec.js | 98 - .../source-data-spatial-reference.spec.js | 60 - .../spatial-predicate.spec.js | 51 - .../spatial-reference.spec.js | 147 - .../src/normalize-query-options/where.spec.js | 42 - .../src/query/classification-query.spec.js | 125 - .../src/query/normalize-query-input.spec.js | 64 - .../winnow/src/query/package-features.spec.js | 26 - .../winnow/src/query/prepare-query.spec.js | 54 - packages/winnow/src/query/query.spec.js | 129 - .../winnow/src/query/standard-query.spec.js | 88 - .../src/query/unique-value-query.spec.js | 211 - .../create-sql-params.spec.js | 52 - .../create-sql-string.spec.js | 127 - .../src/sql-query-builder/group-by.spec.js | 26 - .../is-different-crs.spec.js | 44 - .../src/sql-query-builder/order-by.spec.js | 44 - .../select/fields-select-fragment.spec.js | 119 - .../select/geometry-select-fragment.spec.js | 56 - .../sql-query-builder/select/index.spec.js | 38 - .../where-builder/index.spec.js | 158 - .../where-builder/to-json-where.spec.js | 207 - .../winnow/test/integration/aggregate.spec.js | 300 - .../test/integration/classification.spec.js | 337 - .../winnow/test/integration/fields.spec.js | 38 - .../winnow/test/integration/filter.spec.js | 654 -- .../fixtures/classification/classBreaks.json | 11 - .../geoServicesClassBreaks.json | 27 - .../geoServicesUniqueValue.json | 28 - .../classification/multipleUnqiue.json | 147 - .../fixtures/classification/uniqueValue.json | 8 - .../winnow/test/integration/fixtures/cvd.json | 1 - .../test/integration/fixtures/cvd2.json | 239 - .../test/integration/fixtures/dates.json | 213 - .../integration/fixtures/emptyCollection.json | 4 - .../fixtures/emptyMultiPolygon.json | 1 - .../test/integration/fixtures/esri.json | 357 - .../test/integration/fixtures/esriFields.json | 139 - .../fixtures/missing-geometry.json | 68 - .../integration/fixtures/multipolygon.json | 68 - .../test/integration/fixtures/nogeom.json | 333 - .../integration/fixtures/oid-feature.json | 16 - .../test/integration/fixtures/polygon.json | 42 - .../test/integration/fixtures/ringbug.json | 1 - .../test/integration/fixtures/snow.json | 294 - .../test/integration/fixtures/startups.json | 64 - .../test/integration/fixtures/states.json | 4 - .../integration/fixtures/to-esri-fixture.json | 15 - .../fixtures/trees-feature-id.json | 587 -- .../integration/fixtures/trees-sr-102645.json | 14 - .../test/integration/fixtures/trees.json | 613 -- .../winnow/test/integration/limit.spec.js | 46 - .../winnow/test/integration/order.spec.js | 69 - .../winnow/test/integration/prepare.spec.js | 119 - .../winnow/test/integration/project.spec.js | 335 - .../test/integration/return-types.spec.js | 65 - .../winnow/test/integration/to-esri.spec.js | 216 - packages/winnow/test/integration/wfs.spec.js | 14 - test/geoservice-defaults.spec.js | 2 +- test/geoservice-error-handling.spec.js | 2 +- test/geoservice-query.spec.js | 2 +- 232 files changed, 212 insertions(+), 48252 deletions(-) delete mode 100644 .github/workflows/codeql.yml delete mode 100644 .github/workflows/dependabot-auto-merge.yml delete mode 100644 .github/workflows/release.yml delete mode 100644 .github/workflows/synk-code-check.yml delete mode 100644 .github/workflows/synk-dep-check.yml delete mode 100644 packages/cache-memory/.nycrc delete mode 100644 packages/cache-memory/CHANGELOG-pre-monorepo.md delete mode 100644 packages/cache-memory/CHANGELOG.md delete mode 100644 packages/cache-memory/README.md delete mode 100644 packages/cache-memory/coverage.svg delete mode 100644 packages/cache-memory/src/index.spec.js delete mode 100644 packages/core/.nycrc delete mode 100644 packages/core/CHANGELOG-pre-monorepo.md delete mode 100644 packages/core/CHANGELOG.md delete mode 100644 packages/core/README.md delete mode 100644 packages/core/coverage.svg delete mode 100644 packages/core/src/data-provider/extend-controller.spec.js delete mode 100644 packages/core/src/data-provider/extend-model.spec.js delete mode 100644 packages/core/src/data-provider/helpers/compose-route-path.spec.js delete mode 100644 packages/core/src/data-provider/helpers/route-joiner.spec.js delete mode 100644 packages/core/src/data-provider/index.spec.js delete mode 100644 packages/core/src/data-provider/provider-route.spec.js delete mode 100644 packages/core/src/index.spec.js delete mode 100644 packages/featureserver/.nycrc delete mode 100644 packages/featureserver/CHANGELOG-pre-monorepo.md delete mode 100644 packages/featureserver/CHANGELOG.md delete mode 100644 packages/featureserver/README.md delete mode 100644 packages/featureserver/coverage-unit.svg delete mode 100644 packages/featureserver/coverage.svg delete mode 100644 packages/featureserver/src/generate-renderer/color-ramp.spec.js delete mode 100644 packages/featureserver/src/generate-renderer/create-symbol.spec.js delete mode 100644 packages/featureserver/src/generate-renderer/index.spec.js delete mode 100644 packages/featureserver/src/generate-renderer/validate-classification-definition.spec.js delete mode 100644 packages/featureserver/src/helpers/calculate-extent.spec.js delete mode 100644 packages/featureserver/src/helpers/data-type-utils.spec.js delete mode 100644 packages/featureserver/src/helpers/esri-units-lookup.spec.js delete mode 100644 packages/featureserver/src/helpers/feature-layer-metadata.spec.js delete mode 100644 packages/featureserver/src/helpers/fields/constants.spec.js delete mode 100644 packages/featureserver/src/helpers/fields/esri-type-utils.spec.js delete mode 100644 packages/featureserver/src/helpers/fields/field-classes.spec.js delete mode 100644 packages/featureserver/src/helpers/fields/fields.spec.js delete mode 100644 packages/featureserver/src/helpers/fields/layer-fields.spec.js delete mode 100644 packages/featureserver/src/helpers/fields/query-fields.spec.js delete mode 100644 packages/featureserver/src/helpers/fields/statistics-fields.spec.js delete mode 100644 packages/featureserver/src/helpers/get-collection-crs.spec.js delete mode 100644 packages/featureserver/src/helpers/get-geometry-type-from-geojson.spec.js delete mode 100644 packages/featureserver/src/helpers/get-spatial-reference.spec.js delete mode 100644 packages/featureserver/src/helpers/is-geojson-table.spec.js delete mode 100644 packages/featureserver/src/helpers/normalize-extent.spec.js delete mode 100644 packages/featureserver/src/helpers/normalize-input-data.spec.js delete mode 100644 packages/featureserver/src/helpers/normalize-request-params.spec.js delete mode 100644 packages/featureserver/src/helpers/normalize-spatial-reference.spec.js delete mode 100644 packages/featureserver/src/helpers/renderers.spec.js delete mode 100644 packages/featureserver/src/helpers/server-metadata.spec.js delete mode 100644 packages/featureserver/src/helpers/table-layer-metadata.spec.js delete mode 100644 packages/featureserver/src/helpers/validate-inputs.spec.js delete mode 100644 packages/featureserver/src/layer-metadata.spec.js delete mode 100644 packages/featureserver/src/layers-metadata.spec.js delete mode 100644 packages/featureserver/src/metadata-defaults.spec.js delete mode 100644 packages/featureserver/src/query/filter-and-transform.spec.js delete mode 100644 packages/featureserver/src/query/index.spec.js delete mode 100644 packages/featureserver/src/query/render-count-and-extent.spec.js delete mode 100644 packages/featureserver/src/query/render-features.spec.js delete mode 100644 packages/featureserver/src/query/render-precalculated-statistics.spec.js delete mode 100644 packages/featureserver/src/query/render-statistics.spec.js delete mode 100644 packages/featureserver/src/response-handler.spec.js delete mode 100644 packages/featureserver/src/rest-info-route-handler.spec.js delete mode 100644 packages/featureserver/src/route.spec.js delete mode 100644 packages/featureserver/src/server-info-route-handler.spec.js delete mode 100644 packages/featureserver/test/integration/fixtures/budget-table.json delete mode 100644 packages/featureserver/test/integration/fixtures/data-with-complex-metadata.json delete mode 100644 packages/featureserver/test/integration/fixtures/date-no-metadata.json delete mode 100644 packages/featureserver/test/integration/fixtures/date-with-metadata.json delete mode 100644 packages/featureserver/test/integration/fixtures/fully-specified-metadata.json delete mode 100644 packages/featureserver/test/integration/fixtures/no-geometry.json delete mode 100644 packages/featureserver/test/integration/fixtures/offset-applied.json delete mode 100644 packages/featureserver/test/integration/fixtures/one-of-each.json delete mode 100644 packages/featureserver/test/integration/fixtures/polygon-metadata-error.json delete mode 100644 packages/featureserver/test/integration/fixtures/polygon.json delete mode 100644 packages/featureserver/test/integration/fixtures/projection-applied.json delete mode 100644 packages/featureserver/test/integration/fixtures/provider-statistics.json delete mode 100644 packages/featureserver/test/integration/fixtures/relatedData.json delete mode 100644 packages/featureserver/test/integration/fixtures/relatedDataCountProperty.json delete mode 100644 packages/featureserver/test/integration/fixtures/snow-text-objectid.json delete mode 100644 packages/featureserver/test/integration/fixtures/snow.json delete mode 100644 packages/featureserver/test/integration/fixtures/stats-out-single.json delete mode 100644 packages/featureserver/test/integration/fixtures/trees-crs-102645.json delete mode 100644 packages/featureserver/test/integration/fixtures/trees-untagged-102645.json delete mode 100644 packages/featureserver/test/integration/fixtures/treesSubset.json delete mode 100644 packages/featureserver/test/integration/info.spec.js delete mode 100644 packages/featureserver/test/integration/layers.spec.js delete mode 100644 packages/featureserver/test/integration/query.spec.js delete mode 100644 packages/featureserver/test/integration/queryRelatedRecords.spec.js delete mode 100644 packages/featureserver/test/integration/route.spec.js delete mode 100644 packages/featureserver/test/integration/schemas/index.js delete mode 100644 packages/logger/.nycrc delete mode 100644 packages/logger/CHANGELOG-pre-monorepo.md delete mode 100644 packages/logger/CHANGELOG.md delete mode 100644 packages/logger/README.md delete mode 100644 packages/logger/coverage.svg delete mode 100644 packages/logger/src/index.spec.js delete mode 100644 packages/output-geoservices/.nycrc delete mode 100644 packages/output-geoservices/CHANGELOG-pre-monorepo.md delete mode 100644 packages/output-geoservices/CHANGELOG.md delete mode 100644 packages/output-geoservices/README.md delete mode 100644 packages/output-geoservices/coverage.svg delete mode 100644 packages/output-geoservices/src/index.spec.js delete mode 100644 packages/winnow/.nycrc delete mode 100644 packages/winnow/CHANGELOG-pre-monorepo.md delete mode 100644 packages/winnow/CHANGELOG.md delete mode 100644 packages/winnow/README.md delete mode 100644 packages/winnow/benchmark/fixtures.geojson delete mode 100644 packages/winnow/benchmark/index.js delete mode 100644 packages/winnow/coverage-unit.svg delete mode 100644 packages/winnow/coverage.svg delete mode 100644 packages/winnow/index.d.ts delete mode 100644 packages/winnow/src/calculate-class-breaks/calculate-std-dev-intervals.spec.js delete mode 100644 packages/winnow/src/calculate-class-breaks/filter-and-validate-classification-features.spec.js delete mode 100644 packages/winnow/src/calculate-class-breaks/index.spec.js delete mode 100644 packages/winnow/src/calculate-class-breaks/normalize-classification-values.spec.js delete mode 100644 packages/winnow/src/calculate-class-breaks/transform-class-breaks-to-ranges.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/filter-and-transform.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/filters/contains.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/filters/envelope-intersects.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/filters/hashed-objectid-comparator.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/filters/intersects.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/filters/within.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/helpers/create-integer-hash.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/helpers/hash-function.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/prepare-filter-and-transform.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/transforms/project.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/transforms/reduce-precision.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/transforms/to-esri-attributes.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/transforms/to-esri-geometry.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/transforms/to-geohash.spec.js delete mode 100644 packages/winnow/src/filter-and-transform/transforms/to-hash.spec.js delete mode 100644 packages/winnow/src/helpers/project-coordinates.spec.js delete mode 100644 packages/winnow/src/helpers/transform-coordinates.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/aggregates.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/classification.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/collection.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/date-fields.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/fields.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/geometry-filter-spatial-reference.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/geometry-filter.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/group-by.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/helpers/detect-esri-field-types.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/helpers/get-collection-crs.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/id-field.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/limit.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/object-ids.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/offset.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/order.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/output-data-spatial-reference.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/source-data-spatial-reference.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/spatial-predicate.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/spatial-reference.spec.js delete mode 100644 packages/winnow/src/normalize-query-options/where.spec.js delete mode 100644 packages/winnow/src/query/classification-query.spec.js delete mode 100644 packages/winnow/src/query/normalize-query-input.spec.js delete mode 100644 packages/winnow/src/query/package-features.spec.js delete mode 100644 packages/winnow/src/query/prepare-query.spec.js delete mode 100644 packages/winnow/src/query/query.spec.js delete mode 100644 packages/winnow/src/query/standard-query.spec.js delete mode 100644 packages/winnow/src/query/unique-value-query.spec.js delete mode 100644 packages/winnow/src/sql-query-builder/create-sql-params.spec.js delete mode 100644 packages/winnow/src/sql-query-builder/create-sql-string.spec.js delete mode 100644 packages/winnow/src/sql-query-builder/group-by.spec.js delete mode 100644 packages/winnow/src/sql-query-builder/is-different-crs.spec.js delete mode 100644 packages/winnow/src/sql-query-builder/order-by.spec.js delete mode 100644 packages/winnow/src/sql-query-builder/select/fields-select-fragment.spec.js delete mode 100644 packages/winnow/src/sql-query-builder/select/geometry-select-fragment.spec.js delete mode 100644 packages/winnow/src/sql-query-builder/select/index.spec.js delete mode 100644 packages/winnow/src/sql-query-builder/where-builder/index.spec.js delete mode 100644 packages/winnow/src/sql-query-builder/where-builder/to-json-where.spec.js delete mode 100644 packages/winnow/test/integration/aggregate.spec.js delete mode 100644 packages/winnow/test/integration/classification.spec.js delete mode 100644 packages/winnow/test/integration/fields.spec.js delete mode 100644 packages/winnow/test/integration/filter.spec.js delete mode 100644 packages/winnow/test/integration/fixtures/classification/classBreaks.json delete mode 100644 packages/winnow/test/integration/fixtures/classification/geoServicesClassBreaks.json delete mode 100644 packages/winnow/test/integration/fixtures/classification/geoServicesUniqueValue.json delete mode 100644 packages/winnow/test/integration/fixtures/classification/multipleUnqiue.json delete mode 100644 packages/winnow/test/integration/fixtures/classification/uniqueValue.json delete mode 100644 packages/winnow/test/integration/fixtures/cvd.json delete mode 100644 packages/winnow/test/integration/fixtures/cvd2.json delete mode 100644 packages/winnow/test/integration/fixtures/dates.json delete mode 100644 packages/winnow/test/integration/fixtures/emptyCollection.json delete mode 100644 packages/winnow/test/integration/fixtures/emptyMultiPolygon.json delete mode 100644 packages/winnow/test/integration/fixtures/esri.json delete mode 100644 packages/winnow/test/integration/fixtures/esriFields.json delete mode 100644 packages/winnow/test/integration/fixtures/missing-geometry.json delete mode 100644 packages/winnow/test/integration/fixtures/multipolygon.json delete mode 100644 packages/winnow/test/integration/fixtures/nogeom.json delete mode 100644 packages/winnow/test/integration/fixtures/oid-feature.json delete mode 100644 packages/winnow/test/integration/fixtures/polygon.json delete mode 100644 packages/winnow/test/integration/fixtures/ringbug.json delete mode 100644 packages/winnow/test/integration/fixtures/snow.json delete mode 100644 packages/winnow/test/integration/fixtures/startups.json delete mode 100644 packages/winnow/test/integration/fixtures/states.json delete mode 100644 packages/winnow/test/integration/fixtures/to-esri-fixture.json delete mode 100644 packages/winnow/test/integration/fixtures/trees-feature-id.json delete mode 100644 packages/winnow/test/integration/fixtures/trees-sr-102645.json delete mode 100644 packages/winnow/test/integration/fixtures/trees.json delete mode 100644 packages/winnow/test/integration/limit.spec.js delete mode 100644 packages/winnow/test/integration/order.spec.js delete mode 100644 packages/winnow/test/integration/prepare.spec.js delete mode 100644 packages/winnow/test/integration/project.spec.js delete mode 100644 packages/winnow/test/integration/return-types.spec.js delete mode 100644 packages/winnow/test/integration/to-esri.spec.js delete mode 100644 packages/winnow/test/integration/wfs.spec.js diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index aa61bab57..5630e9dea 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -2,12 +2,6 @@ name: CI tests on: push: - branches: [ master ] - pull_request: - branches: - - master - - next - - beta paths: - "./.github/**.yml" - "**/packages/**.js" @@ -37,9 +31,6 @@ jobs: - name: Lint run: npm run lint:ci - - - name: Unit tests - run: npm test --workspaces - name: E2E tests run: npm run test:e2e diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index 903a989f3..000000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,73 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - pull_request: - branches: [ "master", "next" ] - paths: - - "**/packages/**.js" - schedule: - - cron: '35 13 * * 6' - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'javascript' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] - # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality - - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 - with: - category: "/language:${{matrix.language}}" diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml deleted file mode 100644 index 0d4175bd0..000000000 --- a/.github/workflows/dependabot-auto-merge.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Dependabot auto-approve/merge -on: - pull_request: - branches: - - 'dependabot/**' - -permissions: - contents: write - pull-requests: write - -jobs: - dependabot: - runs-on: ubuntu-latest - if: ${{ github.actor == 'dependabot[bot]' }} - steps: - - name: Approve dependabot PR - run: gh pr review --approve "$PR_URL" - env: - PR_URL: ${{github.event.pull_request.html_url}} - GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} - - - name: Auto-merge for Dependabot PRs - run: gh pr merge --auto --merge "$PR_URL" - env: - PR_URL: ${{github.event.pull_request.html_url}} - # The documentation incorrectly forgets `GITHUB_TOKEN` here. - GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 4c6888a84..000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: Test and release on pushed changeset to master - -on: - push: - branches: - - master - paths: - - ".changeset/*.md" - -jobs: - release: - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [18.x] - - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - - - name: Install npm 7 - run: npm i -g npm@7 --registry=https://registry.npmjs.org - - - name: NPM install - run: npm ci - - - name: Set Github identity - run: | - git config --global user.email "github-actions@ci.com" - git config --global user.name "CI Agent" - - - name: Set NPM identity - env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - run: | - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc - - - name: Version - run: npm run version - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Commit version and changelog updates - run: "git add --all && git commit -m 'chore: version and changelog' --no-verify" - - - name: Push versioning changes - run: git push origin master --follow-tags --no-verify - - - name: Publish to NPM - run: npm run release:npm - - - name: Update root package-lock.json - run: npm install --package-lock-only - - - name: Commit package-lock update - run: "git add --all && git commit -m 'chore: update package-lock post-npm release' --no-verify" - - - name: Push tags and package-lock changes - run: git push origin master --follow-tags --no-verify - - - name: Github release - run: npm run release:github - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Remove .npmrc artifact - if: always() - run: rm .npmrc \ No newline at end of file diff --git a/.github/workflows/synk-code-check.yml b/.github/workflows/synk-code-check.yml deleted file mode 100644 index aa7180f0e..000000000 --- a/.github/workflows/synk-code-check.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Snyk Code Check -on: - pull_request: - branches: [ "master", "next" ] - paths: - - "**/packages/**.js" - schedule: - - cron: '35 13 * * 6' -jobs: - security: - permissions: - contents: read # for actions/checkout to fetch code - security-events: write # for github/codeql-action/upload-sarif to upload SARIF results - actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@master - - name: Run Snyk to check for code vulnerabilities - uses: snyk/actions/node@master - continue-on-error: true # To make sure that SARIF upload gets called - env: - SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} - with: - command: code test - args: --sarif-file-output=snyk-code.sarif - - - name: Upload result to GitHub Code Scanning - uses: github/codeql-action/upload-sarif@v2 - with: - sarif_file: snyk-code.sarif \ No newline at end of file diff --git a/.github/workflows/synk-dep-check.yml b/.github/workflows/synk-dep-check.yml deleted file mode 100644 index aa9c3b6a7..000000000 --- a/.github/workflows/synk-dep-check.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Snyk Dep Check -on: - pull_request: - branches: [ "master", "next" ] - schedule: - - cron: '35 13 * * 6' -jobs: - security: - permissions: - contents: read # for actions/checkout to fetch code - security-events: write # for github/codeql-action/upload-sarif to upload SARIF results - actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@master - - name: Run Snyk to check for dependency vulnerabilities - uses: snyk/actions/node@master - continue-on-error: true # To make sure that SARIF upload gets called - env: - SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} - with: - args: --sarif-file-output=snyk.sarif - - name: Upload result to GitHub Code Scanning - uses: github/codeql-action/upload-sarif@v2 - with: - sarif_file: snyk.sarif - - name: Run Snyk to check for code vulnerabilities - uses: snyk/actions/node@master - continue-on-error: true # To make sure that SARIF upload gets called - env: - SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} - with: - command: code test - args: --sarif-file-output=snyk-code.sarif - - - name: Upload result to GitHub Code Scanning - uses: github/codeql-action/upload-sarif@v2 - with: - sarif_file: snyk-code.sarif \ No newline at end of file diff --git a/demo/index.js b/demo/index.js index 2bbfecd63..c7742dd19 100644 --- a/demo/index.js +++ b/demo/index.js @@ -1,4 +1,4 @@ -const Koop = require('@koopjs/koop-core'); +const Koop = require('../packages/core'); const provider = require('@koopjs/provider-file-geojson'); const koop = new Koop({ }); diff --git a/fork-scripts/modify-fork.js b/fork-scripts/modify-fork.js index 26bb26e76..1841405ce 100644 --- a/fork-scripts/modify-fork.js +++ b/fork-scripts/modify-fork.js @@ -22,13 +22,18 @@ async function modifyPackageFiles() { for (let i = 0; i < packages.length; i++) { const filePath = path.join('../', packages[i], 'package.json'); const packageFile = require(filePath); - const name = packageFile.name.replace('@koopjs/', ''); + const name = packageFile.name.replace('@koopjs/', '').replace('koop-', ''); const buildDest = `../../customdata/framework/${name}`; + const dependencies = stripKoopDeps(packageFile.dependencies); + await modifyJsonFile( path.join(packages[i], 'package.json'), { name, - dependencies: stripKoopDeps(packageFile.dependencies), + author: undefined, + description: undefined, + keywords: undefined, + dependencies, devDependencies: undefined, files: undefined, contributors: undefined, @@ -39,7 +44,7 @@ async function modifyPackageFiles() { types: undefined, scripts: { clean: `shx rm -rf ${buildDest} && shx rm package-lock.json`, - build: `shx mkdir ${buildDest} && shx cp package.json ${buildDest} && shx cp -r ./src ${buildDest} && shx cp -r ./node_modules ${buildDest}`, + build: generateBuildCmd(buildDest, dependencies), }, }, { ifFieldIsMissing: 'skip' }, @@ -47,6 +52,21 @@ async function modifyPackageFiles() { } } +function generateBuildCmd(buildDest, dependencies) { + const mkDir = `shx mkdir ${buildDest}`; + const cpPackage = `shx cp package.json ${buildDest}`; + const cpSrc = `shx cp -r ./src ${buildDest}`; + + const build = `${mkDir} && ${cpPackage} && ${cpSrc}`; + + if (Object.keys(dependencies).length === 0) { + return build; + } + + const cpNodeModules = `shx cp -r ./node_modules ${buildDest}`; + return `${build} && ${cpNodeModules}`; +} + function stripKoopDeps(dependencies) { return Object.entries(dependencies) .filter(([key]) => { @@ -70,6 +90,7 @@ async function deleteNonEssentialFiles() { '!packages/**/LICENSE', ]); await deleteAsync([ + 'packages/**/test', 'packages/**/.nycrc', 'packages/**/*.svg', 'packages/**/*.md', @@ -82,7 +103,7 @@ async function deleteNonEssentialFiles() { } async function copyGithubAction() { - return copy(['fork-scripts/ci-tests.yml', '.github/workflows'], { up: true}); + return copy(['fork-scripts/ci-tests.yml', '.github/workflows'], { up: true }); } async function replacePackageReferences() { diff --git a/package-lock.json b/package-lock.json index d55f12fe0..a6b2a4fa9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2752,26 +2752,6 @@ "jsonwebtoken": "^9.0.1" } }, - "node_modules/@koopjs/cache-memory": { - "resolved": "packages/cache-memory", - "link": true - }, - "node_modules/@koopjs/featureserver": { - "resolved": "packages/featureserver", - "link": true - }, - "node_modules/@koopjs/koop-core": { - "resolved": "packages/core", - "link": true - }, - "node_modules/@koopjs/logger": { - "resolved": "packages/logger", - "link": true - }, - "node_modules/@koopjs/output-geoservices": { - "resolved": "packages/output-geoservices", - "link": true - }, "node_modules/@koopjs/provider-file-geojson": { "version": "2.2.0", "dev": true, @@ -2780,10 +2760,6 @@ "fs-extra": "^11.1.1" } }, - "node_modules/@koopjs/winnow": { - "resolved": "packages/winnow", - "link": true - }, "node_modules/@lerna/child-process": { "version": "7.1.5", "dev": true, @@ -3207,25 +3183,6 @@ "node": ">=10" } }, - "node_modules/@ljharb/resumer": { - "version": "0.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@ljharb/through": "^2.3.9" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/@ljharb/through": { - "version": "2.3.9", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, "node_modules/@manypkg/find-root": { "version": "1.1.0", "dev": true, @@ -4002,29 +3959,6 @@ "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@sinonjs/samsam": { - "version": "8.0.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } - }, - "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", - "dev": true, - "license": "(Unlicense OR Apache-2.0)" - }, "node_modules/@terraformer/arcgis": { "version": "2.1.2", "license": "MIT", @@ -4591,18 +4525,6 @@ "dev": true, "license": "Python-2.0" }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/array-differ": { "version": "3.0.0", "dev": true, @@ -4628,23 +4550,6 @@ "node": ">=8" } }, - "node_modules/array.prototype.every": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/array.prototype.flat": { "version": "1.3.1", "dev": true, @@ -4692,17 +4597,6 @@ "node": ">= 4.0.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/await-spawn": { "version": "4.0.2", "dev": true, @@ -4926,15 +4820,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/benchmark": { - "version": "2.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.4", - "platform": "^1.3.3" - } - }, "node_modules/better-path-resolve": { "version": "1.0.0", "dev": true, @@ -4946,14 +4831,6 @@ "node": ">=4" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/bl": { "version": "4.1.0", "devOptional": true, @@ -5037,11 +4914,6 @@ "wcwidth": "^1.0.1" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "dev": true, - "license": "ISC" - }, "node_modules/browserslist": { "version": "4.21.4", "dev": true, @@ -5110,11 +4982,6 @@ "dev": true, "license": "MIT" }, - "node_modules/buffer-shims": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/builtins": { "version": "5.0.1", "dev": true, @@ -5292,6 +5159,10 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/cache-memory": { + "resolved": "packages/cache-memory", + "link": true + }, "node_modules/cachedir": { "version": "2.3.0", "dev": true, @@ -5409,43 +5280,6 @@ "dev": true, "license": "MIT" }, - "node_modules/chokidar": { - "version": "3.5.3", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/chownr": { "version": "2.0.0", "dev": true, @@ -6176,6 +6010,10 @@ "dev": true, "license": "MIT" }, + "node_modules/core": { + "resolved": "packages/core", + "link": true + }, "node_modules/core-util-is": { "version": "1.0.3", "dev": true, @@ -6417,39 +6255,6 @@ "dev": true, "license": "MIT" }, - "node_modules/deep-equal": { - "version": "2.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.1", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deep-equal/node_modules/isarray": { - "version": "2.0.5", - "dev": true, - "license": "MIT" - }, "node_modules/deep-extend": { "version": "0.6.0", "license": "MIT", @@ -6519,14 +6324,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/defined": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "dev": true, @@ -6665,17 +6462,6 @@ "node": ">=10" } }, - "node_modules/dotignore": { - "version": "0.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "minimatch": "^3.0.4" - }, - "bin": { - "ignored": "bin/ignored" - } - }, "node_modules/duplexer": { "version": "0.1.2", "dev": true, @@ -6859,30 +6645,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-get-iterator/node_modules/isarray": { - "version": "2.0.5", - "dev": true, - "license": "MIT" - }, "node_modules/es-shim-unscopables": { "version": "1.0.0", "dev": true, @@ -7530,6 +7292,10 @@ "bser": "2.1.1" } }, + "node_modules/featureserver": { + "resolved": "packages/featureserver", + "link": true + }, "node_modules/fecha": { "version": "4.2.3", "license": "MIT" @@ -7583,18 +7349,6 @@ "node": ">=10" } }, - "node_modules/fill-keys": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-object": "~1.0.1", - "merge-descriptors": "~1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/fill-range": { "version": "7.0.1", "dev": true, @@ -7749,14 +7503,6 @@ } } }, - "node_modules/for-each": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, "node_modules/foreground-child": { "version": "2.0.0", "dev": true, @@ -8321,17 +8067,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gopd": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "dev": true, @@ -8385,25 +8120,6 @@ "node": ">= 0.4.0" } }, - "node_modules/has-ansi": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "dev": true, @@ -8412,18 +8128,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-dynamic-import": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { "version": "3.0.0", "dev": true, @@ -8505,14 +8209,6 @@ "node": ">=8" } }, - "node_modules/he": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, "node_modules/hexoid": { "version": "1.0.0", "dev": true, @@ -8981,41 +8677,13 @@ "node": ">= 0.10" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/is-bigint": { - "version": "1.0.4", + "node_modules/is-arrayish": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/is-bigint": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { @@ -9025,17 +8693,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-boolean-object": { "version": "1.1.2", "dev": true, @@ -9120,17 +8777,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-finite": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-fullwidth-code-point": { "version": "4.0.0", "dev": true, @@ -9174,14 +8820,6 @@ "dev": true, "license": "MIT" }, - "node_modules/is-map": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-negative-zero": { "version": "2.0.2", "dev": true, @@ -9223,14 +8861,6 @@ "node": ">=8" } }, - "node_modules/is-object": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-path-inside": { "version": "3.0.3", "dev": true, @@ -9270,14 +8900,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-set": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", "dev": true, @@ -9357,24 +8979,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-typedarray": { "version": "1.0.0", "dev": true, @@ -9396,14 +9000,6 @@ "dev": true, "license": "MIT" }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-weakref": { "version": "1.0.2", "dev": true, @@ -9415,18 +9011,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-weakset": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-windows": { "version": "1.0.2", "dev": true, @@ -11365,11 +10949,6 @@ "node": ">=10" } }, - "node_modules/just-extend": { - "version": "4.2.1", - "dev": true, - "license": "MIT" - }, "node_modules/jwa": { "version": "1.4.1", "dev": true, @@ -12402,11 +11981,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.get": { - "version": "4.4.2", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.isfunction": { "version": "3.0.9", "dev": true, @@ -12697,6 +12271,10 @@ "triple-beam": "^1.3.0" } }, + "node_modules/logger": { + "resolved": "packages/logger", + "link": true + }, "node_modules/longest": { "version": "2.0.1", "dev": true, @@ -13323,165 +12901,6 @@ "license": "MIT", "optional": true }, - "node_modules/mocha": { - "version": "10.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha/node_modules/ansi-colors": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/diff": { - "version": "5.0.0", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/mocha/node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "7.2.0", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mocha/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/mocha/node_modules/yargs": { - "version": "16.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/modify-values": { "version": "1.0.1", "dev": true, @@ -13490,11 +12909,6 @@ "node": ">=0.10.0" } }, - "node_modules/module-not-found-error": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, "node_modules/moment": { "version": "2.29.4", "license": "MIT", @@ -13547,17 +12961,6 @@ "thenify-all": "^1.0.0" } }, - "node_modules/nanoid": { - "version": "3.3.3", - "dev": true, - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/napi-build-utils": { "version": "1.0.2", "license": "MIT", @@ -13587,43 +12990,10 @@ "node": ">=v0.2.0" } }, - "node_modules/nise": { - "version": "5.1.4", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } - }, - "node_modules/nise/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/nise/node_modules/isarray": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/nise/node_modules/path-to-regexp": { - "version": "1.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/node-abi": { - "version": "3.28.0", - "license": "MIT", - "optional": true, + "node_modules/node-abi": { + "version": "3.28.0", + "license": "MIT", + "optional": true, "dependencies": { "semver": "^7.3.5" }, @@ -14794,21 +14164,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-is": { - "version": "1.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object-keys": { "version": "1.1.1", "dev": true, @@ -15011,6 +14366,10 @@ "dev": true, "license": "MIT" }, + "node_modules/output-geoservices": { + "resolved": "packages/output-geoservices", + "link": true + }, "node_modules/p-filter": { "version": "2.1.0", "dev": true, @@ -15352,14 +14711,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-ms": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/parse-passwd": { "version": "1.0.0", "dev": true, @@ -15586,19 +14937,6 @@ "node": ">=8" } }, - "node_modules/platform": { - "version": "1.3.6", - "dev": true, - "license": "MIT" - }, - "node_modules/plur": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/prebuild-install": { "version": "7.1.1", "license": "MIT", @@ -15684,19 +15022,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/pretty-ms": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-finite": "^1.0.1", - "parse-ms": "^1.0.0", - "plur": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/proc-log": { "version": "3.0.0", "dev": true, @@ -15798,16 +15123,6 @@ "dev": true, "license": "MIT" }, - "node_modules/proxyquire": { - "version": "2.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-keys": "^1.0.2", - "module-not-found-error": "^1.0.1", - "resolve": "^1.11.1" - } - }, "node_modules/pseudomap": { "version": "1.0.2", "dev": true, @@ -15885,14 +15200,6 @@ "node": ">=8" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, "node_modules/range-parser": { "version": "1.2.1", "license": "MIT", @@ -15935,11 +15242,6 @@ "node": ">=0.10.0" } }, - "node_modules/re-emitter": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, "node_modules/react-is": { "version": "18.2.0", "dev": true, @@ -16382,17 +15684,6 @@ "node": ">= 6" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/redent": { "version": "3.0.0", "dev": true, @@ -16437,14 +15728,6 @@ "node": ">=4" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, "node_modules/require-directory": { "version": "2.1.1", "license": "MIT", @@ -16777,14 +16060,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/serve-static": { "version": "1.15.0", "license": "MIT", @@ -16837,62 +16112,6 @@ "node": ">=8" } }, - "node_modules/should": { - "version": "13.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "should-equal": "^2.0.0", - "should-format": "^3.0.3", - "should-type": "^1.4.0", - "should-type-adaptors": "^1.0.1", - "should-util": "^1.0.0" - } - }, - "node_modules/should-equal": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "should-type": "^1.4.0" - } - }, - "node_modules/should-format": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "should-type": "^1.3.0", - "should-type-adaptors": "^1.0.1" - } - }, - "node_modules/should-sinon": { - "version": "0.0.6", - "dev": true, - "license": "MIT", - "peerDependencies": { - "should": ">= 8.x" - } - }, - "node_modules/should-type": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/should-type-adaptors": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "should-type": "^1.3.0", - "should-util": "^1.0.0" - } - }, - "node_modules/should-util": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, "node_modules/side-channel": { "version": "1.0.4", "license": "MIT", @@ -17081,50 +16300,6 @@ "version": "0.3.2", "license": "MIT" }, - "node_modules/sinon": { - "version": "15.2.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.3.0", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.4", - "supports-color": "^7.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" - } - }, - "node_modules/sinon/node_modules/diff": { - "version": "5.1.0", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/sinon/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/sinon/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/sisteransi": { "version": "1.0.5", "dev": true, @@ -17577,17 +16752,6 @@ "node": ">= 0.8" } }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "internal-slot": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/stream-transform": { "version": "2.1.3", "dev": true, @@ -17668,22 +16832,6 @@ "node": ">=8" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/string.prototype.trimend": { "version": "1.0.5", "dev": true, @@ -17865,299 +17013,67 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tap-out": { - "version": "2.1.0", + "node_modules/tar": { + "version": "6.1.12", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "re-emitter": "1.1.3", - "readable-stream": "2.2.9", - "split": "1.0.0", - "trim": "0.0.1" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, - "bin": { - "tap-out": "bin/cmd.js" + "engines": { + "node": ">=10" } }, - "node_modules/tap-out/node_modules/process-nextick-args": { - "version": "1.0.7", - "dev": true, - "license": "MIT" - }, - "node_modules/tap-out/node_modules/readable-stream": { - "version": "2.2.9", - "dev": true, + "node_modules/tar-fs": { + "version": "2.1.1", "license": "MIT", + "optional": true, "dependencies": { - "buffer-shims": "~1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~1.0.0", - "util-deprecate": "~1.0.1" + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" } }, - "node_modules/tap-out/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "license": "ISC", + "optional": true }, - "node_modules/tap-out/node_modules/split": { - "version": "1.0.0", - "dev": true, + "node_modules/tar-stream": { + "version": "2.2.0", + "devOptional": true, "license": "MIT", "dependencies": { - "through": "2" + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" }, "engines": { - "node": "*" + "node": ">=6" } }, - "node_modules/tap-out/node_modules/string_decoder": { - "version": "1.0.3", + "node_modules/temp-dir": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=4" } }, - "node_modules/tap-spec": { - "version": "5.0.0", + "node_modules/term-size": { + "version": "2.2.1", "dev": true, "license": "MIT", - "dependencies": { - "chalk": "^1.0.0", - "duplexer": "^0.1.1", - "figures": "^1.4.0", - "lodash": "^4.17.10", - "pretty-ms": "^2.1.0", - "repeat-string": "^1.5.2", - "tap-out": "^2.1.0", - "through2": "^2.0.0" - }, - "bin": { - "tap-spec": "bin/cmd.js", - "tspec": "bin/cmd.js" - } - }, - "node_modules/tap-spec/node_modules/ansi-regex": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tap-spec/node_modules/ansi-styles": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tap-spec/node_modules/chalk": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tap-spec/node_modules/figures": { - "version": "1.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tap-spec/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/tap-spec/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/tap-spec/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/tap-spec/node_modules/strip-ansi": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tap-spec/node_modules/supports-color": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/tap-spec/node_modules/through2": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/tape": { - "version": "5.6.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@ljharb/resumer": "^0.0.1", - "@ljharb/through": "^2.3.9", - "array.prototype.every": "^1.1.4", - "call-bind": "^1.0.2", - "deep-equal": "^2.2.2", - "defined": "^1.0.1", - "dotignore": "^0.1.2", - "for-each": "^0.3.3", - "get-package-type": "^0.1.0", - "glob": "^7.2.3", - "has": "^1.0.3", - "has-dynamic-import": "^2.0.1", - "inherits": "^2.0.4", - "is-regex": "^1.1.4", - "minimist": "^1.2.8", - "object-inspect": "^1.12.3", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "resolve": "^2.0.0-next.4", - "string.prototype.trim": "^1.2.7" - }, - "bin": { - "tape": "bin/tape" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tape/node_modules/minimist": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tape/node_modules/resolve": { - "version": "2.0.0-next.4", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tar": { - "version": "6.1.12", - "dev": true, - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "license": "MIT", - "optional": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "license": "ISC", - "optional": true - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "devOptional": true, - "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/temp-dir": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/term-size": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "engines": { + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -18271,10 +17187,6 @@ "version": "0.0.3", "license": "MIT" }, - "node_modules/trim": { - "version": "0.0.1", - "dev": true - }, "node_modules/trim-newlines": { "version": "3.0.1", "dev": true, @@ -18866,20 +17778,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-collection": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/which-module": { "version": "2.0.0", "dev": true, @@ -18897,25 +17795,6 @@ "node": ">=8.15" } }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/wide-align": { "version": "1.1.5", "dev": true, @@ -18924,6 +17803,10 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "node_modules/winnow": { + "resolved": "packages/winnow", + "link": true + }, "node_modules/winston": { "version": "3.10.0", "license": "MIT", @@ -18973,11 +17856,6 @@ "dev": true, "license": "MIT" }, - "node_modules/workerpool": { - "version": "6.2.1", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/wrap-ansi": { "version": "7.0.0", "license": "MIT", @@ -19219,50 +18097,6 @@ "node": ">=10" } }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/is-plain-obj": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/yargs/node_modules/cliui": { "version": "8.0.1", "dev": true, @@ -19304,27 +18138,17 @@ } }, "packages/cache-memory": { - "name": "@koopjs/cache-memory", "version": "5.0.0", "license": "Apache-2.0", "dependencies": { "@alloc/quick-lru": "^5.2.0", "lodash": "^4.17.21" - }, - "devDependencies": { - "tap-spec": "^5.0.0", - "tape": "^5.6.6", - "uuid": "^9.0.0" } }, "packages/core": { - "name": "@koopjs/koop-core", "version": "9.2.1", "license": "Apache-2.0", "dependencies": { - "@koopjs/cache-memory": "5.0.0", - "@koopjs/logger": "5.0.0", - "@koopjs/output-geoservices": "7.1.1", "@sindresorhus/fnv1a": "^2.0.1", "body-parser": "^1.19.0", "compression": "^1.7.4", @@ -19335,24 +18159,13 @@ "express": "^4.17.1", "joi": "^17.6.3", "lodash": "^4.17.15" - }, - "devDependencies": { - "mocha": "^10.0.0", - "proxyquire": "^2.1.3", - "should": "^13.2.3", - "should-sinon": "0.0.6", - "sinon": "^15.0.0", - "supertest": "^6.3.1" } }, "packages/featureserver": { - "name": "@koopjs/featureserver", "version": "8.1.1", "license": "Apache-2.0", "dependencies": { "@esri/proj-codes": "^3.1.0", - "@koopjs/logger": "5.0.0", - "@koopjs/winnow": "4.1.1", "@terraformer/spatial": "^2.1.2", "chroma-js": "^2.0.0", "esri-extent": "^1.1.3", @@ -19361,46 +18174,24 @@ "joi": "^17.9.2", "lodash": "^4.17.21", "wkt-parser": "^1.3.3" - }, - "devDependencies": { - "express": "^4.18.2", - "mocha": "^10.0.0", - "nyc": "^15.1.0", - "proxyquire": "^2.1.3", - "should": "^13.0.0", - "should-sinon": "0.0.6", - "sinon": "^15.0.0", - "supertest": "^6.3.3" } }, "packages/logger": { - "name": "@koopjs/logger", "version": "5.0.0", "license": "Apache-2.0", "dependencies": { "winston": "^3.10.0" - }, - "devDependencies": { - "tap-spec": "^5.0.0", - "tape": "^5.6.6" } }, "packages/output-geoservices": { - "name": "@koopjs/output-geoservices", "version": "7.1.1", - "license": "Apache-2.0", - "dependencies": { - "@koopjs/featureserver": "8.1.1", - "@koopjs/logger": "5.0.0" - } + "license": "Apache-2.0" }, "packages/winnow": { - "name": "@koopjs/winnow", "version": "4.1.1", "license": "Apache-2.0", "dependencies": { "@esri/proj-codes": "^3.1.0", - "@koopjs/logger": "5.0.0", "@terraformer/arcgis": "^2.1.1", "@terraformer/spatial": "^2.1.2", "@turf/bbox-polygon": "^6.5.0", @@ -19418,14 +18209,6 @@ "string-hash": "^1.1.3", "wkt-parser": "^1.2.2" }, - "devDependencies": { - "benchmark": "^2.1.4", - "fs-extra": "^11.0.0", - "proxyquire": "^2.1.3", - "sinon": "^15.0.0", - "tap-spec": "^5.0.0", - "tape": "^5.6.6" - }, "optionalDependencies": { "farmhash": "^3.1.0" } @@ -21251,79 +20034,6 @@ "jsonwebtoken": "^9.0.1" } }, - "@koopjs/cache-memory": { - "version": "file:packages/cache-memory", - "requires": { - "@alloc/quick-lru": "^5.2.0", - "lodash": "^4.17.21", - "tap-spec": "^5.0.0", - "tape": "^5.6.6", - "uuid": "^9.0.0" - } - }, - "@koopjs/featureserver": { - "version": "file:packages/featureserver", - "requires": { - "@esri/proj-codes": "^3.1.0", - "@koopjs/logger": "5.0.0", - "@koopjs/winnow": "4.1.1", - "@terraformer/spatial": "^2.1.2", - "chroma-js": "^2.0.0", - "esri-extent": "^1.1.3", - "express": "^4.18.2", - "geojson-validation": "^1.0.2", - "iso-datestring-validator": "^2.2.0", - "joi": "^17.9.2", - "lodash": "^4.17.21", - "mocha": "^10.0.0", - "nyc": "^15.1.0", - "proxyquire": "^2.1.3", - "should": "^13.0.0", - "should-sinon": "0.0.6", - "sinon": "^15.0.0", - "supertest": "^6.3.3", - "wkt-parser": "^1.3.3" - } - }, - "@koopjs/koop-core": { - "version": "file:packages/core", - "requires": { - "@koopjs/cache-memory": "5.0.0", - "@koopjs/logger": "5.0.0", - "@koopjs/output-geoservices": "7.1.1", - "@sindresorhus/fnv1a": "^2.0.1", - "body-parser": "^1.19.0", - "compression": "^1.7.4", - "config": "^3.3.9", - "cors": "^2.8.5", - "easy-table": "^1.1.1", - "ejs": "^3.1.2", - "express": "^4.17.1", - "joi": "^17.6.3", - "lodash": "^4.17.15", - "mocha": "^10.0.0", - "proxyquire": "^2.1.3", - "should": "^13.2.3", - "should-sinon": "0.0.6", - "sinon": "^15.0.0", - "supertest": "^6.3.1" - } - }, - "@koopjs/logger": { - "version": "file:packages/logger", - "requires": { - "tap-spec": "^5.0.0", - "tape": "^5.6.6", - "winston": "^3.10.0" - } - }, - "@koopjs/output-geoservices": { - "version": "file:packages/output-geoservices", - "requires": { - "@koopjs/featureserver": "8.1.1", - "@koopjs/logger": "5.0.0" - } - }, "@koopjs/provider-file-geojson": { "version": "2.2.0", "dev": true, @@ -21331,36 +20041,6 @@ "fs-extra": "^11.1.1" } }, - "@koopjs/winnow": { - "version": "file:packages/winnow", - "requires": { - "@esri/proj-codes": "^3.1.0", - "@koopjs/logger": "5.0.0", - "@terraformer/arcgis": "^2.1.1", - "@terraformer/spatial": "^2.1.2", - "@turf/bbox-polygon": "^6.5.0", - "@turf/centroid": "^6.5.0", - "@types/geojson": "^7946.0.10", - "alasql": "^4.0.0", - "benchmark": "^2.1.4", - "classybrew": "0.0.3", - "farmhash": "^3.1.0", - "fs-extra": "^11.0.0", - "joi": "^17.6.3", - "js-sql-parser": "^1.4.1", - "lodash": "^4.17.4", - "moment": "^2.29.4", - "ngeohash": "^0.6.3", - "proj4": "^2.9.0", - "proxyquire": "^2.1.3", - "simple-statistics": "^7.0.0", - "sinon": "^15.0.0", - "string-hash": "^1.1.3", - "tap-spec": "^5.0.0", - "tape": "^5.6.6", - "wkt-parser": "^1.2.2" - } - }, "@lerna/child-process": { "version": "7.1.5", "dev": true, @@ -21645,17 +20325,6 @@ } } }, - "@ljharb/resumer": { - "version": "0.0.1", - "dev": true, - "requires": { - "@ljharb/through": "^2.3.9" - } - }, - "@ljharb/through": { - "version": "2.3.9", - "dev": true - }, "@manypkg/find-root": { "version": "1.1.0", "dev": true, @@ -22193,28 +20862,6 @@ "@sinonjs/commons": "^3.0.0" } }, - "@sinonjs/samsam": { - "version": "8.0.0", - "dev": true, - "requires": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } - } - }, - "@sinonjs/text-encoding": { - "version": "0.7.2", - "dev": true - }, "@terraformer/arcgis": { "version": "2.1.2", "requires": { @@ -22613,14 +21260,6 @@ "version": "2.0.1", "dev": true }, - "array-buffer-byte-length": { - "version": "1.0.0", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, "array-differ": { "version": "3.0.0", "dev": true @@ -22636,16 +21275,6 @@ "version": "2.1.0", "dev": true }, - "array.prototype.every": { - "version": "1.1.4", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "is-string": "^1.0.7" - } - }, "array.prototype.flat": { "version": "1.3.1", "dev": true, @@ -22675,10 +21304,6 @@ "version": "1.0.0", "dev": true }, - "available-typed-arrays": { - "version": "1.0.5", - "dev": true - }, "await-spawn": { "version": "4.0.2", "dev": true, @@ -22825,14 +21450,6 @@ "version": "2.2.3", "dev": true }, - "benchmark": { - "version": "2.1.4", - "dev": true, - "requires": { - "lodash": "^4.17.4", - "platform": "^1.3.3" - } - }, "better-path-resolve": { "version": "1.0.0", "dev": true, @@ -22840,10 +21457,6 @@ "is-windows": "^1.0.0" } }, - "binary-extensions": { - "version": "2.2.0", - "dev": true - }, "bl": { "version": "4.1.0", "devOptional": true, @@ -22911,10 +21524,6 @@ "wcwidth": "^1.0.1" } }, - "browser-stdout": { - "version": "1.3.1", - "dev": true - }, "browserslist": { "version": "4.21.4", "dev": true, @@ -22948,10 +21557,6 @@ "version": "1.1.2", "dev": true }, - "buffer-shims": { - "version": "1.0.0", - "dev": true - }, "builtins": { "version": "5.0.1", "dev": true, @@ -23061,6 +21666,13 @@ } } }, + "cache-memory": { + "version": "file:packages/cache-memory", + "requires": { + "@alloc/quick-lru": "^5.2.0", + "lodash": "^4.17.21" + } + }, "cachedir": { "version": "2.3.0", "dev": true @@ -23132,29 +21744,6 @@ "version": "0.7.0", "dev": true }, - "chokidar": { - "version": "3.5.3", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, "chownr": { "version": "2.0.0", "dev": true @@ -23631,6 +22220,21 @@ "version": "2.1.4", "dev": true }, + "core": { + "version": "file:packages/core", + "requires": { + "@sindresorhus/fnv1a": "^2.0.1", + "body-parser": "^1.19.0", + "compression": "^1.7.4", + "config": "^3.3.9", + "cors": "^2.8.5", + "easy-table": "^1.1.1", + "ejs": "^3.1.2", + "express": "^4.17.1", + "joi": "^17.6.3", + "lodash": "^4.17.15" + } + }, "core-util-is": { "version": "1.0.3", "dev": true @@ -23772,36 +22376,6 @@ "version": "0.7.0", "dev": true }, - "deep-equal": { - "version": "2.2.2", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.1", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "dev": true - } - } - }, "deep-extend": { "version": "0.6.0", "optional": true @@ -23840,10 +22414,6 @@ "object-keys": "^1.1.1" } }, - "defined": { - "version": "1.0.1", - "dev": true - }, "delayed-stream": { "version": "1.0.0", "dev": true @@ -23919,20 +22489,13 @@ "version": "5.3.0", "dev": true, "requires": { - "is-obj": "^2.0.0" - } - }, - "dotenv": { - "version": "10.0.0", - "dev": true - }, - "dotignore": { - "version": "0.1.2", - "dev": true, - "requires": { - "minimatch": "^3.0.4" + "is-obj": "^2.0.0" } }, + "dotenv": { + "version": "10.0.0", + "dev": true + }, "duplexer": { "version": "0.1.2", "dev": true @@ -24060,27 +22623,6 @@ "unbox-primitive": "^1.0.2" } }, - "es-get-iterator": { - "version": "1.1.3", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "dev": true - } - } - }, "es-shim-unscopables": { "version": "1.0.0", "dev": true, @@ -24515,6 +23057,20 @@ "bser": "2.1.1" } }, + "featureserver": { + "version": "file:packages/featureserver", + "requires": { + "@esri/proj-codes": "^3.1.0", + "@terraformer/spatial": "^2.1.2", + "chroma-js": "^2.0.0", + "esri-extent": "^1.1.3", + "geojson-validation": "^1.0.2", + "iso-datestring-validator": "^2.2.0", + "joi": "^17.9.2", + "lodash": "^4.17.21", + "wkt-parser": "^1.3.3" + } + }, "fecha": { "version": "4.2.3" }, @@ -24552,14 +23108,6 @@ } } }, - "fill-keys": { - "version": "1.0.2", - "dev": true, - "requires": { - "is-object": "~1.0.1", - "merge-descriptors": "~1.0.0" - } - }, "fill-range": { "version": "7.0.1", "dev": true, @@ -24660,13 +23208,6 @@ "version": "1.15.2", "dev": true }, - "for-each": { - "version": "0.3.3", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, "foreground-child": { "version": "2.0.0", "dev": true, @@ -25033,13 +23574,6 @@ "slash": "^3.0.0" } }, - "gopd": { - "version": "1.0.1", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, "graceful-fs": { "version": "4.2.11", "dev": true @@ -25073,31 +23607,10 @@ "function-bind": "^1.1.1" } }, - "has-ansi": { - "version": "2.0.0", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "dev": true - } - } - }, "has-bigints": { "version": "1.0.2", "dev": true }, - "has-dynamic-import": { - "version": "2.0.1", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, "has-flag": { "version": "3.0.0", "dev": true @@ -25140,10 +23653,6 @@ } } }, - "he": { - "version": "1.2.0", - "dev": true - }, "hexoid": { "version": "1.0.0", "dev": true @@ -25444,23 +23953,6 @@ "ipaddr.js": { "version": "1.9.1" }, - "is-arguments": { - "version": "1.1.1", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, "is-arrayish": { "version": "0.2.1", "dev": true @@ -25472,13 +23964,6 @@ "has-bigints": "^1.0.1" } }, - "is-binary-path": { - "version": "2.1.0", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, "is-boolean-object": { "version": "1.1.2", "dev": true, @@ -25520,10 +24005,6 @@ "version": "2.1.1", "dev": true }, - "is-finite": { - "version": "1.1.0", - "dev": true - }, "is-fullwidth-code-point": { "version": "4.0.0", "dev": true @@ -25547,10 +24028,6 @@ "version": "1.0.1", "dev": true }, - "is-map": { - "version": "2.0.2", - "dev": true - }, "is-negative-zero": { "version": "2.0.2", "dev": true @@ -25570,10 +24047,6 @@ "version": "2.0.0", "dev": true }, - "is-object": { - "version": "1.0.2", - "dev": true - }, "is-path-inside": { "version": "3.0.3", "dev": true @@ -25594,10 +24067,6 @@ "has-tostringtag": "^1.0.0" } }, - "is-set": { - "version": "2.0.2", - "dev": true - }, "is-shared-array-buffer": { "version": "1.0.2", "dev": true, @@ -25643,17 +24112,6 @@ "text-extensions": "^1.0.0" } }, - "is-typed-array": { - "version": "1.1.10", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, "is-typedarray": { "version": "1.0.0", "dev": true @@ -25666,10 +24124,6 @@ "version": "0.2.1", "dev": true }, - "is-weakmap": { - "version": "2.0.1", - "dev": true - }, "is-weakref": { "version": "1.0.2", "dev": true, @@ -25677,14 +24131,6 @@ "call-bind": "^1.0.2" } }, - "is-weakset": { - "version": "2.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, "is-windows": { "version": "1.0.2", "dev": true @@ -26915,10 +25361,6 @@ } } }, - "just-extend": { - "version": "4.2.1", - "dev": true - }, "jwa": { "version": "1.4.1", "dev": true, @@ -27582,10 +26024,6 @@ "version": "4.4.0", "dev": true }, - "lodash.get": { - "version": "4.4.2", - "dev": true - }, "lodash.isfunction": { "version": "3.0.9", "dev": true @@ -27763,6 +26201,12 @@ "triple-beam": "^1.3.0" } }, + "logger": { + "version": "file:packages/logger", + "requires": { + "winston": "^3.10.0" + } + }, "longest": { "version": "2.0.1", "dev": true @@ -28169,120 +26613,10 @@ "version": "0.5.3", "optional": true }, - "mocha": { - "version": "10.2.0", - "dev": true, - "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "dev": true - }, - "diff": { - "version": "5.0.0", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "dev": true - }, - "glob": { - "version": "7.2.0", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "minimatch": { - "version": "5.0.1", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - } - } - }, - "ms": { - "version": "2.1.3", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yargs": { - "version": "16.2.0", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - } - } - }, "modify-values": { "version": "1.0.1", "dev": true }, - "module-not-found-error": { - "version": "1.0.1", - "dev": true - }, "moment": { "version": "2.29.4" }, @@ -28319,10 +26653,6 @@ "thenify-all": "^1.0.0" } }, - "nanoid": { - "version": "3.3.3", - "dev": true - }, "napi-build-utils": { "version": "1.0.2", "optional": true @@ -28341,37 +26671,6 @@ "ngeohash": { "version": "0.6.3" }, - "nise": { - "version": "5.1.4", - "dev": true, - "requires": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "isarray": { - "version": "0.0.1", - "dev": true - }, - "path-to-regexp": { - "version": "1.8.0", - "dev": true, - "requires": { - "isarray": "0.0.1" - } - } - } - }, "node-abi": { "version": "3.28.0", "optional": true, @@ -29160,14 +27459,6 @@ "object-inspect": { "version": "1.12.3" }, - "object-is": { - "version": "1.1.5", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, "object-keys": { "version": "1.1.1", "dev": true @@ -29294,6 +27585,9 @@ "version": "0.5.0", "dev": true }, + "output-geoservices": { + "version": "file:packages/output-geoservices" + }, "p-filter": { "version": "2.1.0", "dev": true, @@ -29502,10 +27796,6 @@ "lines-and-columns": "^1.1.6" } }, - "parse-ms": { - "version": "1.0.1", - "dev": true - }, "parse-passwd": { "version": "1.0.0", "dev": true @@ -29643,14 +27933,6 @@ } } }, - "platform": { - "version": "1.3.6", - "dev": true - }, - "plur": { - "version": "1.0.0", - "dev": true - }, "prebuild-install": { "version": "7.1.1", "optional": true, @@ -29702,15 +27984,6 @@ } } }, - "pretty-ms": { - "version": "2.1.0", - "dev": true, - "requires": { - "is-finite": "^1.0.1", - "parse-ms": "^1.0.0", - "plur": "^1.0.0" - } - }, "proc-log": { "version": "3.0.0", "dev": true @@ -29777,16 +28050,7 @@ }, "proxy-from-env": { "version": "1.1.0", - "dev": true - }, - "proxyquire": { - "version": "2.1.3", - "dev": true, - "requires": { - "fill-keys": "^1.0.2", - "module-not-found-error": "^1.0.1", - "resolve": "^1.11.1" - } + "dev": true }, "pseudomap": { "version": "1.0.2", @@ -29822,13 +28086,6 @@ "version": "4.0.1", "dev": true }, - "randombytes": { - "version": "2.1.0", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, "range-parser": { "version": "1.2.1" }, @@ -29857,10 +28114,6 @@ } } }, - "re-emitter": { - "version": "1.1.3", - "dev": true - }, "react-is": { "version": "18.2.0", "dev": true @@ -30146,13 +28399,6 @@ "util-deprecate": "^1.0.1" } }, - "readdirp": { - "version": "3.6.0", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, "redent": { "version": "3.0.0", "dev": true, @@ -30181,10 +28427,6 @@ "es6-error": "^4.0.1" } }, - "repeat-string": { - "version": "1.6.1", - "dev": true - }, "require-directory": { "version": "2.1.1" }, @@ -30387,13 +28629,6 @@ } } }, - "serialize-javascript": { - "version": "6.0.0", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, "serve-static": { "version": "1.15.0", "requires": { @@ -30428,53 +28663,6 @@ "version": "3.0.0", "dev": true }, - "should": { - "version": "13.2.3", - "dev": true, - "requires": { - "should-equal": "^2.0.0", - "should-format": "^3.0.3", - "should-type": "^1.4.0", - "should-type-adaptors": "^1.0.1", - "should-util": "^1.0.0" - } - }, - "should-equal": { - "version": "2.0.0", - "dev": true, - "requires": { - "should-type": "^1.4.0" - } - }, - "should-format": { - "version": "3.0.3", - "dev": true, - "requires": { - "should-type": "^1.3.0", - "should-type-adaptors": "^1.0.1" - } - }, - "should-sinon": { - "version": "0.0.6", - "dev": true, - "requires": {} - }, - "should-type": { - "version": "1.4.0", - "dev": true - }, - "should-type-adaptors": { - "version": "1.1.0", - "dev": true, - "requires": { - "should-type": "^1.3.0", - "should-util": "^1.0.0" - } - }, - "should-util": { - "version": "1.0.1", - "dev": true - }, "side-channel": { "version": "1.0.4", "requires": { @@ -30589,35 +28777,6 @@ } } }, - "sinon": { - "version": "15.2.0", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.3.0", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.4", - "supports-color": "^7.2.0" - }, - "dependencies": { - "diff": { - "version": "5.1.0", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "sisteransi": { "version": "1.0.5", "dev": true @@ -30927,13 +29086,6 @@ "statuses": { "version": "2.0.1" }, - "stop-iteration-iterator": { - "version": "1.0.0", - "dev": true, - "requires": { - "internal-slot": "^1.0.4" - } - }, "stream-transform": { "version": "2.1.3", "dev": true, @@ -30990,15 +29142,6 @@ } } }, - "string.prototype.trim": { - "version": "1.2.7", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, "string.prototype.trimend": { "version": "1.0.5", "dev": true, @@ -31109,181 +29252,6 @@ "version": "1.0.0", "dev": true }, - "tap-out": { - "version": "2.1.0", - "dev": true, - "requires": { - "re-emitter": "1.1.3", - "readable-stream": "2.2.9", - "split": "1.0.0", - "trim": "0.0.1" - }, - "dependencies": { - "process-nextick-args": { - "version": "1.0.7", - "dev": true - }, - "readable-stream": { - "version": "2.2.9", - "dev": true, - "requires": { - "buffer-shims": "~1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~1.0.0", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "dev": true - }, - "split": { - "version": "1.0.0", - "dev": true, - "requires": { - "through": "2" - } - }, - "string_decoder": { - "version": "1.0.3", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "tap-spec": { - "version": "5.0.0", - "dev": true, - "requires": { - "chalk": "^1.0.0", - "duplexer": "^0.1.1", - "figures": "^1.4.0", - "lodash": "^4.17.10", - "pretty-ms": "^2.1.0", - "repeat-string": "^1.5.2", - "tap-out": "^2.1.0", - "through2": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "figures": { - "version": "1.7.0", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "readable-stream": { - "version": "2.3.8", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "dev": true - }, - "through2": { - "version": "2.0.5", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } - } - }, - "tape": { - "version": "5.6.6", - "dev": true, - "requires": { - "@ljharb/resumer": "^0.0.1", - "@ljharb/through": "^2.3.9", - "array.prototype.every": "^1.1.4", - "call-bind": "^1.0.2", - "deep-equal": "^2.2.2", - "defined": "^1.0.1", - "dotignore": "^0.1.2", - "for-each": "^0.3.3", - "get-package-type": "^0.1.0", - "glob": "^7.2.3", - "has": "^1.0.3", - "has-dynamic-import": "^2.0.1", - "inherits": "^2.0.4", - "is-regex": "^1.1.4", - "minimist": "^1.2.8", - "object-inspect": "^1.12.3", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "resolve": "^2.0.0-next.4", - "string.prototype.trim": "^1.2.7" - }, - "dependencies": { - "minimist": { - "version": "1.2.8", - "dev": true - }, - "resolve": { - "version": "2.0.0-next.4", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - } - } - }, "tar": { "version": "6.1.12", "dev": true, @@ -31404,10 +29372,6 @@ "tr46": { "version": "0.0.3" }, - "trim": { - "version": "0.0.1", - "dev": true - }, "trim-newlines": { "version": "3.0.1", "dev": true @@ -31773,16 +29737,6 @@ "is-symbol": "^1.0.3" } }, - "which-collection": { - "version": "1.0.1", - "dev": true, - "requires": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - } - }, "which-module": { "version": "2.0.0", "dev": true @@ -31795,18 +29749,6 @@ "path-exists": "^4.0.0" } }, - "which-typed-array": { - "version": "1.1.9", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, "wide-align": { "version": "1.1.5", "dev": true, @@ -31814,6 +29756,29 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "winnow": { + "version": "file:packages/winnow", + "requires": { + "@esri/proj-codes": "^3.1.0", + "@terraformer/arcgis": "^2.1.1", + "@terraformer/spatial": "^2.1.2", + "@turf/bbox-polygon": "^6.5.0", + "@turf/centroid": "^6.5.0", + "@types/geojson": "^7946.0.10", + "alasql": "^4.0.0", + "classybrew": "0.0.3", + "farmhash": "^3.1.0", + "joi": "^17.6.3", + "js-sql-parser": "^1.4.1", + "lodash": "^4.17.4", + "moment": "^2.29.4", + "ngeohash": "^0.6.3", + "proj4": "^2.9.0", + "simple-statistics": "^7.0.0", + "string-hash": "^1.1.3", + "wkt-parser": "^1.2.2" + } + }, "winston": { "version": "3.10.0", "requires": { @@ -31849,10 +29814,6 @@ "version": "1.0.0", "dev": true }, - "workerpool": { - "version": "6.2.1", - "dev": true - }, "wrap-ansi": { "version": "7.0.0", "requires": { @@ -32023,30 +29984,6 @@ "yargs-parser": { "version": "20.2.4" }, - "yargs-unparser": { - "version": "2.0.0", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "dev": true - }, - "decamelize": { - "version": "4.0.0", - "dev": true - }, - "is-plain-obj": { - "version": "2.1.0", - "dev": true - } - } - }, "yn": { "version": "3.1.1", "dev": true diff --git a/packages/cache-memory/.nycrc b/packages/cache-memory/.nycrc deleted file mode 100644 index fc4463304..000000000 --- a/packages/cache-memory/.nycrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "all": true, - "include": [ - "src/**/*.js" - ], - "exclude": ["**/*.spec.js"], - "includeAllSources": true -} \ No newline at end of file diff --git a/packages/cache-memory/CHANGELOG-pre-monorepo.md b/packages/cache-memory/CHANGELOG-pre-monorepo.md deleted file mode 100644 index 8fc1ef816..000000000 --- a/packages/cache-memory/CHANGELOG-pre-monorepo.md +++ /dev/null @@ -1,68 +0,0 @@ -# Change Log -All notable changes to this project will be documented in this file. -This project adheres to [Semantic Versioning](http://semver.org/). - -## Unreleased -### Changed -* migrate to Koop monorepo -* move code to `/src` directory -* co-locate unit test files -* migrate to eslint - -## [2.0.3] - 2022-09-16 -### Fixed -* retrieve method will now return `layers` if they have been cached - -## [2.0.2] - 2022-08-05 -### Fixed -* removed ?? operator so as to support older node versions - -## [2.0.1] - 2022-08-05 -### Fixed -* default options object on catalog methods - -## [2.0.0] - 2022-08-04 -### Fixed -* items in the cache no longer mutable by other post-caching manipulation - -### Changed -* Moved to class syntax and removed prototype-namespacing of catalog methods (breaking, since public methods, but not breaking for usage in koop-core) - -## [1.2.0] - 2022-06-23 -### Changed -* Fixed an issue where some geojson properties (like `crs`) were lost in the caching procedure - -## [1.1.2] - 2022-04-15 -### Changed -* Remove buble build - -## [1.1.1] - 2022-04-15 -### Changed -* Replace highland with node stream Readable -* Move to @koopjs - -## [1.1.0] - 2017-02-15 -### Added -* Upsert API - -## [1.0.2] - 2017-02-13 -### Fixed -* Remove double callback in cache insert - -## [1.0.1] - 2017-02-13 -### Changed -* Build NPM package without src or test - -## [1.0.0] - 2017-02-13 -* Initial Release - -[2.0.2]: https://github.com/koopjs/koop-cache-memory/releases/tag/v2.0.2 -[2.0.1]: https://github.com/koopjs/koop-cache-memory/releases/tag/v2.0.1 -[2.0.0]: https://github.com/koopjs/koop-cache-memory/releases/tag/v2.0.0 -[1.2.0]: https://github.com/koopjs/koop-cache-memory/releases/tag/v1.2.0 -[1.1.2]: https://github.com/koopjs/koop-cache-memory/releases/tag/v1.1.2 -[1.1.1]: https://github.com/koopjs/koop-cache-memory/releases/tag/v1.1.1 -[1.1.0]: https://github.com/koopjs/koop-cache-memory/releases/tag/v1.1.0 -[1.0.2]: https://github.com/koopjs/koop-cache-memory/releases/tag/v1.0.2 -[1.0.1]: https://github.com/koopjs/koop-cache-memory/releases/tag/v1.0.1 -[1.0.0]: https://github.com/koopjs/koop-cache-memory/releases/tag/v1.0.0 diff --git a/packages/cache-memory/CHANGELOG.md b/packages/cache-memory/CHANGELOG.md deleted file mode 100644 index b6897ebb3..000000000 --- a/packages/cache-memory/CHANGELOG.md +++ /dev/null @@ -1,34 +0,0 @@ -# @koopjs/cache-memory - -## 5.0.0 - -### Major Changes - -- removed methods not used by Koop (all catalog methods, update, upsert, append, stream); these methods complicated code without adding any functionality to Koop itself; the reduced set of methods (insert, retrieve, delete) are easier to implement and maintain, and we can reduce the cache spec to solely these methods which will make it easier to develop other cache pluging - -## 4.0.1 - -### Patch Changes - -- update cache expire time when updating the cache - -## 4.0.0 - -### Major Changes - -- drop support for Node 12 - -## 3.0.1 - -### Patch Changes - -- Patch bumping for a clean release - -## 3.0.0 - -### Major Changes - -- migrate to Koop monorepo -- move code to `/src` directory -- co-locate unit test files -- migrate to eslint diff --git a/packages/cache-memory/README.md b/packages/cache-memory/README.md deleted file mode 100644 index 8ea37e935..000000000 --- a/packages/cache-memory/README.md +++ /dev/null @@ -1,87 +0,0 @@ -# Koop Memory Cache -[![npm version][npm-img]][npm-url] -![coverage](./coverage.svg) - -This is a LRU cache with ttl (time to live) expiry. It expects cache items to be GeoJSON feature collections. It is based on [quick-lru](https://github.com/sindresorhus/quick-lru). - -Cache eviction occurs in two ways: -1. if the cache grows to a number of items greater than the cache's defined size, the least recently inserted or accessed item is evicted -2. if a item is accessed and it has gone past its ttl period, it is evicted -## Usage - -### Stand-alone instantiation: - -```js -const Cache = require('@koopjs/cache-memory'); -const cache = new Cache({ size: 1000 }); -``` - -### As a Koop cache plugin -This is the default cache for [Koop](https://github.com/koopjs/koop) so you won't need to instantiate it yourself. If you really wanted to, it would look like this: - -```js -const Koop = require('koop') -const koop = new Koop() -const cache = require('@koopjs/cache-memory') -koop.register(cache, { size: 1000 }) -``` -#### Options -`size`: the maximum number of items to store in the queue before evicting the least recently used item. - -## Cache API -The cache is a JavaScript object that lives in-memory. It is used to store geojson features. - -### `insert` -Insert geojson into the cache. - - -```js -const geojson = { - type: 'FeatureCollection', - features: [], - metadata: { - name: 'Example GeoJSON', - description: 'This is geojson that will be stored in the cache' - } -} - -const options = { - ttl: 1000 // The TTL option is measured in seconds, it will be used to set the `maxAge` property in the LRU cache -} - -cache.insert('key', geojson, options, err => { - // This function will call back with an error if one occurs -}) -``` - -### `retrieve` -Retrieve a cached feature collection. - -```js -const options = { - pick: [] // an array of keys used to return a subset of the feature collections root level properties - omit -} - -cache.retrieve('key', options, (err, geojson) => { - /* This function will callback with an error or the data cached with the passed key. It will return undefined if not found or expired. - { - type: 'FeatureCollection', - features: [], - metadata: {} - } - */ -}) -``` - -### `delete` -Remove a feature collection from the cache - -```js -cache.delete('key', err => { - // This function will call back with an error if one occurs -}) -``` - -[npm-img]: https://img.shields.io/npm/v/@koopjs/cache-memory.svg?style=flat-square -[npm-url]: https://www.npmjs.com/package/@koopjs/cache-memory \ No newline at end of file diff --git a/packages/cache-memory/coverage.svg b/packages/cache-memory/coverage.svg deleted file mode 100644 index 4354a36ca..000000000 --- a/packages/cache-memory/coverage.svg +++ /dev/null @@ -1,20 +0,0 @@ - - coverage: 100% - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/cache-memory/package.json b/packages/cache-memory/package.json index 34011fd42..f922259c5 100644 --- a/packages/cache-memory/package.json +++ b/packages/cache-memory/package.json @@ -1,46 +1,12 @@ { - "name": "@koopjs/cache-memory", + "name": "cache-memory", "version": "5.0.0", - "description": "An in-memory cache for KOop", "main": "src/index.js", "scripts": { - "test": "tape src/**/*.spec.js | tap-spec", - "test:cov": "nyc -r=json-summary tape './src/**/*.spec.js' | tap-spec && npm run cov:badge", - "cov:badge": "coverage-badges-cli --output ./coverage.svg" + "clean": "shx rm -rf ../../customdata/framework/cache-memory && shx rm package-lock.json", + "build": "shx mkdir ../../customdata/framework/cache-memory && shx cp package.json ../../customdata/framework/cache-memory && shx cp -r ./src ../../customdata/framework/cache-memory && shx cp -r ./node_modules ../../customdata/framework/cache-memory" }, - "repository": { - "type": "git", - "url": "git+https://github.com/koopjs/koop.git" - }, - "keywords": [ - "koop", - "cache", - "memory" - ], - "contributors": [ - { - "name": "Rich Gwozdz", - "email": "rgwozdz@esri.com" - }, - { - "name": "Daniel Fenton" - } - ], "license": "Apache-2.0", - "files": [ - "src/**/*.js", - "index.d.ts", - "!**/*.spec.js" - ], - "bugs": { - "url": "https://github.com/koopjs/koop/issues" - }, - "homepage": "https://github.com/koopjs/koop#readme", - "devDependencies": { - "tap-spec": "^5.0.0", - "tape": "^5.6.6", - "uuid": "^9.0.0" - }, "dependencies": { "@alloc/quick-lru": "^5.2.0", "lodash": "^4.17.21" diff --git a/packages/cache-memory/src/index.spec.js b/packages/cache-memory/src/index.spec.js deleted file mode 100644 index a4a174c28..000000000 --- a/packages/cache-memory/src/index.spec.js +++ /dev/null @@ -1,170 +0,0 @@ -const test = require('tape'); -const { v4: uuidv4 } = require('uuid'); -const { promisify } = require('util'); -const delay = promisify(setTimeout); -const Cache = require('../src'); -const cache = new Cache(); -const insert = promisify(cache.insert).bind(cache); -const retrieve = promisify(cache.retrieve).bind(cache); -const deleteMethod = promisify(cache.delete).bind(cache); - -test('Inserting and retreiving from the cache', async (t) => { - const geojson = getFeatureCollection(); - const key = uuidv4(); - await insert(key, geojson, { ttl: 600 }); - try { - const cached = await retrieve(key, {}); - t.equal(cached.features[0].properties.fooz, 'ball', 'retrieved features'); - t.equal(cached.crs.type, 'name', 'retrieved coordinate reference system'); - t.equal(cached.metadata.name, 'Test', 'retrieved metadata'); - } catch (error) { - t.fail(error.message); - } - t.end(); -}); - -test('cache should expire entries, return undefined', async (t) => { - const geojson = getFeatureCollection(); - const key = uuidv4(); - await insert(key, geojson, { ttl: 1 }); - await delay(1500); - const cached = await retrieve(key, {}); - t.equals(cached, undefined); - t.end(); -}); - -test('Inserting and retreiving from the cache', async (t) => { - const geojson = getFeatureCollection(); - const key = uuidv4(); - await insert(key, geojson, { ttl: 600 }); - const cached = await retrieve(key, {}); - t.equal(cached.features[0].properties.fooz, 'ball', 'retrieved features'); - t.equal(cached.crs.type, 'name', 'retrieved coordinate reference system'); - t.equal(cached.metadata.name, 'Test', 'retrieved metadata'); - t.end(); -}); - -test('retrieve partial entry with pick option', async (t) => { - const geojson = getFeatureCollection(); - const key = uuidv4(); - await insert(key, geojson, { ttl: 600 }); - const cached = await retrieve(key, { pick: ['features'] }); - t.deepEqual(Object.keys(cached), ['features'], 'retrieved only features'); - t.end(); -}); - -test('retrieve partial entry with omit option', async (t) => { - const geojson = getFeatureCollection(); - const key = uuidv4(); - await insert(key, geojson, { ttl: 600 }); - const cached = await retrieve(key, { omit: ['features'] }); - t.deepEqual( - Object.keys(cached), - ['type', 'crs', 'metadata'], - 'retrieved everything but features', - ); - t.end(); -}); - -test('Inserting and deleting from the cache', async (t) => { - const geojson = getFeatureCollection(); - const key = uuidv4(); - await insert(key, geojson, {}); - await deleteMethod(key); - const cached = await retrieve(key, {}); - t.equals(cached, undefined); - t.end(); -}); - -test('Inserting object with additional properties', async (t) => { - const key = uuidv4(); - const serverInfo = { - layers: [getFeatureCollection()], - crs: 'crs-info', - metadata: { - name: 'Test', - description: 'Test', - }, - }; - await insert(key, serverInfo, { ttl: 600 }); - const cached = await retrieve(key, {}); - t.ok(cached.layers, 'has layers'); - t.ok(cached.layers[0].type === 'FeatureCollection', 'has layers property'); - t.equal(cached.metadata.name, 'Test', 'retrieved metadata'); - t.end(); -}); - -test('Caching a feature array as feature collection', async (t) => { - const key = uuidv4(); - const { features } = getFeatureCollection(); - await insert(key, features, { ttl: 600 }); - const cached = await retrieve(key, {}); - t.deepEquals(cached.features, features,); - t.equal(cached.type, 'FeatureCollection'); - t.deepEquals(cached.metadata, {}); - t.end(); -}); - -test('Caching an empty object as feature collection', async (t) => { - const key = uuidv4(); - await insert(key, {}, { ttl: 600 }); - const cached = await retrieve(key, {}); - t.equal(cached.type, 'FeatureCollection'); - t.deepEquals(cached.features, []); - t.end(); -}); - -test('Caching a null object as feature collection', async (t) => { - const key = uuidv4(); - await insert(key, null, { ttl: 600 }); - const cached = await retrieve(key, {}); - t.equal(cached.type, 'FeatureCollection'); - t.end(); -}); - -test('Caching a undefined as feature collection', async (t) => { - const key = uuidv4(); - await insert(key, undefined, { ttl: 600 }); - const cached = await retrieve(key, {}); - t.equal(cached.type, 'FeatureCollection'); - t.deepEquals(cached.features, []); - t.end(); -}); - -test('Post-insert edits to geojson should not mutate cache', async (t) => { - const geojson = getFeatureCollection(); - await insert('key', geojson, { ttl: 600 }); - geojson.features[0].properties.key = 'fooz'; - const cached = await retrieve('key', {}); - t.equal(cached.features[0].properties.fooz, 'ball', 'retrieved features'); - t.equal(cached.crs.type, 'name', 'retrieved coordinate reference system'); - t.equal(cached.metadata.name, 'Test', 'retrieved metadata'); - t.end(); -}); - -function getFeatureCollection() { - return { - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { - type: 'EPSG:4326', - }, - }, - metadata: { - name: 'Test', - description: 'Test', - }, - features: [ - { - type: 'Feature', - properties: { - fooz: 'ball', - }, - geometry: { - foo: 'bar', - }, - }, - ], - }; -} diff --git a/packages/core/.nycrc b/packages/core/.nycrc deleted file mode 100644 index fc4463304..000000000 --- a/packages/core/.nycrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "all": true, - "include": [ - "src/**/*.js" - ], - "exclude": ["**/*.spec.js"], - "includeAllSources": true -} \ No newline at end of file diff --git a/packages/core/CHANGELOG-pre-monorepo.md b/packages/core/CHANGELOG-pre-monorepo.md deleted file mode 100644 index a932a9727..000000000 --- a/packages/core/CHANGELOG-pre-monorepo.md +++ /dev/null @@ -1,1155 +0,0 @@ -# Change Log -All notable changes to this project will be documented in this file. -This project adheres to [Semantic Versioning](http://semver.org/). - -## Unreleased -### Changed -* Removed default `datasets` plugin -* Removed default inclusion of LocalFS - 10-13-2022 -* scope repo to koop organization -* migrate to Koop monorepo -* move code to `/src` directory -* co-locate unit test files -* migrate to eslint - -## [5.1.0] - 2022-09-30 -### Added -* Ability to override CORS settings - -## [5.0.0] - 2022-08-05 -### Changed -* Pull in updated cache-memory plugin -* Remove support for Node 10 -* prefer req.query.token over req.body.token - -## [4.2.4] - 2022-06-14 -### Changed -* Bump output-geoservices - -## [4.2.3] - 2022-05-03 -### Changed -* Bump output-geoservices - -## [4.2.2] - 2022-04-16 -### Changed -* Update cache-plugin - -## [4.2.1] - 2021-10-01 -### Fixed -* improper use of `after` in pullStream - -## [4.2.0] - 2021-06-19 -### Added -* Support for NodeJS streams as a data interchange format between provider and output plugins ([#141](https://github.com/koopjs/koop-core/issues/141)) -### Fixed -* Inconsistent cache key when a `createKey` function is provided ([#136](https://github.com/koopjs/koop-core/issues/136)) - -## [4.1.1] - 2021-02-18 -### Changed -* Bump output-geoservices for feature-server fix - -## [4.1.0] - 2020-12-14 -### Changed -* Bump output-geoservices for more CRS support - -## [4.0.5] - 2020-11-17 -### Changed -* Bump output-geoservices - -## [4.0.3] - 2020-10-19 -### Changed -* Bump output-geoservices - -## [4.0.2] - 2020-10-19 -### Changed -* Point output-geoservices to @koopjs - -## [4.0.1] - 2020-08-18 -### Fixed -* Typo in route joiner logic - -## [4.0.0] - 2020-06-30 -### Changed -* End support for Node < 6; remove Babel compilation to `/dist` directory and point package.json directly to non-compiled source files -* Moved datasets provider to its own directory and leverage the registration function -* Moved provider options validation to ProviderRegistration -* Refactored provider _status_ info -* Refactored provider registration, output registration, and controller treatment. - -### Fixed -* path construction when no host or id parameter - -## [3.19.1] - 2020-06-29 -### Fixed -* Dist directory build - -## [3.19.0] - 2020-06-29 -### Added -* Option to disable console logging of routes; use environment variable `KOOP_DISABLE_CONSOLE_ROUTES=true` - -## [3.18.0] - 2020-03-31 -### Added -* Option to allow output routes to be registered before provider routes; if true any conflicts will default to output routes - -## [3.17.3] - 2020-03-26 -### Fixed -* Prevent overwriting cache and option assignments that occur in provider model constructors - -## [3.17.2] - 2020-03-26 -### Added -* New functions to support fetching metadata for data catalog and layer -### Changed -* Update dependencies -* Update Travis CI config -* Enhance development experience by using pre-commit linting -* Make route method definitions case insensitive, i.e., `get`, `GET` or `Get` all ok -* Refactored model extension - -## [3.17.1] - 2020-02-05 -### Fixed -* Provider name option gets used for plugin routes - -## [3.17.0] - 2020-01-14 -### Added -* Add options object to instantiated model -* Add cache option validiation -* Add `before` and `after` transformation functions to provider registration options -* Add `name` to provider registration options and preferentially use as provider name in routes - -## [3.16.0] - 2019-12-17 -### Added -* lock files - -### Fixed -* Support `True` and `False` as boolean values for query parameters - -## [3.15.0] - 2019-12-05 -### Added -* added `pluginName` property to plugin registration object, which takes precedence over `plugin_name`. - -### Fixed -* when determining the plugin name, `plugin_name` takes precedence over `Plugin.name`. - -## [3.14.0] - 2019-11-25 -### Fixed -* provider routes bound *before* other plugin routes - -## [3.13.0] - 2019-07-09 -### Added -* appending layer id to cache key provides unique keys for each layer in a provider - -## [3.12.2] - 2019-06-05 -### Fixed -* output-plugins routes must be bound *before* provider routes - -## [3.12.1] - 2019-06-04 -### Changed -* preferentially use the `config` argument for `this.config` during instantiation - -## [3.12.0] - 2019-05-24 -### Added -* response compression unless explicitly disabled with config's `disableCompression` property - -## [3.11.1] - 2019-05-22 -### Changed -* console logging of provider/output routes - -## [3.11.0] - 2019-03-29 -### Added -* pass in options object when registering a cache provider - -## [3.10.1] - 2018-11-01 -### Fixed -* Use path.posix.join instead of path.join - -## [3.10.0] - 2018-10-08 -### Added -* Option to add route prefix per provider - -## [3.9.4] - 2018-09-13 -### Fixed -* Throw error on plugin name undefined, not defined - -## [3.9.3] - 2018-09-05 -### Changed -** Bump koop-output-geoservices version to 2.0.0 -** Bump standard to 12.0.0 and apply style fixes - -## [3.9.2] - 2018-08-06 -### Fixed -* Bad npm publish - -## [3.9.1] - 2018-08-06 -### Fixed -* Routes where `hosts: true` and `disableIdParam: true` now being constructed correctly as `/:host/FeatureServer/:layer/:method` - -## [3.9.0] - 2018-07-20 -### Added -* Prefentially use a `createKey` function found on the Model's prototype - -## Fixed -* Apply standard.js to source and test files -* Make style adjustments to pass standard.js - -## [3.8.0] - 2018-06-19 -### Added -* Parse query params that arrive as JSON strings -* Coerce query params that arrive as boolean strings - -## [3.7.3] - 2018-06-08 -### Fixed -* Explicit bump of koop-output-geoservices version - -## [3.7.2] - 2018-06-08 -### Fixed -* Auth plugin registration now adds `authenticationSpecification` to Model prototype - -## [3.7.1] - 2018-06-01 -### Fixed -* Explicitly bump koop-output-geoservices to 1.5.1 - -## [3.7.0] - 2018-05-22 -## Added -* Added registration of authentication plugin type - -## [3.6.1] - 2018-05-09 -### Fixed -* Routes with a $namespace placeholder require a $providerParams placeholder to also receive the `:host/:id` URL fragment. - -## [3.6.0] - 2018-04-25 -### Added -* helper module and function to create route paths with decoration based on passed options -* Option to insert the provider-specifc route fragments into the route path (rather then simple prefixing), by replacing occurence of '$namespace$' and '$providerParams$' substring - -## [3.5.5] - 2018-04-11 -### Fixed -* replace truthy operator -* migrate logger to @koopjs/logger v2.0.2 - -## [3.5.4] - 2018-03-23 -### Fixed -* missed `npm build` step - -## [3.5.3] - 2018-03-23 -### Added -* Trim leading/trailing whitespace on request's query params if of type string - -### Fixed -* multiple provider installation - -## [3.5.2] - 2017-08-14 -### Fixed -* multiple output installation - -## [3.5.1] - 2017-03-16 -### Fixed -* Correct regex error on Windows - -## [3.5.0] - 2017-03-03 -### Added -* Any registered Output Plugin can access the cache directly. - -### Fixed -* Removed reference to koop-featureserver-plugin - -## [3.4.0] - 2017-03-03 -### Added -* Providers can leverage the cache implicitly - -### Changed -* Base Model inherits from Provider Model - -## [3.3.0] - 2017-03-02 -### Added -* Dataset model `upsert` - -### Changed -* `PUT` to cache uses upsert - -## [3.2.0] - 2017-02-14 -### Added -* Option for Provider not to use an ID parameter - -## [3.1.1] - 2017-02-13 -### Fixed -* Allow providers without routes to be registered - -## [3.1.0] - 2017-02-13 -### Added -* CRD API for datasets in cache at `/datasets/:id` -* CRD API for metadata in cache at `/datasets/:id/metadata` -* FeatureServer API for datasets in cache at `/datasets/:id/FeatureServer` - -## [3.0.0] - 2017-02-13 -### Added -* First stable release of Koop 3.0 - -### Changed -* Remove Koop Local Cache in favor of [koop-cache-memory](https://github.com/koopjs/koop-cache-memory) - -## [3.0.0-alpha.29] - 2017-02-02 -### Fixed -* Maintain context in provider controllers - -## [3.0.0-alpha.28] - 2017-01-31 -### Changed -* Use Koop-Localfs instead of default filesystem -* Expose provider controllers under `koop.controllers` to facilitate testing - -## [3.0.0-alpha.27] - 2017-01-31 -### Added -* New plugin type `Output` extends BaseController - -### Changed -* Koop exposes an express server at `koop.server` -* Overhauled provider construction -* Removed `lib/featureservices` in favor of [Featureserver](https://github.com/featureserver/featureserver) -* Removed internal Query code in favor of [Winnow](https://github.com/dmfenton/winnow) -* Removed `pattern` parameter on prioviders - -## [3.0.0-alpha.26] - 2016-04-27 -### Changed -* Removed `lib/GeoJSON` -* Removed geojson tests -* `lib/Local` select, getCount, getInfo, updateInfo return 'Resource not found' on errors - -## [3.0.0-alpha.25] - 2016-04-14 -### Fixed -* Filesystem is initialized properly - -## [3.0.0-alpha.24] - 2016-04-13 -### Added -* New plugin type `filesystem` with overwrite `koop.fs` -* Koop.fs defaults to node's built-in filesystem API - -### Changed -* Renamed `koop.files` to `koop.fs` -* Removed `lib/files` -* Removed references to plugins that refer to `koop.files` - -## [3.0.0-alpha.23] - 2016-04-12 -### Changed -* Sanitize jsonp callback in processFeatureServer - -## [3.0.0-alpha.22] - 2016-04-04 -### Fixed -* Remove duplicate json templates - -## [3.0.0-alpha.21] - 2016-04-04 -### Fixed -* Fixed a case where S3 write streams could be prematurely closed when files are less than 5 MB - -## [3.0.0-alpha.20] - 2016-04-04 -### Changed -* Added default/configurable endpoint for S3 filesystem - -## [3.0.0-alpha.19] - 2016-04-01 -### Fixed -* params are optional in s3 read/write streams - -## [3.0.0-alpha.18] - 2016-04-01 -### Added -* S3 Uploads support adding metadata - -## [3.0.0-alpha.17] - 2016-03-29 -### Fixed -* Dont throw an exception when feature service response has no features - -## [3.0.0-alpha.16] - 2016-03-15 -### Changed -* Rebuild - -## [3.0.0-alpha.15] - 2016-03-15 -### Changed -* Don't emit error on S3 abort -* Increase max post size to 10mb -* Removed node-fs dependency - -### Fixed -* Emit finish event on local writeStream - -## [3.0.0-alpha.14] - 2016-03-14 -### Fixed -* Fix abort on S3 - -## [3.0.0-alpha.13] - 2016-03-10 -### Added -* Short circuit to avoid filtering with processFeatureServer - -### Changed -* Remove for logic from processTemplate for multiple layers - -## [3.0.0-alpha.12] - 2016-03-09 -### Changed -* Refactor processFeatureServer chain to only take a single geojson layer and fewer parameters -* Refactor lib/FeatureServices for speed and clarity - -### Fixed -* Call abort on the correct upload object when writing files to S3 - -## [3.0.0-alpha.11] - 2016-03-02 -### Added -* Can now call `abort` on files.createWriteStream to delete partial file - -## [3.0.0-alpha.10] - 2016-02-22 -### Fixed -* Rebuild - -## [3.0.0-alpha.9] - 2016-02-22 -### Fixed -* Field type declared as string only for ISO -* Query parameters 'false' and 'true' work as expected in feature service requests - -## [3.0.0-alpha.8] - 2016-02-10 -### Fixed -* Sanitize geometry to null when malformed - -## [3.0.0-alpha.7] - 2016-02-08 -### Fixed -* Fix CVD decoding when value is not in the domain - -## [3.0.0-alpha.6] - 2016-02-02 -### Fixed -* Compile process run correctly - -## [3.0.0-alpha.5] - 2016-02-02 -### Fixed -* Rebuild - -## [3.0.0-alpha.4] - 2016-02-01 -### Changed -* Use ArcGIS To GeoJSON utils - -## [3.0.0-alpha.3] - 2016-01-26 -### Fixed -* Include templates in build - -## [3.0.0-alpha.2] - 2016-01-25 -### Changed -* Use `gunzip-maybe` for s3 read streams - -## [3.0.0-alpha.1] - 2016-01-19 -### Fixed -* Add files missing from build - -## [3.0.0-alpha] - 2016-01-07 -### Changed -* Koop will now be written in ES > 5 and compile with babel -* New plugin system -* Extract Logger, Queue and Exporter into seperate packages -* Remove timers from koop.Cache - -## [2.12.3] - 2016-04-12 -### Changed -* Sanitize jsonp callback - -## [2.12.2] - 2016-04-06 -### Fixed -* Don't create esriFieldTypeDate unless the value is an ISO String - -## [2.12.1] - 2015-12-29 -### Fixed -* Layer defaults to 0 when not specified when selecting features - -## [2.12.0] - 2015-12-29 -### Added -* New methods `files.createReadStream` & `files.createWriteStream` read/write from local disk or S3 -* New methood `cache.createStream` creates a stream that emits 1 feature at a time from the cache - -## [2.11.0] - 2015-12-03 -### Added -* Support for adding indexes to a feature table - -## [2.10.5] - 2015-11-19 -### Fixed -* Return when calling back with an error in `local/getInfo` - -## [2.10.4] - 2015-11-18 -### Changed -* Increase logging of errors in export worker - -## [2.10.3] - 2015-11-10 -### Fixed -* Remove 3 causes of unhandled exceptions in lib/geojson - -## [2.10.2] - 2015-11-10 -### Fixed -* Clean up file on local disk after single page export - -## [2.10.1] - 2015-11-06 -### Fixed -* Better wkt for SRID 5514 - -## [2.10.0] - 2015-11-06 -### Added -* Support for copying files from one folder to another on the local filesystem or S3 -* Log error when uploading or copying to S3 fails - -### Changed -* Handle saving exported files to S3 outside of the job process, so they can happen concurrently -* Export workers take on new jobs as soon as they have finished OGR -* Using the S3 managed uploader -> multipart uploads with built-in retrying -* Retry upload to S3 one time if it fails -* Copy exported files to latest path instead of uploading -* Removed unnecessary test files - -## [2.9.5] - 2015-11-05 -### Changed -* Set supportsOrderBy on feature service to false. The implementation is flawed - -### Fixed -* Error messages are saved correctly when export jobs fail -* Hard-code correct WKT for SRID 5514 - -## [2.9.4] - 2015-11-04 -### Fixed -* Job progress is always set to 100% on completion -* Removed cause of unhandled exception when deleting files from S3 - -## [2.9.3] - 2015-11-02 -### Fixed -* Null date fields are no longer set to 1970 -* Projections changes are added to OGR call - -## [2.9.2] - 2015-10-14 -### Changed -* Roll back change made to support geoservices. Koop-pgcache is not ready to handle sorting on its own. - -## [2.9.1] - 2015-10-14 -### Fixed -* Progress is reported correctly for single page export jobs - -## [2.9.0] - 2015-10-12 -### Changed -* Resources are no longer set to `processing` when export jobs are running. -* Resources have progress reported on specific option keys -* Export generation locks are set only on specific option keys instead of the entire resource -* New class handles export job creation -* Broke ExportWorker into multiple subjobs -* Queue creation logic is moved out of the index -* The ExportWorker only updates the DB if the job failed -* All ExportWorker errors are saved to the resource info doc. - -### Fixed -* Typo no longer prevents s3 filesystem from initializing - -## [2.8.6] - 2015-10-01 -### Fixed -* LocalDB `select` method now works properly if `options.layer` is omitted or included in key string - -### Removed -* removed `processing` status from LocalDB - -## [2.8.5] - 2015-09-24 -### Fixed -* catch omission of `new` keyword for `koop.Files` -* Gracefully handle malformed esri geoms in geojson conversion -* Revert Windows command line escaping, it was done improperly -* Always tranform datum for NAD83 exports -* No longer setting a display field that doesnt exist (or any display field at all) - -## [2.8.4] - 2015-09-24 -### Fixed -* Fix path to json part 0 - -## [2.8.3] - 2015-09-23 -### Removed -* Got rid of gulp and its dependencies (no longer in use) - -### Fixed -* Export Workers send geojson to callOgr so it can properly infer feature type - -## [2.8.2] - 2015-09-21 -### Changed -* Travis tests against stable Node - -### Fixed -* Set geometry type on export when there is no srid -* Never overwrrite existing X or Y fields in CSV -* CSV is now written with geometry fields even if first geometry is null -* No longer throwing an execption on datasets with no geometry at all - -## [2.8.1] - 2015-09-18 -### Fixed -* Better test and support for null geometry in exports - -## [2.8.0] - 2015-09-18 -### Fixed -* Don't include vrt files in shapefile zips -* OGR2OGR calls with projections use double quotes for Windows compatibility -* Shapefiles are no longer written with null geometry when the first feature's geometry is null - -### Changed -* Refactored projection support to use [spatialreference](http://github.com/koopjs/spatialreference) -* Refactored export logic for csv and shapefiles into separate functions - -## [2.7.2] - 2015-09-16 -### Fixed -* Fix regression in overwriting 2927 WKT string - -## [2.7.1] - 2015-09-10 -### Changed -* refactored `lib/FeatureServices` & `lib/Query` (no more `this`) -* added jsdoc to some lib files (BaseModel, FeatureServices, Query, GeoJSON, Logger) -* does sorting in the DB where available - -## [2.7.0] - 2015-09-02 -### Changed -* `lib/Files` now takes `options` instead of `koop` (only needed koop.config and koop.log) -* cleaned up `app.register` method logic - * `app.register` can now register caches and plugins if `type` is specified correctly - * delegates to `app.registerProvider`, `app.registerCache`, `app.registerPlugin` - * throws error on bad provider or cache registration -* using `koop.log` in index instead of `console.log` -* reorganized index for readability & code organization -* consolidated koop, lib, app ([#237](https://github.com/koopjs/koop/issues/237)) -* logging version and mountpath when express middleware is mounted -* broke out `lib/SpatialReference` into [format-spatial-ref](https://github.com/koopjs/format-spatial-ref) -* 64% speedup in converting esri json to geojson ([#242](https://github.com/koopjs/koop/pull/242)) - -### Added -* `app.registerProvider` method for providers -* `ejs` is now a dependency ([#234](https://github.com/koopjs/koop/pull/234)) - -## [2.6.2] - 2015-08-20 -### Changed -* Make export worker concurrency configurable and default to 1 - -## [2.6.1] - 2015-08-19 -### Added -* `plugin` method for accessing plugins via BaseModel ([#226](https://github.com/koopjs/koop/pull/226)) - -### Fixed -* Reuse json stored locally on geojson requests -* Removed unused TopoJSON artifacts - -## [2.6.0] - 2015-07-30 -### Fixed -* Parsing the logpath in `lib/Logger` needed to use slice instead of splice -* Try to use latest WKID or WKID, whichever is available in esri-proj-codes - -### Added -* Tests for new method `lib/Exporter.js:createIdFilter` - -### Changed -* refactored preview to incorporate breaking changes in esri-leaflet 1.0.0 -* switched to using L.Icon.Default -* refactored the idFilter logic into a shared method in Exporter `createIdFilter` -* logic for returning files was calling the callback with an error and causes a double response on export requests - -### Removed -* Leaflet image files - -## [2.5.3] - 2015-07-29 -### Fixed -* Fixed module export bug in preview (koopMap) script - -### Added -* Created `RELEASE.md` for release guidelines - -## [2.5.2] - 2015-07-28 -### Added -* Using [JavaScript Standard Style](https://github.com/feross/standard) - -### Fixed -* Refactored library modules to catch uncaught errors and return early -* Updated and improve tests - -### Removed -* Deleted errant `pm2.json` file in `lib` -* Removed unused TopoJSON support lib -* Removed slashes from shapefile format in `lib/Exporter.js` - -### Changed -* Moved repository from https://github.com/Esri/koop to https://github.com/koopjs/koop - -## [2.5.1] - 2015-07-16 -### Fixed -* Removed a reference to the file tmp names that still existed in the export workers - -## [2.5.0] - 2015-07-16 -### Fixed -* Shapefile downloads for datasets greater than 1000 features and less than 5000 are now fixed - -### Changed -* Refactored the way exported files get saved to disk locally. All files for a cache key get created under the same directory. - -## [2.4.2] - 2015-07-15 -### Fixed -* Support for timers in the local cache is now working as expected - -### Added -* Tests for local cache timer logic - -## [2.4.1] - 2015-07-14 -### Fixed -* Bug when not supplying an outSR the wkid value was still trying to be accessed - -## [2.4.0] - 2015-07-13 -### Changed -* Made metadata files on shp file exports have a "shp.xml" extension -* Using outSR in place of a URLs wkid to reproject data - -### Added -* A centralized spatial reference parsing class that is exposed in `lib/BaseModel.js` and used in `lib/Exporter.js` -* Adds support for options.wkid, options.wkt, or options.outSR in lib/Exporter.js - -## [2.3.0] - 2015-07-02 -### Added -* If a provider passes in a metadata value to the Exporter then it will be used to create a metadata xml file for only shp exports. -* Added a `exportFile` method to BaseModel that providers a more simple interface to exporting methods. The goal will be to ultimately change the way `exportLarge` and `exportToFormat` are called by providers. - -## [2.2.1] - 2015-06-29 -### Fixed -* Cleaned up the zip command in lib/Exporter.js -* fixed removeShapefile to actually clean up after itself on zip/shp creation - -## [2.2.0] - 2015-06-24 -### Added -* Providers can optionally pass in an `overrides` property to the `processFeatureService` method on controllers. This allows a provider to manually override any templated values in the Feature Service response like names, descriptions, etc. -* Tests for overriding properties -* Tests passing in counts to FeatureServices when `returnCountOnly` is true -* Added wrapper methods on the `lib/Cache.js` for missing cache methods -* Added jsdocs to methods in `lib/Cache.js` - -### Changed -* Providers can now optionally pass in an extent that FeatureServices will use instead of looping over features -* If no config is passed in one will get created as an empty object. This protects koop from crashing with no config (#186). -* Shapefile parts are deleted after being added to zip - -### Fixed -* Zip exports no longer contain shapefile parts that do not belong -* Ensuring that date fields are correctly cast as dates in FeatureServices - -## [2.1.12] - 2015-06-12 -### Changed -* Fixed typo bug with checking for expired caches when timers are set. s/checkthis/checkCache/g -* Better logic around outSR when requesting 102100 as projected output -* checking for codedValues on field.domains in the lib/GeoJSON - fixes a bug with numeric domains -* All query model tests are running and passing - -### Fixed -* Correctly replacing LCC to address an ogr2ogr proj bug - -### Added -* A project roadmap for laying out upcoming versions and work we want to do in those versions - -## [2.1.11] - 2015-06-04 -### Changed -* Local cache get info now returns error if info does not exist - -## [2.1.10] - 2015-06-02 -### Changed -* adding an object id to the list of fields when its missing for CSV data -* Files from S3 now get a the HEAD request data back when checking if files exist - -## [2.1.9] - 2015-05-21 -### Changed -* Sending any stored header/field lists to the featureserver code to support ordered fields coming from CSVs data. -* More logic around not exporting X/Y values when data attributes contain an x and y prop. - -## [2.1.8] - 2015-05-19 -### Removed -* A misleading error log on start up that was left in the index.js - -## [2.1.7] - 2015-05-18 -### Changed -* Multiple file transports for debug and error level logging -* A different log formatter for better inclusion into fluentd -* Bug fix for feature service objectID fields names - -## [2.1.6] - 2015-05-13 -### Changed -* Forcing CSV column headers to be trimmed for leading/trailing whitespace on parse -* Fixed support for returnGeometry=false -* Not setting the id attribute if OBJECTID is already present -* Fixed support for orderByFields on featureservice requests for both ASC and DESC sort orders - -## [2.1.5] - 2015-04-30 -### Added -* method for getting geohash grids if the installed cache supports it -* saveFile method in lib/BaseModel to give providers that ability to save file centrally - -### Changed -* Fixed registration of services in the lib/Local.js cache - -## [2.1.4] - 2015-04-28 -### Changed -* fixed an issue with export shapefiles from datasets with exactly 5k features -* fixed table detection for non-geom datasets -* CSV exports will not include X/Y if the data have an x & y property - -### Addded -* support for a NAD83 to WGS84 datum shift for UTM datasets - -## [2.1.3] - 2015-04-21 -### Changed -* applying a datum xform for proj codes 2927. We may need to apply this across all State Plane HARN based projections in the future. - -## [2.1.2] - 2015-04-20 -### Changed -* fixed an off by one issue in the new export paging strategy. This cropped in testing datasets with exactlye 5000 feature missing one feature. Basically we paged starting at `id === 0` instead of `id === 1`. -* using new body-parser methods to parse post bodies for app/json and app/form-urlencoded post bodies - -## [2.1.1] - 2015-04-14 -### Changed -* sending -update to ogr2ogr to support large file exports -* fixed the idFilter clause for normal, non-worker exports -* using the dataset hash key for VRT files to fix a bug with exports -* fixed an issue with large files filtered to less 5k ending in stuck datasets - -### Added -* added a few jsdocs to the index, the goal is go through all public methods and do this - -## [2.1.0] - 2015-04-09 -### Added -* a new route `/export-workers` to inspect the current backlog of export workers if configured to run in worker mode -* added an idFilter to exports to improve query efficiency over limit/offsets - -### Changed -* Wrapping export worker in node.js domains to protect against stuck worker jobs. Running inside a domain allows the workers to trap every/any uncaught error and return the job as failed. -* Adding the moveLargeShapefile method in order to support correct shapefile part naming differences between large data and small data exports. -* Using Lambert_Conformal_Conic_2SP instead of 1SP to correct projection errors using 1SP. - - -## [2.0.4] - 2015-04-06 -### Changed -* Sanitizing export file names to protect again quotes in input params to ogr2ogr -* Better protection against missing proj codes in the esri-proj-code lookup - -## [2.0.3] - 2015-04-03 -### Changed -* Forcing export shapefiles with Lambert_Conformal_Conic proj strings to use Lambert_Conformal_Conic_1SP. For more info see: http://trac.osgeo.org/gdal/ticket/2072 - -## [2.0.2] - 2015-04-02 -### Changed -* Small data exports in worker mode now use the regular exportToFormat workflow in Exporter.js - -## [2.0.1] - 2015-04-01 -### Changed -* Forcing status processing on progress reporting from export worker jobs -* Wrapping projection WKT in single quotes for calls to ogr2ogr - -## [2.0.0] - 2015-03-31 -### Changed -* Replaced logic in `lib/Extent.js` with [esri-extent](https://github.com/ngoldman/esri-extent) ([#130](https://github.com/Esri/koop/issues/130)). -* Exporter does not include json partials in exported zipfiles - -### Added -* custom projections are supported with WKT from feature services -* [esri-proj-codes](https://github.com/Esri/esri-proj-codes) is added to support Esri projection code lookups and pass WKT projection strings -* Added support for coded domain values in exports from services that pass such domains in fields property. Exports from koop will use the coded values (strings) in place of domain codes. - -### Removed -* tile support is no longer included by default, please use [koop-tile-plugin](https://github.com/koopjs/koop-tile-plugin) if needed - -## [1.1.2] - 2015-03-25 [DEPRECATED] - -**This version has been deprecated due to a breaking change introduced in `v1.1.0`.** - -### Added -* If a provider passes a WKID to the Exporter methods the data will be projected into that ESPG/WKID - -### Changed -* First pass at a refactored Exporter. Still needs to be revisited but more code is now shared across the `exportToFormat` and `exportLarge` methods. Anything that can be shared is now shared, but the logic in the `exportLarge` method needs another pass. - -## [1.1.1] - 2015-03-19 [DEPRECATED] - -**This version has been deprecated due to a breaking change introduced in `v1.1.0`.** - -### Added -* Log files will now rotate automatically - -### Changed -* BaseModel will remove unneeded json data from geojson when passing to the tile plugin - -## [1.1.0] - 2015-03-17 [DEPRECATED] - -**Deprecated due to a breaking change: removed tiles/mapnik support** - -Please use [koop-tile-plugin](https://github.com/koopjs/koop-tile-plugin) if you need tile support. - -### Changed -* No more mapnik dependency by default. Instead all tile logic has been moved to the [koop-tile-plugin](https://github.com/koopjs/koop-tile-plugin) module. -* Also better checks for the tile plugin in the BaseModel - -## [1.0.19] - 2015-03-04 -### Changed -* We are now using the latest [node-mapnik](https://github.com/mapnik/node-mapnik) version, which should help with installs on Windows. - -## [1.0.18] - 2015-03-02 -### Added -- support for `koop-pgcache` to export workers - -## [1.0.17] - 2015-03-02 -### Changed -- Koop no longer ships with default support for PostGIS or SpatiaLite. These have become optional plugins. - - this means they need to be added the koop module at server start up time - - koop now ships with a `Local` cache out of the box that is not persisted across server sessions - -## [1.0.16] - 2015-02-13 -### Fixed -- Added missing `connect-multiparty` module to `package.json` - -## [1.0.15] - 2015-02-12 -### Added -- Added support for multipart form posts - -### Changed -- Fixed the way feature service requests handle query strings to the info endpoints - -## [1.0.14] - 2015-02-10 -### Changed -- default routes needed to add support for POSTs to feature service endpoints -- worker exporters needed to exit more gracefully and stop working when a file fails to be created -- a typo in `GeoJSON.fromEsri` was crashing request pages in `koop-agol` - -## [1.0.13] - 2015-02-02 -### Changed -- changed the way tiles are created, rather than creating a file on disk, now we just pass the mapnik XML around -- using `ST_Simplify` instead of `ST_SimplifyPreserveTopology` for speed - -## [1.0.12] - 2015-01-29 -### Added -- Now sending expiration time with base JSON response (helps with cache life) - -### Changed -- Set default tile style to points - -## [1.0.11] - 2015-01-27 -### Changed -- Fixed support for bad `outStatistics` params in the URL - -## [1.0.10] - 2015-01-26 -### Changed -- using mapnik-pool for all tiles now -- refactored tiles for better vector tile buffer/edge support in the mapnik -- PBF tiles are now deflated via zlib, which makes them smaller - - providers need to set the header `content-encoding: deflate` - -## [1.0.9] - 2015-01-21 -### Changed -- splitting objectIds for feature service queries - - must be a string, not an array now (as per the geoservices rest spec) - -## [1.0.8] - 2015-01-21 -### Changed -- fixed an issue with object id fields in feature service queries for Ids with filters - - when using returnIdsOnly the objectID was not getting set, which return false rows. - -## [1.0.7] - 2015-01-20 -### Changed -- lib/Tiles.js now passes along an optional name param to the tile generator. Vector tile use this name to store features. -- fixed the tests, they are passing but jshint is not. -- changed the way the lib/BaseController.js sends back its statuses. - -## [1.0.6] - 2015-01-16 -### Added -- a flag to the lib/Exporter.js class that will lock export jobs to prevent duplicate jobs stepping on each other in the queue. - - This means that one job per dataset can be enqueued at a time. - - Down the road this may cause problems for when we want to pre-cache several formats for the same dataset at the same time. That bridge will be crossed at that time. - -## [1.0.5] - 2015-01-15 -### Added -- a flag to the lib/PostGIS.js cache too ignore the selection limit unless a provider wants to use it. - - since this feature is used by only a couple providers it seemed better to make it an opt-in option for the few, rather than an opt-out option across every provider. - -## [1.0.4] - 2015-01-15 -### Added -- adding an ability to override koop's data limit of 2k. - -## [1.0.3] - 2015-01-13 -### Changed -- Fixed a bug in the ExportWorker where shps were being created as a directory with an extension .shp; this fixes some formatting errors that were related. - -## [1.0.2] - 2015-01-13 -### Changed -- Koop exports now force OGR to create shp file dirs instead of files; This adds more consistency so the code can maintain a single way for creating zip exports -- The query support for outStatistics now removes any passed in slashes so it stops choking on parsing semi-bad inputs -- The large data limit was moved from 10k features to 2k. This helps koop when its deployed with workers in that more work is handed down to the workers, which is good. - - -## [1.0.1] - 2015-01-08 -### Added -- For providers where hosts are used the info in the cache now stores the ID of the host for that datasets -- New providers endpoints for accessing metadata about installed providers and all data in the cache per provider -- CSV files now get a BOM to help with parsing utf-8 chars in Excel -- Updated the docs in the readme to be a tad bit cleaner - -## [1.0.0] - 2014-12-30 -Koop is now just a node module that exposes an express middleware app with hooks to register koop providers. This pattern represents a cleaner way to structure using koop with a series of other modules and makes deploying to places like Heroku and AWS much easier. - -### Added -- Version 1.0.0 changes many thing - - koop is now a module, installable via `npm install` - - koop-server is no more; all central code is in the koop project - - to use Koop you must use it as middleware in an app that boots up an http server - -[5.1.0]: https://github.com/koopjs/koop-core/compare/v5.0.0...v5.1.0 -[5.0.0]: https://github.com/koopjs/koop-core/compare/v4.2.4...v5.0.0 -[4.2.4]: https://github.com/koopjs/koop-core/compare/v4.2.3...v4.2.4 -[4.2.3]: https://github.com/koopjs/koop-core/compare/v4.2.2...v4.2.3 -[4.2.2]: https://github.com/koopjs/koop-core/compare/v4.2.1...v4.2.2 -[4.2.1]: https://github.com/koopjs/koop-core/compare/v4.2.0...v4.2.1 -[4.2.0]: https://github.com/koopjs/koop-core/compare/v4.1.1...v4.2.0 -[4.1.1]: https://github.com/koopjs/koop-core/compare/v4.1.0...v4.1.1 -[4.1.0]: https://github.com/koopjs/koop-core/compare/v4.0.5...v4.1.0 -[4.0.5]: https://github.com/koopjs/koop-core/compare/v4.0.4...v4.0.5 -[4.0.4]: https://github.com/koopjs/koop-core/compare/v4.0.3...v4.0.4 -[4.0.3]: https://github.com/koopjs/koop-core/compare/v4.0.2...v4.0.3 -[4.0.2]: https://github.com/koopjs/koop-core/compare/v4.0.1...v4.0.2 -[4.0.1]: https://github.com/koopjs/koop-core/compare/v4.0.0...v4.0.1 -[4.0.0]: https://github.com/koopjs/koop-core/compare/v3.19.1...v4.0.0 -[3.19.1]: https://github.com/koopjs/koop-core/compare/v3.19.0...v3.19.1 -[3.19.0]: https://github.com/koopjs/koop-core/compare/v3.18.0...v3.19.0 -[3.18.0]: https://github.com/koopjs/koop-core/compare/v3.17.3...v3.18.0 -[3.17.3]: https://github.com/koopjs/koop-core/compare/v3.17.2...v3.17.3 -[3.17.2]: https://github.com/koopjs/koop-core/compare/v3.17.1...v3.17.2 -[3.17.1]: https://github.com/koopjs/koop-core/compare/v3.17.0...v3.17.1 -[3.17.0]: https://github.com/koopjs/koop-core/compare/v3.16.0...v3.17.0 -[3.16.0]: https://github.com/koopjs/koop-core/compare/v3.15.0...v3.16.0 -[3.15.0]: https://github.com/koopjs/koop-core/compare/v3.14.0...v3.15.0 -[3.14.0]: https://github.com/koopjs/koop-core/compare/v3.13.0...v3.14.0 -[3.13.0]: https://github.com/koopjs/koop-core/compare/v3.12.2...v3.13.0 -[3.12.2]: https://github.com/koopjs/koop-core/compare/v3.12.1...v3.12.2 -[3.12.1]: https://github.com/koopjs/koop-core/compare/v3.12.0...v3.12.1 -[3.12.0]: https://github.com/koopjs/koop-core/compare/v3.11.1...v3.12.0 -[3.11.1]: https://github.com/koopjs/koop-core/compare/v3.11.0...v3.11.1 -[3.11.0]: https://github.com/koopjs/koop-core/compare/v3.10.1...v3.11.0 -[3.10.1]: https://github.com/koopjs/koop-core/compare/v3.10.0...v3.10.1 -[3.10.0]: https://github.com/koopjs/koop-core/compare/v3.9.4...v3.10.0 -[3.9.4]: https://github.com/koopjs/koop-core/compare/v3.9.3...v3.9.4 -[3.9.3]: https://github.com/koopjs/koop-core/compare/v3.9.2...v3.9.3 -[3.9.2]: https://github.com/koopjs/koop-core/compare/v3.9.1...v3.9.2 -[3.9.1]: https://github.com/koopjs/koop-core/compare/v3.9.0...v3.9.1 -[3.9.0]: https://github.com/koopjs/koop-core/compare/v3.8.0...v3.9.0 -[3.8.0]: https://github.com/koopjs/koop-core/compare/v3.7.3...v3.8.0 -[3.7.3]: https://github.com/koopjs/koop-core/compare/v3.7.2...v3.7.3 -[3.7.2]: https://github.com/koopjs/koop-core/compare/v3.7.1...v3.7.2 -[3.7.1]: https://github.com/koopjs/koop-core/compare/v3.7.0...v3.7.1 -[3.7.0]: https://github.com/koopjs/koop-core/compare/v3.6.1...v3.7.0 -[3.6.1]: https://github.com/koopjs/koop-core/compare/v3.6.0...v3.6.1 -[3.6.0]: https://github.com/koopjs/koop-core/compare/v3.5.5...v3.6.0 -[3.5.5]: https://github.com/koopjs/koop-core/compare/v3.5.4...v3.5.5 -[3.5.4]: https://github.com/koopjs/koop-core/compare/v3.5.3...v3.5.4 -[3.5.3]: https://github.com/koopjs/koop-core/compare/v3.5.2...v3.5.3 -[3.5.2]: https://github.com/koopjs/koop-core/compare/v3.5.1...v3.5.2 -[3.5.1]: https://github.com/koopjs/koop-core/compare/v3.5.0...v3.5.1 -[3.5.0]: https://github.com/koopjs/koop-core/compare/v3.5.0...v3.4.0 -[3.4.0]: https://github.com/koopjs/koop-core/compare/v3.3.0...v3.4.0 -[3.3.0]: https://github.com/koopjs/koop-core/compare/v3.3.0...v3.2.0 -[3.2.0]: https://github.com/koopjs/koop-core/compare/v3.1.1...v3.2.0 -[3.1.1]: https://github.com/koopjs/koop-core/compare/v3.1.0...v3.1.1 -[3.1.0]: https://github.com/koopjs/koop-core/compare/v3.0.0...v3.1.0 -[3.0.0]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.28...v3.0.0 -[3.0.0-alpha.29]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.28...v3.0.0-alpha.29 -[3.0.0-alpha.28]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.27...v3.0.0-alpha.28 -[3.0.0-alpha.27]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.26...v3.0.0-alpha.27 -[3.0.0-alpha.26]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.25...v3.0.0-alpha.26 -[3.0.0-alpha.25]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.24...v3.0.0-alpha.25 -[3.0.0-alpha.24]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.23...v3.0.0-alpha.24 -[3.0.0-alpha.23]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.22...v3.0.0-alpha.23 -[3.0.0-alpha.22]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.21...v3.0.0-alpha.22 -[3.0.0-alpha.21]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.20...v3.0.0-alpha.21 -[3.0.0-alpha.20]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.19...v3.0.0-alpha.20 -[3.0.0-alpha.19]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.18...v3.0.0-alpha.19 -[3.0.0-alpha.18]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.17...v3.0.0-alpha.18 -[3.0.0-alpha.17]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.16...v3.0.0-alpha.17 -[3.0.0-alpha.16]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.15...v3.0.0-alpha.16 -[3.0.0-alpha.15]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.14...v3.0.0-alpha.15 -[3.0.0-alpha.14]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.13...v3.0.0-alpha.14 -[3.0.0-alpha.13]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.12...v3.0.0-alpha.13 -[3.0.0-alpha.12]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.11...v3.0.0-alpha.12 -[3.0.0-alpha.11]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.10...v3.0.0-alpha.11 -[3.0.0-alpha.10]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.9...v3.0.0-alpha.10 -[3.0.0-alpha.9]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.8...v3.0.0-alpha.9 -[3.0.0-alpha.8]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.7...v3.0.0-alpha.8 -[3.0.0-alpha.7]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.6...v3.0.0-alpha.7 -[3.0.0-alpha.6]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.5...v3.0.0-alpha.6 -[3.0.0-alpha.5]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.4...v3.0.0-alpha.5 -[3.0.0-alpha.4]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.3...v3.0.0-alpha.4 -[3.0.0-alpha.3]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.2...v3.0.0-alpha.3 -[3.0.0-alpha.2]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha.1...v3.0.0-alpha.2 -[3.0.0-alpha.1]: https://github.com/koopjs/koop-core/compare/v3.0.0-alpha...v3.0.0-alpha.1 -[3.0.0-alpha]: https://github.com/koopjs/koop-core/compare/v2.12.0...v3.0.0-alpha -[2.12.3]: https://github.com/koopjs/koop-core/compare/v2.12.2...v2.12.3 -[2.12.2]: https://github.com/koopjs/koop-core/compare/v2.12.1...v2.12.2 -[2.12.1]: https://github.com/koopjs/koop-core/compare/v2.12.0...v2.12.1 -[2.12.0]: https://github.com/koopjs/koop-core/compare/v2.11.0...v2.12.0 -[2.11.0]: https://github.com/koopjs/koop-core/compare/v2.10.5...v2.11.0 -[2.10.5]: https://github.com/koopjs/koop-core/compare/v2.10.4...v2.10.5 -[2.10.4]: https://github.com/koopjs/koop-core/compare/v2.10.3...v2.10.4 -[2.10.3]: https://github.com/koopjs/koop-core/compare/v2.10.2...v2.10.3 -[2.10.2]: https://github.com/koopjs/koop-core/compare/v2.10.1...v2.10.2 -[2.10.1]: https://github.com/koopjs/koop-core/compare/v2.10.0...v2.10.1 -[2.10.0]: https://github.com/koopjs/koop-core/compare/v2.9.5...v2.10.0 -[2.9.5]: https://github.com/koopjs/koop-core/compare/v2.9.4...v2.9.5 -[2.9.4]: https://github.com/koopjs/koop-core/compare/v2.9.3...v2.9.4 -[2.9.3]: https://github.com/koopjs/koop-core/compare/v2.9.2...v2.9.3 -[2.9.2]: https://github.com/koopjs/koop-core/compare/v2.9.1...v2.9.2 -[2.9.1]: https://github.com/koopjs/koop-core/compare/v2.9.0...v2.9.1 -[2.9.0]: https://github.com/koopjs/koop-core/compare/v2.8.6...v2.9.0 -[2.8.6]: https://github.com/koopjs/koop-core/compare/v2.8.5...v2.8.6 -[2.8.5]: https://github.com/koopjs/koop-core/compare/v2.8.4...v2.8.5 -[2.8.4]: https://github.com/koopjs/koop-core/compare/v2.8.3...v2.8.4 -[2.8.3]: https://github.com/koopjs/koop-core/compare/v2.8.2...v2.8.3 -[2.8.2]: https://github.com/koopjs/koop-core/compare/v2.8.1...v2.8.2 -[2.8.1]: https://github.com/koopjs/koop-core/compare/v2.7.2...v2.8.1 -[2.8.0]: https://github.com/koopjs/koop-core/compare/v2.7.2...v2.8.0 -[2.7.2]: https://github.com/koopjs/koop-core/compare/v2.7.1...v2.7.2 -[2.7.1]: https://github.com/koopjs/koop-core/compare/v2.7.0...v2.7.1 -[2.7.0]: https://github.com/koopjs/koop-core/compare/v2.6.2...v2.7.0 -[2.6.2]: https://github.com/koopjs/koop-core/compare/v2.6.1...v2.6.2 -[2.6.1]: https://github.com/koopjs/koop-core/compare/v2.6.0...v2.6.1 -[2.6.0]: https://github.com/koopjs/koop-core/compare/v2.5.3...v2.6.0 -[2.5.3]: https://github.com/koopjs/koop-core/compare/v2.5.2...v2.5.3 -[2.5.2]: https://github.com/koopjs/koop-core/compare/v2.5.1...v2.5.2 -[2.5.1]: https://github.com/koopjs/koop-core/compare/v2.5.0...v2.5.1 -[2.5.0]: https://github.com/koopjs/koop-core/compare/v2.4.2...v2.5.0 -[2.4.2]: https://github.com/koopjs/koop-core/compare/v2.4.1...v2.4.2 -[2.4.1]: https://github.com/koopjs/koop-core/compare/v2.4.0...v2.4.1 -[2.4.0]: https://github.com/koopjs/koop-core/compare/v2.3.0...v2.4.0 -[2.3.0]: https://github.com/koopjs/koop-core/compare/v2.2.1...v2.3.0 -[2.2.1]: https://github.com/koopjs/koop-core/compare/v2.2.0...v2.2.1 -[2.2.0]: https://github.com/koopjs/koop-core/compare/v2.1.12...v2.2.0 -[2.1.12]: https://github.com/koopjs/koop-core/compare/v2.1.11...v2.1.12 -[2.1.11]: https://github.com/koopjs/koop-core/compare/v2.1.10...v2.1.11 -[2.1.10]: https://github.com/koopjs/koop-core/compare/v2.1.9...v2.1.10 -[2.1.9]: https://github.com/koopjs/koop-core/compare/v2.1.8...v2.1.9 -[2.1.8]: https://github.com/koopjs/koop-core/compare/v2.1.7...v2.1.8 -[2.1.7]: https://github.com/koopjs/koop-core/compare/v2.1.6...v2.1.7 -[2.1.6]: https://github.com/koopjs/koop-core/compare/v2.1.5...v2.1.6 -[2.1.5]: https://github.com/koopjs/koop-core/compare/v2.1.4...v2.1.5 -[2.1.4]: https://github.com/koopjs/koop-core/compare/v2.1.3...v2.1.4 -[2.1.3]: https://github.com/koopjs/koop-core/compare/v2.1.2...v2.1.3 -[2.1.2]: https://github.com/koopjs/koop-core/compare/v2.1.1...v2.1.2 -[2.1.1]: https://github.com/koopjs/koop-core/compare/v2.1.0...v2.1.1 -[2.1.0]: https://github.com/koopjs/koop-core/compare/v2.0.4...v2.1.0 -[2.0.4]: https://github.com/koopjs/koop-core/compare/v2.0.3...v2.0.4 -[2.0.3]: https://github.com/koopjs/koop-core/compare/v2.0.2...v2.0.3 -[2.0.2]: https://github.com/koopjs/koop-core/compare/v2.0.1...v2.0.2 -[2.0.1]: https://github.com/koopjs/koop-core/compare/v2.0.0...v2.0.1 -[2.0.0]: https://github.com/koopjs/koop-core/compare/v1.1.2...v2.0.0 -[1.1.2]: https://github.com/koopjs/koop-core/compare/v1.1.1...v1.1.2 -[1.1.1]: https://github.com/koopjs/koop-core/compare/v1.1.0...v1.1.1 -[1.1.0]: https://github.com/koopjs/koop-core/compare/v1.0.19...v1.1.0 -[1.0.19]: https://github.com/koopjs/koop-core/compare/v1.0.18...v1.0.19 -[1.0.18]: https://github.com/koopjs/koop-core/compare/v1.0.17...v1.0.18 -[1.0.17]: https://github.com/koopjs/koop-core/compare/v1.0.16...v1.0.17 -[1.0.16]: https://github.com/koopjs/koop-core/compare/v1.0.15...v1.0.16 -[1.0.15]: https://github.com/koopjs/koop-core/compare/v1.0.14...v1.0.15 -[1.0.14]: https://github.com/koopjs/koop-core/compare/v1.0.13...v1.0.14 -[1.0.13]: https://github.com/koopjs/koop-core/compare/v1.0.12...v1.0.13 -[1.0.12]: https://github.com/koopjs/koop-core/compare/v1.0.11...v1.0.12 -[1.0.11]: https://github.com/koopjs/koop-core/compare/v1.0.10...v1.0.11 -[1.0.10]: https://github.com/koopjs/koop-core/compare/v1.0.9...v1.0.10 -[1.0.9]: https://github.com/koopjs/koop-core/compare/v1.0.8...v1.0.9 -[1.0.8]: https://github.com/koopjs/koop-core/compare/v1.0.7...v1.0.8 -[1.0.7]: https://github.com/koopjs/koop-core/compare/v1.0.6...v1.0.7 -[1.0.6]: https://github.com/koopjs/koop-core/compare/v1.0.5...v1.0.6 -[1.0.5]: https://github.com/koopjs/koop-core/compare/v1.0.4...v1.0.5 -[1.0.4]: https://github.com/koopjs/koop-core/compare/v1.0.3...v1.0.4 -[1.0.3]: https://github.com/koopjs/koop-core/compare/v1.0.2...v1.0.3 -[1.0.2]: https://github.com/koopjs/koop-core/compare/v1.0.1...v1.0.2 -[1.0.1]: https://github.com/koopjs/koop-core/compare/v1.0.0...v1.0.1 -[1.0.0]: https://github.com/koopjs/koop-core/releases/tag/v1.0.0 diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md deleted file mode 100644 index 4483d46ac..000000000 --- a/packages/core/CHANGELOG.md +++ /dev/null @@ -1,235 +0,0 @@ -# @koopjs/koop-core - -## 9.2.1 - -### Patch Changes - -- @koopjs/output-geoservices@7.1.1 - -## 9.2.0 - -### Minor Changes - -- allow FeatureServer server and layer metadata to be overriden with `geoservicesDefaults` option in the output's constructor - -### Patch Changes - -- Updated dependencies [8f67c70] - - @koopjs/output-geoservices@7.1.0 - -## 9.1.1 - -### Patch Changes - -- refactor provider registration - -## 9.1.0 - -### Minor Changes - -- make 'cache', 'before', and 'after' private model props -- add `cacheSize` option -- add `cacheTtl` option for provider registration - -## 9.0.0 - -### Major Changes - -- changed default memory cache; this should really only be used internally, but it is exposed as a public property in registered providers. Ff providers were directly using this cache and any of the removed methods, errors will occur. Such providers should stop using Koop's internal cache implement their own in the provider code - -### Patch Changes - -- Updated dependencies [e24092c] - - @koopjs/cache-memory@5.0.0 - -## 8.0.11 - -### Patch Changes - -- Updated dependencies [34d8317] - - @koopjs/output-geoservices@7.0.0 - -## 8.0.10 - -### Patch Changes - -- @koopjs/output-geoservices@6.0.8 - -## 8.0.9 - -### Patch Changes - -- @koopjs/output-geoservices@6.0.7 - -## 8.0.8 - -### Patch Changes - -- @koopjs/output-geoservices@6.0.6 - -## 8.0.7 - -### Patch Changes - -- @koopjs/output-geoservices@6.0.5 - -## 8.0.6 - -### Patch Changes - -- @koopjs/output-geoservices@6.0.4 - -## 8.0.5 - -### Patch Changes - -- @koopjs/output-geoservices@6.0.3 - -## 8.0.4 - -### Patch Changes - -- Updated dependencies [1e8df8d] - - @koopjs/cache-memory@4.0.1 - -## 8.0.3 - -### Patch Changes - -- use new \_cache metadata property when available - -## 8.0.2 - -### Patch Changes - -- @koopjs/output-geoservices@6.0.2 - -## 8.0.1 - -### Patch Changes - -- @koopjs/output-geoservices@6.0.1 - -## 8.0.0 - -### Major Changes - -- drop support for Node 12 - -### Patch Changes - -- Updated dependencies [98fe5ca] - - @koopjs/cache-memory@4.0.0 - - @koopjs/logger@5.0.0 - - @koopjs/output-geoservices@6.0.0 - -## 7.1.2 - -### Patch Changes - -- Updated dependencies [6e2ce57] - - @koopjs/logger@4.1.1 - - @koopjs/output-geoservices@5.2.5 - -## 7.1.1 - -### Patch Changes - -- Updated dependencies [b8f21bd] - - @koopjs/logger@4.1.0 - - @koopjs/output-geoservices@5.2.4 - -## 7.1.0 - -### Minor Changes - -- support explicit options argument in provider Model constructor - -## 7.0.2 - -### Patch Changes - -- @koopjs/output-geoservices@5.2.3 - -## 7.0.1 - -### Patch Changes - -- @koopjs/output-geoservices@5.2.2 - -## 7.0.0 - -### Major Changes - -- BREAKING CHANGE: remove query param coercion (empty string to undefined, "true"/"false" to bool, stringified JSON to JSON) - this should be handled in output plugins or in Koop instance -- BREAKING CHANGE: remove merging of query and body parameters - this should be handled in output plugins or in Koop instance - -### Patch Changes - -- @koopjs/output-geoservices@5.2.1 - -## 6.1.2 - -### Patch Changes - -- fix reference to geoservices package - -## 6.1.1 - -### Patch Changes - -- Updated dependencies [c1b0bce] - - @koopjs/output-geoservices@5.2.0 - -## 6.1.0 - -### Minor Changes - -- allow use of custom logger when passed in as part of configuration object - -### Patch Changes - -- Updated dependencies [2d8106f] -- Updated dependencies [2d8106f] - - @koopjs/logger@4.0.0 - - @koopjs/output-geoservices@5.1.0 - -## 6.0.2 - -### Patch Changes - -- Updated dependencies [9fe3053] - - @koopjs/output-geoservices@5.0.0 - -## 6.0.1 - -### Patch Changes - -- Patch bumping for a clean release -- Updated dependencies [c7decc5] -- Updated dependencies [c7decc5] -- Updated dependencies [c7decc5] - - @koopjs/cache-memory@3.0.1 - - @koopjs/logger@3.0.1 - - @koopjs/output-geoservices@4.0.1 - -## 6.0.0 - -### Major Changes - -- Removed default `datasets` plugin -- Removed default inclusion of LocalFS - 10-13-2022 -- scope repo to koop organization -- migrate to Koop monorepo -- move code to `/src` directory -- co-locate unit test files -- migrate to eslint - -### Patch Changes - -- Updated dependencies [0c8944e4] -- Updated dependencies [0c8944e4] -- Updated dependencies [0c8944e4] - - @koopjs/logger@3.0.0 - - @koopjs/output-geoservices@4.0.0 - - @koopjs/cache-memory@3.0.0 diff --git a/packages/core/README.md b/packages/core/README.md deleted file mode 100644 index 690e19df6..000000000 --- a/packages/core/README.md +++ /dev/null @@ -1,154 +0,0 @@ -# Koop -[![npm version][npm-img]][npm-url] -![coverage](./coverage.svg) - -> Transform, query, & download geospatial data on the web. See [koopjs.github.io](https://koopjs.github.io) for details. - -This is the core dependency for setting up a Koop instance. By default it includes the Output-Geoservices plugin and an in-memory data cache. - -## Install -```bash -# Install Koop npm and save to package.json -npm install --save @koopjs/koop-core -``` - -## Usage - -The Koop [usage docs](https://koopjs.github.io/docs/usage/koop-core) and [quick start](https://koopjs.github.io/docs/basics/quickstart) provide usage information, but we'll give a quick overview here. - -```js -// require koop-core -const Koop = require('@koopjs/koop-core') - -// create a Koop instance -const koop = new Koop(options) - -/* Register Koop data providers */ -const provider = require('@koopjs/provider-github') -koop.register(provider) - - -// Start listening on port 8080 -koop.server.listen(8080, () => console.log(`Koop listening on port 8080!`)) -``` - -Every Koop instance includes the Geoservice output-plugin by default, so after startup noted above, you would have the following routes ready to receive requests: -[GET, POST] /github/rest/info -[GET, POST] /github/rest/services/:id/FeatureServer/:layer/:method -[GET, POST] /github/rest/services/:id/FeatureServer/layers -[GET, POST] /github/rest/services/:id/FeatureServer/:layer -[GET, POST] /github/rest/services/:id/FeatureServer - -### Options -You can pass an `options` object when instantiating a Koop instance. - -```js -// create a Koop instance -const koop = new Koop(options) -``` - -#### disableCors -Koop enables CORS by default. If you do not want CORS enabled, you can disable it by adding a `disableCors` boolean to your Koop config file: - -```js -const options = { - disableCors: true -} -``` - -#### disableCompression -Koop adds Express compression by default. If you do not want Express compression (e.g., perhaps you are using Nginx for compression), you can disable it by adding a `disableCompression` boolean to your Koop config file: - -```js -const options = { - disableCompression: true -} -``` - -#### logger -Koop includes a Winston logger with a console transport by default. If you have a custom logger that you want to use, you can pass it as an option: - -```js - -const logger = require('my-logger') -const options = { - logger -} -``` - -#### logLevel -The default Koop logger uses a log-level of `info`. If you want to change the log level, you can pass any of the standard Winston log-level values as an option: - -```js -const options = { - logLevel: 'debug' -} -``` - -#### cacheSize -The maximum number of items to store in the default memorey-cache. Defaults to 500: - -```js -const options = { - cacheSize: 1000 -} -``` - -#### geoservicesDefaults -Koop registers the Geoservices output plugin (FeatureServer) by default. This plugin takes its own options including those to set server and layer metadata (e.g., FeatureServer version, copyrightText, maxRecordCount, etc). These are useful for overriding defaults set in the FeatureServer codebase. You can have Koop set these options at start-up by passing the `geoservicesDefaults` option. It should be a JSON object with the specification described in the [FeatureServer documentation](packages/featureserver#featureserver.setdefaults). - -### Registering Providers -When registering a provider you can pass an options object that provides some useful functionality: - -```js -const Koop = require('@koopjs/koop-core') -const koop = new Koop() - -const providerOptions = { - name: 'special-name', - cacheTtl: 600, - before: (req, callback) => { - req.query.myHardCodedParam = 'foo'; - callback(); - } - after: (req, geojson, callback) => { - geojson.crs = 'my coordinate system'; - callback(null, geojson); - } -} - -/* Register Koop data providers with options */ -const provider = require('@koopjs/provider-github') -koop.register(provider, providerOptions) -``` - -#### Provider registration options -##### name -Use this param to override the name of the provider. If you supply a value for `name` it will be used in the path for routes registered to this provider. - -##### cacheTtl -Use this param to set the default caching time (in seconds) for any data acquired by this provider. It can be overridden on a request-by-request basis by adding a `ttl` property to the root level of the geojson produced by the provider. - -##### before -Supply a function that is executed _before_ a provider's `getData` method and has access to the Express request object. This is useful is you want to modify incoming request params before they arrive in a providers `getData` method. - -##### after -Supply a function that is executed _after_ a provider's `getData` method and has access to the Express request object. This is useful is you want to modify the GeoJSON produce by the provider before it is passed on to the cache or any output plugin. It's a way of modifying a provider's getData functionality without having to modify the code of the provider itself. - -## Issues - -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/koopjs/koop/issues). - -## Contributing - -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/Esri/contributing). - -## License - -[Apache 2.0](LICENSE) - - - - -[npm-img]: https://img.shields.io/npm/v/@koopjs/koop-core.svg?style=flat-square -[npm-url]: https://www.npmjs.com/package/@koopjs/koop-core \ No newline at end of file diff --git a/packages/core/coverage.svg b/packages/core/coverage.svg deleted file mode 100644 index df5fb6bbe..000000000 --- a/packages/core/coverage.svg +++ /dev/null @@ -1,20 +0,0 @@ - - coverage: 95.2% - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/core/package.json b/packages/core/package.json index 534626972..7aa1df378 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,27 +1,7 @@ { - "name": "@koopjs/koop-core", - "description": "Serve, transform, and query geospatial data on the web", + "name": "core", "version": "9.2.1", - "contributors": [ - { - "name": "Rich Gwozdz", - "email": "rgwozdz@esri.com" - }, - { - "name": "Haoliang Yu", - "email": "hyu@esri.com" - }, - { - "name": "Daniel Fenton" - }, - { - "name": "Chris Helm" - } - ], "dependencies": { - "@koopjs/cache-memory": "5.0.0", - "@koopjs/logger": "5.0.0", - "@koopjs/output-geoservices": "7.1.1", "@sindresorhus/fnv1a": "^2.0.1", "body-parser": "^1.19.0", "compression": "^1.7.4", @@ -33,42 +13,10 @@ "joi": "^17.6.3", "lodash": "^4.17.15" }, - "devDependencies": { - "mocha": "^10.0.0", - "proxyquire": "^2.1.3", - "should": "^13.2.3", - "should-sinon": "0.0.6", - "sinon": "^15.0.0", - "supertest": "^6.3.1" - }, - "files": [ - "src/**/*.js", - "index.d.ts", - "!**/*.spec.js" - ], - "bugs": { - "url": "https://github.com/koopjs/koop/issues" - }, - "homepage": "https://github.com/koopjs/koop#readme", - "keywords": [ - "etl", - "feature", - "featureService", - "geojson", - "geospatial", - "koop", - "service", - "spatial" - ], "license": "Apache-2.0", "main": "src/index.js", - "repository": { - "type": "git", - "url": "git://github.com/koopjs/koop.git" - }, "scripts": { - "test": "mocha '**/*.spec.js' ", - "test:cov": "nyc -r=json-summary mocha '**/*.spec.js' && npm run cov:badge", - "cov:badge": "coverage-badges-cli --output ./coverage.svg" + "clean": "shx rm -rf ../../customdata/framework/core && shx rm package-lock.json", + "build": "shx mkdir ../../customdata/framework/core && shx cp package.json ../../customdata/framework/core && shx cp -r ./src ../../customdata/framework/core && shx cp -r ./node_modules ../../customdata/framework/core" } } diff --git a/packages/core/src/data-provider/extend-controller.spec.js b/packages/core/src/data-provider/extend-controller.spec.js deleted file mode 100644 index c37eed2cb..000000000 --- a/packages/core/src/data-provider/extend-controller.spec.js +++ /dev/null @@ -1,47 +0,0 @@ -const should = require('should') // eslint-disable-line - -const extendController = require('./extend-controller'); - -describe('Tests for create-controller', function () { - it('should extend a controller authored with function syntax', () => { - const OutputController = function OutputController () { - this.foo = 'bar'; - }; - OutputController.routes = ['route-test']; - const mockModel = 'model-test'; - const extendedController = extendController(mockModel, OutputController); - extendedController.should.have.property('model', 'model-test'); - extendedController.should.have.property('foo', 'bar'); - extendedController.should.have.property('routes').deepEqual(['route-test']); - extendedController.should.have.property('namespace', 'OutputController'); - }); - - it('should extend a controller authored with class syntax', () => { - class OutputController { - constructor () { - this.foo = 'bar'; - } - } - OutputController.routes = ['route-test']; - const mockModel = 'model-test'; - const extendedController = extendController(mockModel, OutputController); - extendedController.should.have.property('model', 'model-test'); - extendedController.should.have.property('foo', 'bar'); - extendedController.should.have.property('routes').deepEqual(['route-test']); - extendedController.should.have.property('namespace', 'OutputController'); - }); - - it('should produce a controller when no base controller is provided', () => { - const mockModel = 'model-test'; - const extendedController = extendController(mockModel); - extendedController.should.have.property('model', 'model-test'); - extendedController.should.have.property('routes').deepEqual([]); - extendedController.should.have.property('namespace', 'DefaultController'); - }); - - it('should use a default namespace when unnamed constructor functions are used', () => { - const mockModel = 'model-test'; - const extendedController = extendController(mockModel, function () {}); - extendedController.should.have.property('namespace', 'UndefinedControllerNamespace'); - }); -}); diff --git a/packages/core/src/data-provider/extend-model.spec.js b/packages/core/src/data-provider/extend-model.spec.js deleted file mode 100644 index 9816ec029..000000000 --- a/packages/core/src/data-provider/extend-model.spec.js +++ /dev/null @@ -1,976 +0,0 @@ -const should = require('should'); -const sinon = require('sinon'); -const { promisify } = require('util'); -require('should-sinon'); -const _ = require('lodash'); -const { Readable } = require('stream'); - -const extendModel = require('./extend-model'); - -const mockCache = { - retrieve(req, callback) { - callback(); - }, - insert() {}, -}; - -const mockLogger = { - debug: sinon.spy(), - info: () => {}, -}; - -class MockModel { - constructor(koop, options) { - this.options = options; - } - - getData(req, callback) { - callback(null, { - type: 'FeatureCollection', - features: [], - }); - } - - getLayer(req, callback) { - callback(null, { - layer: 'foo', - }); - } - - getCatalog(req, callback) { - callback(null, { - catalog: 'foo', - }); - } -} - -describe('Tests for extend-model', function () { - beforeEach(() => { - mockLogger.debug.resetHistory(); - }); - - describe('model constructor', () => { - it('should receive expected arguments', () => { - class Model extends MockModel { - constructor(koop, options) { - super(koop, options); - this.koop = koop; - this.options = options; - } - } - const model = extendModel( - { ProviderModel: Model, logger: mockLogger, cache: mockCache }, - { - foo: 'bar', - }, - ); - model.koop.should.deepEqual({ log: mockLogger, logger: mockLogger }); - model.options.should.deepEqual({ foo: 'bar' }); - }); - - it('should use model defined cache', () => { - const modelDefinedCache = { retrieve: _.noop, insert: _.noop }; - class Model extends MockModel { - constructor(koop, options) { - super(koop, options); - this.koop = koop; - this.options = options; - this.cache = modelDefinedCache; - } - } - const model = extendModel( - { ProviderModel: Model, logger: mockLogger, cache: mockCache }, - { - foo: 'bar', - }, - ); - - model.cache.should.deepEqual(modelDefinedCache); - }); - - it('should work without cache', () => { - const model = extendModel( - { ProviderModel: MockModel, logger: mockLogger }, - { - foo: 'bar', - }, - ); - - model.should.be.not.null(); - }); - }); - - describe('model pull method', () => { - it('should not find in cache, should not add to cache', async () => { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null); - }), - insert: sinon.spy(() => {}), - }; - - const getDataSpy = sinon.spy(function (req, callback) { - callback(null, { metadata: {} }); - }); - - class Model extends MockModel {} - Model.prototype.getData = getDataSpy; - - const model = extendModel({ - ProviderModel: Model, - logger: mockLogger, - cache: mockCache, - }); - - const pullData = promisify(model.pull).bind(model); - - const data = await pullData({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ metadata: {} }); - mockCache.retrieve.calledOnce.should.equal(true); - getDataSpy.called.should.equal(true); - mockCache.insert.notCalled.should.equal(true); - }); - - it('should not find in cache, should add to cache due to data ttl', async () => { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null); - }), - insert: sinon.spy(() => {}), - }; - - const getDataSpy = sinon.spy(function (req, callback) { - callback(null, { metadata: {}, ttl: 5 }); - }); - - class Model extends MockModel {} - Model.prototype.getData = getDataSpy; - const model = extendModel({ - ProviderModel: Model, - logger: mockLogger, - cache: mockCache, - }); - const pullData = promisify(model.pull).bind(model); - const data = await pullData({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ metadata: {}, ttl: 5 }); - mockCache.retrieve.calledOnce.should.equal(true); - getDataSpy.calledOnce.should.equal(true); - mockCache.insert.calledOnce.should.equal(true); - }); - - it('should not find in cache, should add to cache due to provider ttl', async () => { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null); - }), - insert: sinon.spy(() => {}), - }; - - const getDataSpy = sinon.spy(function (req, callback) { - callback(null, { metadata: {} }); - }); - - class Model extends MockModel {} - Model.prototype.getData = getDataSpy; - const model = extendModel( - { ProviderModel: Model, logger: mockLogger, cache: mockCache }, - { - cacheTtl: 10, - }, - ); - const pullData = promisify(model.pull).bind(model); - const data = await pullData({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ metadata: {} }); - mockCache.retrieve.calledOnce.should.equal(true); - getDataSpy.calledOnce.should.equal(true); - mockCache.insert.calledOnce.should.equal(true); - }); - - it('should pull from cache', async () => { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null, { foo: 'bar' }); - }), - insert: sinon.spy(() => {}), - }; - - const getDataSpy = sinon.spy(function (req, callback) { - callback(null); - }); - - class Model extends MockModel {} - Model.prototype.getData = getDataSpy; - const model = extendModel({ - ProviderModel: Model, - logger: mockLogger, - cache: mockCache, - }); - - const pullData = promisify(model.pull).bind(model); - - const data = await pullData({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ - foo: 'bar', - }); - mockCache.retrieve.calledOnce.should.equal(true); - getDataSpy.notCalled.should.equal(true); - mockCache.insert.notCalled.should.equal(true); - }); - - it('should pull from cache and use deprecated _cache info', async () => { - const now = Date.now(); - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null, { - _cache: { - updated: 0, - expires: now + 86400000, - }, - features: ['foo'], - }); - }), - insert: sinon.spy(() => {}), - }; - - const getDataSpy = sinon.spy(function (req, callback) { - callback(null); - }); - - class Model extends MockModel {} - Model.prototype.getData = getDataSpy; - const model = extendModel({ - ProviderModel: Model, - logger: mockLogger, - cache: mockCache, - }); - - const pullData = promisify(model.pull).bind(model); - - const data = await pullData({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ - _cache: { - updated: 0, - expires: now + 86400000, - }, - features: ['foo'], - }); - mockCache.retrieve.calledOnce.should.equal(true); - getDataSpy.notCalled.should.equal(true); - mockCache.insert.notCalled.should.equal(true); - }); - - it('should pull from cache and use deprecated metadata info check', async () => { - const now = Date.now(); - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null, { - metadata: { - updated: 0, - expires: now + 86400000, - }, - features: ['foo'], - }); - }), - insert: sinon.spy(() => {}), - }; - - const getDataSpy = sinon.spy(function (req, callback) { - callback(null); - }); - - class Model extends MockModel {} - Model.prototype.getData = getDataSpy; - const model = extendModel({ - ProviderModel: Model, - logger: mockLogger, - cache: mockCache, - }); - - const pullData = promisify(model.pull).bind(model); - - const data = await pullData({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ - metadata: { - updated: 0, - expires: now + 86400000, - }, - features: ['foo'], - }); - mockCache.retrieve.calledOnce.should.equal(true); - getDataSpy.notCalled.should.equal(true); - mockCache.insert.notCalled.should.equal(true); - }); - - it('should send error in callback', async () => { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null); - }), - insert: sinon.spy(() => {}), - }; - - const getDataSpy = sinon.spy(function (req, callback) { - callback(new Error('err in getData')); - }); - - class Model extends MockModel {} - Model.prototype.getData = getDataSpy; - const model = extendModel({ - ProviderModel: Model, - logger: mockLogger, - cache: mockCache, - }); - const pullData = promisify(model.pull).bind(model); - - try { - await pullData({ url: 'domain/test-provider', params: {}, query: {} }); - should.fail(); - } catch (err) { - err.message.should.equal('err in getData'); - } - }); - }); - - describe('createKey', function () { - it('should create cache-key from Model defined createKey function', async () => { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null, { foo: 'bar' }); - }), - insert: sinon.spy(() => {}), - }; - const pullSpy = sinon.spy(); - - class Model extends MockModel { - createKey() { - return 'custom-key'; - } - } - // create a model with mocked cache "retrieve" function - const model = extendModel({ - ProviderModel: Model, - logger: mockLogger, - cache: mockCache, - }); - await model.pull({ url: 'domain/test-provider', query: {} }, pullSpy); - mockCache.retrieve.should.be.calledOnce(); - mockCache.retrieve.firstCall.args.length.should.equal(3); - mockCache.retrieve.firstCall.args[0].should.equal('custom-key'); - mockCache.retrieve.firstCall.args[1].should.be.an.Object().and.be.empty(); - mockCache.retrieve.firstCall.args[2].should.be.an.Function(); - pullSpy.should.be.calledOnce(); - pullSpy.firstCall.args.length.should.equal(2); - should.not.exist(pullSpy.firstCall.args[0]); - pullSpy.firstCall.args[1].should.deepEqual({ foo: 'bar' }); - }); - }); - - describe('auth methods', () => { - it('should attach auth methods when auth plugin is registered with Koop', () => { - const model = extendModel({ - ProviderModel: MockModel, - namespace: 'test-provider', - logger: mockLogger, - cache: mockCache, - authModule: { - authenticate: () => {}, - authorize: () => {}, - authenticationSpecification: sinon.spy(), - }, - }); - model.should.have.property('authorize').and.be.a.Function(); - model.should.have.property('authenticate').and.be.a.Function(); - model.should.have - .property('authenticationSpecification') - .and.deepEqual({ provider: 'test-provider' }); - }); - }); - - describe('transformation functions', function () { - it('before function should modify request object', async () => { - const beforeSpy = sinon.spy((req, beforeCallback) => { - req.query.hello = 'world'; - beforeCallback(); - }); - - const getDataSpy = sinon.spy(function (req, callback) { - callback(null, { metadata: {} }); - }); - - class Model extends MockModel {} - Model.prototype.getData = getDataSpy; - - const model = extendModel( - { ProviderModel: Model, logger: mockLogger, cache: mockCache }, - { - before: beforeSpy, - }, - ); - - const req = { url: 'domain/test-provider', params: {}, query: {} }; - await model.pull(req, function () {}); - beforeSpy.should.be.calledOnce(); - beforeSpy.firstCall.args.length.should.equal(2); - beforeSpy.firstCall.args[0].should.be.an.Object(); - beforeSpy.firstCall.args[1].should.be.a.Function(); - - getDataSpy.should.be.calledOnce(); - getDataSpy.firstCall.args.length.should.equal(2); - getDataSpy.firstCall.args[0].should.be.an.Object().and.deepEqual({ - url: 'domain/test-provider', - params: {}, - query: { hello: 'world' }, - }); - getDataSpy.firstCall.args[1].should.be.a.Function(); - }); - - it('after function should modify request and data object', async () => { - let getDataArgs; - let afterSpyArgs; - const getDataSpy = sinon.spy(function (req, callback) { - // capture args because the req gets mutated - getDataArgs = _.cloneDeep(arguments); - callback(null, { metadata: {} }); - }); - - class Model extends MockModel {} - Model.prototype.getData = getDataSpy; - - const afterSpy = sinon.spy(function (req, data, callback) { - // capture args because the req and data get mutated - afterSpyArgs = _.cloneDeep(arguments); - req.query.hello = 'world'; - data.metadata.food = 'bar'; - callback(null, data); - }); - const pullCallbackSpy = sinon.spy(function () {}); - const model = extendModel( - { ProviderModel: Model, logger: mockLogger, cache: mockCache }, - { - after: afterSpy, - }, - ); - - await model.pull( - { url: 'domain/test-provider', params: {}, query: {} }, - pullCallbackSpy, - ); - getDataSpy.should.be.calledOnce(); - getDataSpy.firstCall.args.length.should.equal(2); - getDataArgs[0].should.deepEqual({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - getDataSpy.firstCall.args[1].should.be.an.Function(); - - afterSpy.should.be.calledOnce(); - afterSpy.firstCall.args.length.should.equal(3); - afterSpy.firstCall.args[0].should.be.an.Object(); - afterSpyArgs[0].should.deepEqual({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - afterSpy.firstCall.args[0].should.deepEqual({ - url: 'domain/test-provider', - params: {}, - query: { hello: 'world' }, - }); // captures the expected change to the req argument in the after function - afterSpyArgs[1].should.deepEqual({ metadata: {} }); - afterSpy.firstCall.args[2].should.be.an.Function(); - - pullCallbackSpy.should.be.calledOnce(); - pullCallbackSpy.firstCall.args.length.should.equal(2); - should.not.exist(pullCallbackSpy.firstCall.args[0]); - pullCallbackSpy.firstCall.args[1].should.be.an - .Object() - .and.deepEqual({ metadata: { food: 'bar' } }); - }); - }); - - describe('model pullLayer method', function () { - afterEach(function () { - // reset the getLayer() function to default - extendModel.prototype.getLayer = undefined; - extendModel.prototype.createKey = undefined; - }); - - it('should throw an error if the getLayer() function is not implemented', async () => { - class Model extends MockModel {} - Model.prototype.getLayer = undefined; - - // create a model with mocked cache "retrieve" function - const model = extendModel({ - ProviderModel: Model, - logger: mockLogger, - cache: mockCache, - namespace: 'test-provider', - }); - - const pullLayer = promisify(model.pullLayer).bind(model); - - try { - await pullLayer({ params: {}, query: {} }); - should.fail('should have thrown'); - } catch (err) { - err.message.should.equal( - 'getLayer() method is not implemented in the test-provider provider.', - ); - } - }); - - it('logs error from cache retrieve', async function () { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(new Error('cache error')); - }), - insert: sinon.spy(() => {}), - }; - - const model = extendModel({ - ProviderModel: MockModel, - logger: mockLogger, - cache: mockCache, - }); - - const pullLayer = promisify(model.pullLayer).bind(model); - - const data = await pullLayer({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ - layer: 'foo', - }); - mockCache.retrieve.should.be.calledOnce(); - mockLogger.debug.should.be.calledOnce(); - }); - - it('should fetch from cache', async function () { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null, { - layer: 'cached', - }); - }), - insert: sinon.spy(() => {}), - }; - - const getLayerSpy = sinon.spy(function (req, callback) { - callback(null, {}); - }); - - extendModel.prototype.getLayer = getLayerSpy; - - const model = extendModel({ - ProviderModel: MockModel, - logger: mockLogger, - cache: mockCache, - }); - - const pullLayer = promisify(model.pullLayer).bind(model); - - const data = await pullLayer({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ - layer: 'cached', - }); - mockCache.retrieve.should.be.calledOnce(); - getLayerSpy.should.not.be.called(); - }); - - it('should call the getLayer() function if cache misses', async function () { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null); - }), - insert: sinon.spy(() => {}), - }; - - const model = extendModel({ - ProviderModel: MockModel, - logger: mockLogger, - cache: mockCache, - }); - - const pullLayer = promisify(model.pullLayer).bind(model); - - const data = await pullLayer({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ - layer: 'foo', - }); - mockCache.retrieve.should.be.calledOnce(); - }); - - it('should work without a cache', async function () { - const getLayerSpy = sinon.spy(function (req, callback) { - callback(null, { layer: 'foo', ttl: 10 }); - }); - - MockModel.prototype.getLayer = getLayerSpy; - - // create a model with mocked cache "retrieve" function - const model = extendModel({ - ProviderModel: MockModel, - logger: mockLogger, - }); - - model.getLayer = getLayerSpy; - - const pullLayer = promisify(model.pullLayer).bind(model); - - const data = await pullLayer({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ - layer: 'foo', - ttl: 10, - }); - }); - - it('should call the getLayer() function if cache misses, inserts to cache', async function () { - const mockCache = { - retrieve: sinon.spy((key, options, callback) => { - callback(null); - }), - insert: sinon.spy((key, data, options, callback) => { - callback(); - }), - }; - - const getLayerSpy = sinon.spy(function (req, callback) { - callback(null, { layer: 'foo', ttl: 10 }); - }); - - MockModel.prototype.getLayer = getLayerSpy; - - // create a model with mocked cache "retrieve" function - const model = extendModel({ - ProviderModel: MockModel, - logger: mockLogger, - cache: mockCache, - }); - - model.getLayer = getLayerSpy; - - const pullLayer = promisify(model.pullLayer).bind(model); - - const data = await pullLayer({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ - layer: 'foo', - ttl: 10, - }); - mockCache.retrieve.should.be.calledOnce(); - mockCache.insert.should.be.calledOnce(); - }); - - it('should send error in callback', async () => { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null); - }), - insert: sinon.spy((key, data, options, callback) => { - callback(); - }), - }; - - const getLayerSpy = sinon.spy(function (req, callback) { - callback(new Error('err in getLayer')); - }); - - class Model extends MockModel {} - Model.prototype.getLayer = getLayerSpy; - const model = extendModel({ - ProviderModel: Model, - logger: mockLogger, - cache: mockCache, - }); - const pullLayer = promisify(model.pullLayer).bind(model); - - try { - await pullLayer({ url: 'domain/test-provider', params: {}, query: {} }); - should.fail(); - } catch (err) { - err.message.should.equal('err in getLayer'); - } - }); - }); - - describe('model pullCatalog method', function () { - afterEach(function () { - // reset the getCatalog() function to default - extendModel.prototype.getCatalog = undefined; - }); - - it('should throw an error if the getCatalog() function is not implemented', async () => { - class Model extends MockModel {} - Model.prototype.getCatalog = undefined; - - // create a model with mocked cache "retrieve" function - const model = extendModel({ - ProviderModel: Model, - logger: mockLogger, - cache: mockCache, - namespace: 'test-provider', - }); - - const pullCatalog = promisify(model.pullCatalog).bind(model); - - try { - await pullCatalog({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - should.fail('should have thrown'); - } catch (err) { - err.message.should.equal( - 'getCatalog() method is not implemented in the test-provider provider.', - ); - } - }); - - it('should fetch from cache', async function () { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null, { foo: 'bar' }); - }), - insert: sinon.spy(() => {}), - }; - - const getCatalogSpy = sinon.spy(function (req, callback) { - callback(null, {}); - }); - - class Model extends MockModel {} - Model.prototype.getCatalog = getCatalogSpy; - - const model = extendModel({ - ProviderModel: Model, - logger: mockLogger, - cache: mockCache, - namespace: 'test-provider', - }); - - const pullCatalog = promisify(model.pullCatalog).bind(model); - - const data = await pullCatalog({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ foo: 'bar' }); - mockCache.retrieve.should.be.calledOnce(); - mockCache.retrieve.firstCall.args.length.should.equal(3); - mockCache.retrieve.firstCall.args[0].should.be.a.String(); - mockCache.retrieve.firstCall.args[1].should.be.an.Object().and.be.empty(); - mockCache.retrieve.firstCall.args[2].should.be.an.Function(); - getCatalogSpy.should.not.be.called(); - }); - - it('logs error from cache retrieve', async function () { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(new Error('cache error')); - }), - insert: sinon.spy(() => {}), - }; - - // create a model with mocked cache "retrieve" function - const model = extendModel({ - ProviderModel: MockModel, - logger: mockLogger, - cache: mockCache, - }); - - const pullCatalog = promisify(model.pullCatalog).bind(model); - - const data = await pullCatalog({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ - catalog: 'foo', - }); - mockCache.retrieve.should.be.calledOnce(); - mockLogger.debug.should.be.calledOnce(); - }); - - it('should call the getCatalog() function if cache misses, inserts to cache', async function () { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null); - }), - insert: sinon.spy(() => {}), - }; - - const getCatalogSpy = sinon.spy(function (req, callback) { - callback(null, { catalog: 'foo', ttl: 10 }); - }); - - MockModel.prototype.getCatalog = getCatalogSpy; - - const model = extendModel({ - ProviderModel: MockModel, - logger: mockLogger, - cache: mockCache, - namespace: 'test-provider', - }); - - model.getLayer = getCatalogSpy; - - const pullCatalog = promisify(model.pullCatalog).bind(model); - - const data = await pullCatalog({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - data.should.deepEqual({ - catalog: 'foo', - ttl: 10, - }); - mockCache.retrieve.should.be.calledOnce(); - mockCache.insert.should.be.calledOnce(); - }); - - it('should send error in callback', async () => { - const mockCache = { - retrieve: sinon.spy((key, query, callback) => { - callback(null); - }), - insert: sinon.spy(() => {}), - }; - - const getCatalogSpy = sinon.spy(function (req, callback) { - callback(new Error('err in getCatalog')); - }); - - class Model extends MockModel {} - Model.prototype.getCatalog = getCatalogSpy; - const model = extendModel({ - ProviderModel: Model, - logger: mockLogger, - cache: mockCache, - namespace: 'test-provider', - }); - const pullCatalog = promisify(model.pullCatalog).bind(model); - - try { - await pullCatalog({ - url: 'domain/test-provider', - params: {}, - query: {}, - }); - should.fail(); - } catch (err) { - err.message.should.equal('err in getCatalog'); - } - }); - }); - - describe('model pullStream method', function () { - let getStreamSpy; - beforeEach(function () { - getStreamSpy = sinon.stub().resolves(new Readable({ read() {} })); - MockModel.prototype.getStream = getStreamSpy; - }); - - afterEach(function () { - // reset the getStream() function to default - MockModel.prototype.getStream = undefined; - }); - - it('should resolve with result of getStream', async function () { - const model = extendModel({ - ProviderModel: MockModel, - logger: mockLogger, - cache: mockCache, - namespace: 'test-provider', - }); - - const stream = await model.pullStream({ some: 'options' }); - - getStreamSpy.should.be.calledOnce(); - stream.should.be.an.instanceOf(Readable); - }); - - it('should call "before" before getStream', async function () { - const beforeSpy = sinon.stub().callsFake((_, cb) => cb()); - - const model = extendModel( - { - ProviderModel: MockModel, - logger: mockLogger, - cache: mockCache, - namespace: 'test-provider', - }, - { before: beforeSpy }, - ); - - await model.pullStream({ some: 'options' }); - - beforeSpy.should.be.calledOnce(); - should(beforeSpy.calledBefore(getStreamSpy)).be.ok(); - getStreamSpy.should.be.calledOnce(); - }); - - it('should reject if the getStream() function is not implemented', async function () { - MockModel.prototype.getStream = undefined; // no getStream function - - const model = extendModel({ - ProviderModel: MockModel, - logger: mockLogger, - cache: mockCache, - namespace: 'test-provider', - }); - - try { - await model.pullStream({ some: 'options' }); - should.fail(); - } catch (err) { - err.should.be.an.Error(); - } - }); - }); -}); diff --git a/packages/core/src/data-provider/helpers/compose-route-path.spec.js b/packages/core/src/data-provider/helpers/compose-route-path.spec.js deleted file mode 100644 index cdf15e46a..000000000 --- a/packages/core/src/data-provider/helpers/compose-route-path.spec.js +++ /dev/null @@ -1,52 +0,0 @@ -const { composeRoutePath } = require('./'); -const should = require('should') // eslint-disable-line - -describe('Tests for composeRoutePath', function () { - it('create route with :host and :id parameter', function () { - const params = { hosts: true, providerNamespace: 'test', path: 'FeatureServer/:layer/:method' }; - const fullRoute = composeRoutePath(params); - fullRoute.should.equal('/test/:host/:id/FeatureServer/:layer/:method'); - }); - - it('create route with :host parameter and without :id parameter', function () { - const params = { hosts: true, disableIdParam: true, providerNamespace: 'test', path: 'FeatureServer/:layer/:method' }; - const fullRoute = composeRoutePath(params); - fullRoute.should.equal('/test/:host/FeatureServer/:layer/:method'); - }); - - it('create route without :host parameter', function () { - const params = { providerNamespace: 'test', path: 'FeatureServer/:layer/:method' }; - const fullRoute = composeRoutePath(params); - fullRoute.should.equal('/test/:id/FeatureServer/:layer/:method'); - }); - - it('create route without :host and :id parameter', function () { - const params = { providerNamespace: 'test', disableIdParam: true, path: 'FeatureServer/:layer/:method' }; - const fullRoute = composeRoutePath(params); - fullRoute.should.equal('/test/FeatureServer/:layer/:method'); - }); - - it('create route with templated $namespace$ substring', function () { - const params = { providerNamespace: 'test', disableIdParam: true, path: '$namespace/rest/services/FeatureServer/:layer/:method' }; - const fullRoute = composeRoutePath(params); - fullRoute.should.equal('/test/rest/services/FeatureServer/:layer/:method'); - }); - - it('create route with templated $namespace$ and $providerParams$ substrings', function () { - const params = { providerNamespace: 'test', hosts: true, path: '$namespace/rest/services/$providerParams/FeatureServer/:layer/:method' }; - const fullRoute = composeRoutePath(params); - fullRoute.should.equal('/test/rest/services/:host/:id/FeatureServer/:layer/:method'); - }); - - it('create route without path construction', function () { - const params = { path: 'rest/info', absolutePath: true }; - const fullRoute = composeRoutePath(params); - fullRoute.should.equal('/rest/info'); - }); - - it('create route with prefix, :host, :id parameters', function () { - const params = { providerNamespace: 'test', routePrefix: 'api/v1', path: 'FeatureServer/:layer/:method' }; - const fullRoute = composeRoutePath(params); - fullRoute.should.equal('/api/v1/test/:id/FeatureServer/:layer/:method'); - }); -}); diff --git a/packages/core/src/data-provider/helpers/route-joiner.spec.js b/packages/core/src/data-provider/helpers/route-joiner.spec.js deleted file mode 100644 index d6e7667f5..000000000 --- a/packages/core/src/data-provider/helpers/route-joiner.spec.js +++ /dev/null @@ -1,24 +0,0 @@ -const { routeJoiner } = require('./'); -const should = require('should') // eslint-disable-line - -describe('Tests for routeJoiner', function () { - it('create route with simple fragments', function () { - const fullRoute = routeJoiner('hello', 'world', 'from', 'mocha'); - fullRoute.should.equal('/hello/world/from/mocha'); - }); - - it('create route with complex fragments', function () { - const fullRoute = routeJoiner('hello/world/', '/from/mocha'); - fullRoute.should.equal('/hello/world/from/mocha'); - }); - - it('create route with empty fragments', function () { - const fullRoute = routeJoiner('hello/world/', '', undefined, null); - fullRoute.should.equal('/hello/world'); - }); - - it('create route with fragments that are "/" ', function () { - const fullRoute = routeJoiner('hello/world/', '/', 'foo'); - fullRoute.should.equal('/hello/world/foo'); - }); -}); diff --git a/packages/core/src/data-provider/index.spec.js b/packages/core/src/data-provider/index.spec.js deleted file mode 100644 index 54be3f7a9..000000000 --- a/packages/core/src/data-provider/index.spec.js +++ /dev/null @@ -1,184 +0,0 @@ -const should = require('should'); // eslint-disable-line -const sinon = require('sinon'); -const DataProvider = require('./'); - -class MockProviderPluginController { - getHandler (req, res) { - res.send('hello'); - } - - otherHandler (req, res) { - res.send('other hello'); - } -} - -class MockModel { - getData (req, callback) { - callback(null, { - type: 'FeatureCollection', - features: [] - }); - } -} - -class MockOutput { - static routes = [ - { - path: '/mock-output/', - methods: ['get', 'post'], - handler: 'pullData' - } - ]; - - static name = 'MockOutput'; - - async pullData (req, res) { - await this.model.pull(req); - res.status(200).json({ message: 'success' }); - } -} - -const mockPluginDefinition = { - name: 'test-provider', - type: 'provider', - version: '99.0.0', - Controller: MockProviderPluginController, - routes: [ - { - path: '/mock-provider-route/:id', - methods: ['get'], - handler: 'getHandler' - } - ], - Model: MockModel -}; - -describe('Tests for Provider', function () { - const mockCache = {}; - const mockLogger = { - info: () => {} - }; - - it('should create instance of DataProvider', function () { - const providerRegistration = new DataProvider({ - logger: mockLogger, - cache: mockCache, - outputPlugins: [{ outputClass: MockOutput }], - pluginDefinition: { ...mockPluginDefinition }, - }); - providerRegistration.should.be.instanceOf(DataProvider); - providerRegistration.should.have.property('namespace', 'test-provider'); - providerRegistration.should.have.property('version', '99.0.0'); - providerRegistration.should.have.property('providerRoutes').length(1); - providerRegistration.providerRoutes[0].should.have.property('path', '/mock-provider-route/:id'); - providerRegistration.should.have.property('outputPluginRoutes').length(1); - providerRegistration.outputPluginRoutes[0].should.have.property('namespace', 'MockOutput'); - providerRegistration.outputPluginRoutes[0].should.have.property('routes').length(1); - providerRegistration.outputPluginRoutes[0].routes[0].should.have.property('path', '/test-provider/:id/mock-output'); - }); - - it('should create instance of DataProvider with unknown version number', function () { - const providerRegistration = new DataProvider({ - logger: mockLogger, - cache: mockCache, - outputPlugins: [{ outputClass: MockOutput }], - pluginDefinition: { ...mockPluginDefinition, version: undefined }, - }); - providerRegistration.should.be.instanceOf(DataProvider); - providerRegistration.should.have.property('version', 'unknown'); - }); - - it('should create instance of DataProvider without provider-defined routes', function () { - const providerRegistration = new DataProvider({ - logger: mockLogger, - cache: mockCache, - outputPlugins: [{ outputClass: MockOutput }], - pluginDefinition: { ...mockPluginDefinition, routes: undefined }, - }); - providerRegistration.should.have.property('providerRoutes').length(0); - }); - - it('should create instance of DataProvider without output plugin routes', function () { - const providerRegistration = new DataProvider({ - logger: mockLogger, - cache: mockCache, - pluginDefinition: { ...mockPluginDefinition }, - }); - providerRegistration.should.have.property('outputPluginRoutes').length(0); - }); - - it('should add routes to server, output routes last', function () { - const providerRegistration = new DataProvider({ - logger: mockLogger, - cache: mockCache, - outputPlugins: [{ outputClass: MockOutput }], - pluginDefinition: { ...mockPluginDefinition }, - }); - - const mockServer = { - get: sinon.spy(), - post: sinon.spy() - }; - providerRegistration.addRoutesToServer(mockServer); - mockServer.get.callCount.should.equal(2); - mockServer.get.firstCall.args[0].should.equal('/mock-provider-route/:id'); - mockServer.get.secondCall.args[0].should.equal('/test-provider/:id/mock-output'); - mockServer.post.callCount.should.equal(1); - mockServer.post.firstCall.args[0].should.equal('/test-provider/:id/mock-output'); - }); - - it('should add routes to server, provider routes last', function () { - const providerRegistration = new DataProvider({ - logger: mockLogger, - cache: mockCache, - outputPlugins: [{ outputClass: MockOutput }], - pluginDefinition: { ...mockPluginDefinition }, - options: { defaultToOutputRoutes: true } - }); - - const mockServer = { - get: sinon.spy(), - post: sinon.spy() - }; - providerRegistration.addRoutesToServer(mockServer); - mockServer.get.callCount.should.equal(2); - mockServer.get.firstCall.args[0].should.equal('/test-provider/:id/mock-output'); - mockServer.get.secondCall.args[0].should.equal('/mock-provider-route/:id'); - mockServer.post.callCount.should.equal(1); - mockServer.post.firstCall.args[0].should.equal('/test-provider/:id/mock-output'); - }); - - it('should add routes to server, no provider-defined routes', function () { - const providerRegistration = new DataProvider({ - logger: mockLogger, - cache: mockCache, - outputPlugins: [{ outputClass: MockOutput }], - pluginDefinition: { ...mockPluginDefinition, routes: undefined }, - options: { defaultToOutputRoutes: true } - }); - - const mockServer = { - get: sinon.spy(), - post: sinon.spy() - }; - providerRegistration.addRoutesToServer(mockServer); - mockServer.get.callCount.should.equal(1); - mockServer.get.firstCall.args[0].should.equal('/test-provider/:id/mock-output'); - mockServer.post.callCount.should.equal(1); - mockServer.post.firstCall.args[0].should.equal('/test-provider/:id/mock-output'); - }); - - it('should throw error on bad provider option', () => { - try { - new DataProvider({ - logger: mockLogger, - cache: mockCache, - outputPlugins: [{ outputClass: MockOutput }], - pluginDefinition: { ...mockPluginDefinition }, - options: { routePrefix: 99 } - }); - } catch (error) { - error.message.should.equal('Provider "test-provider" has invalid option: "routePrefix" must be a string'); - } - }); -}); diff --git a/packages/core/src/data-provider/provider-route.spec.js b/packages/core/src/data-provider/provider-route.spec.js deleted file mode 100644 index 72a7e647a..000000000 --- a/packages/core/src/data-provider/provider-route.spec.js +++ /dev/null @@ -1,58 +0,0 @@ -const should = require('should') // eslint-disable-line -const proxyquire = require('proxyquire'); -const ProviderRoute = proxyquire('./provider-route', { - './helpers/compose-route-path': () => { - return 'the/path/for/route'; - } -}); - -describe('ProviderRoute', function () { - it('should create instance of ProviderRoute', function () { - const controller = { someHandler: () => {} }; - const providerRoute = new ProviderRoute({ - controller, - handler: 'someHandler', - path: 'some/route', - absolutePath: true, - methods: ['post'], - providerNamespace: 'test-provider', - }); - providerRoute.should.be.instanceOf(ProviderRoute); - providerRoute.should.have.property('controller', controller); - providerRoute.should.have.property('handler').and.be.a.Function(); - providerRoute.should.have.property('path', 'the/path/for/route'); - providerRoute.should.have.property('methods', ['post']); - }); - - it('should fail HTTP method validation', function () { - const controller = { someHandler: () => {} }; - try { - new ProviderRoute({ - controller, - handler: 'someHandler', - path: 'some-route/:id', - methods: ['poszt'], - providerNamespace: 'test-provider', - routePrefix: 'cantaloupe', - }); - } catch (error) { - error.message.should.equal('defines route "some-route/:id" with unsupported HTTP method: poszt'); - } - }); - - it('should fail controller validation', function () { - const controller = { someHandler: () => {} }; - try { - new ProviderRoute({ - controller, - handler: 'someOtherHandler', - path: 'some-route/:id', - methods: ['post'], - providerNamespace: 'test-provider', - routePrefix: 'cantaloupe', - }); - } catch (error) { - error.message.should.equal('defines route "some-route/:id" with unknown handler: someOtherHandler'); - } - }); -}); diff --git a/packages/core/src/index.js b/packages/core/src/index.js index 9a51f570e..e881cfeca 100644 --- a/packages/core/src/index.js +++ b/packages/core/src/index.js @@ -5,11 +5,11 @@ const bodyParser = require('body-parser'); const config = require('config'); const cors = require('cors'); const compression = require('compression'); -const Cache = require('@koopjs/cache-memory'); -const Logger = require('@koopjs/logger'); +const Cache = require('../../cache-memory'); +const Logger = require('../../logger'); const pkg = require('../package.json'); const DataProvider = require('./data-provider'); -const geoservices = require('@koopjs/output-geoservices'); +const geoservices = require('../../output-geoservices'); class Koop extends Events { constructor(options) { diff --git a/packages/core/src/index.spec.js b/packages/core/src/index.spec.js deleted file mode 100644 index d311ba224..000000000 --- a/packages/core/src/index.spec.js +++ /dev/null @@ -1,127 +0,0 @@ -const proxyquire = require('proxyquire'); -const sinon = require('sinon'); -const _ = require('lodash'); -const DataProvider = require('./data-provider'); - -const providerConstructorSpy = sinon.spy(); -class mockDataProviderModule extends DataProvider { - constructor(params) { - providerConstructorSpy(params); - super(params); - } -} - -const Koop = proxyquire('./', { - './data-provider': mockDataProviderModule -}); - -class MockProviderPluginController { - getHandler (req, res) { - res.send('hello'); - } - - otherHandler (req, res) { - res.send('other hello'); - } -} - -class MockModel { - getData (req, callback) { - callback(null, { - type: 'FeatureCollection', - features: [] - }); - } -} - -const mockProviderDefinition = { - name: 'test-provider', - type: 'provider', - version: '99.0.0', - Controller: MockProviderPluginController, - routes: [ - { - path: '/mock-provider-route/:id', - methods: ['get'], - handler: 'getHandler' - } - ], - Model: MockModel -}; - -const Geoservices = require('@koopjs/output-geoservices'); - -const should = require('should') // eslint-disable-line - -const geoservicesFixtureRoutes = Geoservices.routes.reduce((acc, route) => { - return acc + route.methods.length; -}, 0); -const providerFixtureRoutes = mockProviderDefinition.routes.reduce((acc, route) => { - return acc + route.methods.length; -}, 0); - -describe('Index tests', function () { - describe('Koop instantiation', function () { - it('should instantiate Koop with config', function () { - const koop = new Koop({ foo: 'bar', logLevel: 'error' }); - koop.config.should.have.property('foo', 'bar'); - }); - }); - - describe('Provider registration', function () { - it('should register provider and add output and provider routes to router stack', function () { - const koop = new Koop({ logLevel: 'error' }); - koop.register(mockProviderDefinition, { routePrefix: 'watermelon' }); - koop.providers.length.should.equal(1); - - koop.providers[0].should.have.property('namespace', 'test-provider'); - // Check that the stack includes routes with the provider name in the path - const providerRoutes = koop.server._router.stack - .filter((layer) => { - return layer?.route?.path.includes('watermelon'); - }) - .map(layer => { - return _.get(layer, 'route.path'); - }); - providerRoutes.length.should.equal(geoservicesFixtureRoutes + providerFixtureRoutes); - }); - }); -}); - -describe('Auth plugin registration', function () { - const mockAuthPlugin = { - type: 'auth', - authenticationSpecification: function () { - return function () { }; - }, - authenticate: function () {}, - authorize: function () {} - }; - - it('should register successfully', function () { - const koop = new Koop({ logLevel: 'error' }); - koop.register(mockAuthPlugin); - koop._authModule.should.be.instanceOf(Object); - koop._authModule.authenticate.should.be.instanceOf(Function); - koop._authModule.authorize.should.be.instanceOf(Function); - koop._authModule.authenticationSpecification.should.be.instanceOf(Function); - }); -}); - -describe('Generic plugin registration', function () { - class fakePlugin { - static type = 'plugin'; - static version = '0.0.0'; - - testFunc () { - return true; - } - } - it('should register successfully', function () { - const koop = new Koop({ logLevel: 'error' }); - koop.register(fakePlugin); - koop.fakePlugin.should.be.instanceOf(Object); - koop.fakePlugin.testFunc.should.be.instanceOf(Function); - koop.fakePlugin.testFunc().should.equal(true); - }); -}); diff --git a/packages/featureserver/.nycrc b/packages/featureserver/.nycrc deleted file mode 100644 index fc4463304..000000000 --- a/packages/featureserver/.nycrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "all": true, - "include": [ - "src/**/*.js" - ], - "exclude": ["**/*.spec.js"], - "includeAllSources": true -} \ No newline at end of file diff --git a/packages/featureserver/CHANGELOG-pre-monorepo.md b/packages/featureserver/CHANGELOG-pre-monorepo.md deleted file mode 100644 index 389f7226e..000000000 --- a/packages/featureserver/CHANGELOG-pre-monorepo.md +++ /dev/null @@ -1,618 +0,0 @@ -# Change Log -All notable changes to this project will be documented in this file. -This project adheres to [Semantic Versioning](http://semver.org/). - -## Unreleased -### Changed -* scope repo to koop organization -* migrate to Koop monorepo -* move code to `/src` directory -* co-locate unit test files -* migrate to eslint - -## [4.1.0] - 09-15-2022 -### Added -- Set hasZ from metadata setting when present - -## [4.0.2] - 09-14-2022 -### Fixed -- geojson validation security vulnerablity -- fix ids in layers metadata -- fix params passed to QueryFields.create - - -## [4.0.1] - 08-05-2022 -### Changed -- bump winnow version - -## [4.0.0] - 06-14-2022 -### Added -- override default currentVersion and fullVersion via app.locals.config.featureServer -- override default service-description and layer-description via app.locals.config.featureServer - -### Changed -- function signature on the restInfo method -## [3.5.1] - 06-01-2022 -### Changed -- bump winnow version -- refactor "fields" array generation - -## [3.5.0] - 04-25-2022 -### Added -- Add support for overrided default value for copyrightText - -## [3.4.0] - 03-28-2022 -### Added -- Add support for overriding default value for supportsPagination - -## [3.3.4] - 03-25-2022 -### Changed -- Refactor design pattern for layer metadata - -## [3.3.3] - 03-23-2022 -### Fixed -- Server info handler was not properly assigned - - -## [3.3.2] - 03-11-2022 -### Fixed -- Ensure `outSR ` is used when `returnExtentOnly=true` and extent not precalculated - -### Changed -- Refactor the query handler - -## [3.3.1] - 02-24-2022 -### Fixed -- support for `returnExtentOnly` - -## [3.3.0] - 02-16-2022 -### Added -* support for queryRelatedRecords - -## [3.2.1] - 01-20-2022 -### Fixed -* templates pulled from metadata for JSAPI 4.x support -* OBJECTID not forced to Integer if it is a true string (GUID) - -## [3.2.0] - 11-30-2021 -### Added -* Support for multipoint - -### Fixed -* Table ID numbering - -## [3.1.0] - 09-28-2021 -### Added -* Ability to specify the editable property for each field via the metadata object - -## [3.0.1] - 09-01-2021 -### Changed -* Added ability to specify capabilities the feature service would like to handle - -## [3.0.0] - 02-18-2021 -### Changed -* End support for Node < 10; remove buble compile step - -### Fixed -* Allow other properties in spatialReference object - -## [2.25.2] - 12-18-2020 -### Fixed -* Properly set spatial reference values in service, layer, and query info when source data is not WGS84 - -## [2.25.1] - 12-14-2020 -### Changed -* Bumped Winnow version for patch - -## [2.25.0] - 12-14-2020 -### Changed -* Bumped Winnow version - better support for input/output CRSs - -## [2.24.1] - 09-10-2020 -### Changed -* Bumped Winnow version - -## [2.24.0] - 09-08-2020 -### Changed -* Bumped Winnow version - -## [2.23.0] - 05-13-2020 -### Added -* Added Multi versions of all geojson shapes so they will be recognized and translated to esri geometries - -## [2.22.1] - 04-14-2020 -### Changed -* Bumped Winnow version - -## [2.22.0] - 01-13-2020 -### Added -* ability to override id, defaultVisibility, minScale, and maxScale in layer info via metadata object - -## [2.21.2] - 10-31-2019 -### Fixed -* Ensure ObjectID field is moved to being of response fields array -* Pass domain and nullable properties into response if provided - -## [2.21.1] - 10-04-2019 -### Fixed -* Correct packaging - -## [2.21.0] - 09-27-2019 -### Added -* Support for provider to set renderer; geojson.metadata.render - -## [2.20.0] - 07-02-2019 -### Added -* Support for `returnExtentOnly` - -## [2.19.0] - 06-27-2019 -### Added -* Support for info routes with trailing slashes - -## [2.18.0] - 05-29-2019 -### Added -* Support for `/FeatureServer/info` requests - -## [2.17.2] - 05-22-2019 -### Fixed -* `returnIdsOnly=true` query requests has `objectIdFieldName` property rather than `objectIdField` - -## [2.17.1] - 04-30-2019 -### Added -* Colorized warnings - -### Changed -* Condensed GeoJSON warnings -* Provide a more descriptive unassigned `idField` warning - -## [2.17.0] - 04-10-2019 -### Added -* Additional layer-info route handling for `FeatureServer/:layerId/info` - -## [2.16.4] - 12-27-2018 -### Fixed -* Before warning of discrepancies between metadata `fields` array and feature properties, compare name and alias to feature property keys. -* Remove `exceededTransferLimit` check specific to `maxRecordCount` which can break paging functionality of clients - -## [2.16.3] - 11-28-2018 -### Changed -* Removed workaround for adding and `OBJECTID` field even when metadata `idField` is set - -## [2.16.2] - 10-19-2018 -### Changed -* Bump Winnow to 1.16.4 - -### Fixed -* Add `resultRecordCount` to the `limit` setting hierarchy - -## [2.16.1] - 10-03-2018 -### Fixed -* package not pointed to `dist/index.js` - -## [2.16.0] - 09-17-2018 -### Added -* Support addition of "Extract" to layer info capabilities if provider's geojson includes `{ capabilities: { extract: true } }` - -## [2.15.2] - 09-10-2018 -### Changed -* Supress various warnings when `NODE_ENV !== 'production'` or `KOOP_WARNINGS !== 'suppress'` - -## [2.15.1] - 06-06-2018 -### Added -* Add warnings for invalid GeoJSON when `NODE_ENV !== 'production'` - -## [2.15.0] - 05-30-2018 -### Fixed -* Authentication and authorization error messages now properly handled if request has `callback` query parameter - -### Added -* Helper function to handle all responses, with or without `callback` query parameter -* `fullVersion: "10.5.1"` to info responses -* 404 handling of urls that don't include `/FeatureServer` - -## [2.14.1] - 05-22-2018 -### Fixed -* Version bump due to NPM's inability to resolve last publish - -## [2.14.0] - 05-22-2018 -### Added -* Add response handlers for authentication success and authentication/authorization errors - -## [2.13.0] - 05-10-2018 -### Added -* Add parameter to the `rest/info` handler and use the argument to supplement/override of the templated JSON response - -## [2.12.1] - 05-03-2018 -### Fixed -* Bump version, 2.12.0 was npm published without a compile - -## [2.12.0] - 05-03-2018 -### Added -* support the `/rest/info` route -* warnings when `fields` set in provider's metadata don't match name/type of fields found in feature properties -* support for setting the length of string and date fields in the `fields` array of a provider's metadata , e.g `[{ name: 'Title', type: 'String', length: 50}]` -* support for additional ESRI types when setting `fields` in provider metadata - -## [2.11.1] - 04-18-2018 -### Fixed -* default to templated value of display field if not provided in metadata and an `empty` fields array - -### Added -* if request includes `returnGeometry=false` and `outSR=`, delete the `outSR` param since no geometry will be present to reproject - -## [2.11.0] - 04-17-2018 -### Added -* provider attributes referenced by metadata `idField` are maintained as separate field in addition to OBJECTID when creating ESRI json -* warnings when a provider's `idField` is not set or references non- or out-of-range integer values -* warning when a provider's `idField` is a mixed-case version of 'OBJECTID' -* Bump to winnow 1.14.0 - -### Fixed -* changed default value of `hasStaticData` to `false` - -## [2.10.2] - 04-10-2018 -### Fixed -* set Content-Type: application/javascript when response is wrapped in callback (JSONP) - -## [2.10.1] - 04-06-2018 -### Fixed -* on layer info responses, ensure `fields` array objects have properties `name`, `type`, `alias`, `defaultValue: null`, `domain: null`, `editable: false`, `nullable: false` and `sqlType: "sqlTypeOther"` -* on layer info responses, ensure that all `fields` array objects of type `String` and `Date` have a `length` property with values `128` and `36` respectfully -* on layer info responses, ensure that the first element of `fields` array in the response is the object with `name: 'OBJECTID'` -* on query responses, ensure that all `fields` array objects have properties `name`, `type`, `alias`, `defaultValue: null`, `domain: null`, and `sqlType: "sqlTypeOther"` -* on query responses, ensure that the first element of `fields` array in the response is the object with `name: 'OBJECTID'` - -### Added -* winnow version bump to 1.13.0 - -## [2.10.0] - 03-08-2018 -### Added -* filtersApplied.limit for already applied limits - -## [2.9.3] - 01-08-2018 -### Fixed -* Send 400 on unhandled request method - -## [2.9.2] - 12-28-2017 -### Fixed -* logic for setting layer type to table -* exception when count is 0 and no features are provided - -## [2.9.1] - 12-07-2017 -### Fixed -* Position of capabilities -* version to support quantization - -## [2.9.0] - 12-07-2017 -### Added -* Support for passing through quantization capability - -## [2.8.0] - 12-06-2017 -### Added -* Support translate and transform quantization metadata - -## [2.7.0] - 11-20-2017 -### Added -* `filtersApplied.all skips all post processing` - -## [2.6.1] - 11-07-2017 -### Fixed -* Set spatial reference correctly even when projection is already applied - -## [2.6.0] - 11-07-2017 -### Added -* `filtersApplied.projection` in metadata - -## [2.5.0] 10-23-2017 -### Added -* `filtersApplied.offset` in metadata - -## [2.4.6] 10-05-2017 -### Fixed -* Server info works when metadata.name is undefined - -## [2.4.5] 10-05-2017 -### Changed -* set `exceededTransferLimit = true` when the number of features returned is limited by the maxRecordCount - -### Fixed -* layer info for multiple layers works - -## [2.4.4] 09-21-17 -### Fixed -* Limit to max record count - -## [2.4.3] 08-23-2017 -### Fixed -* Don't throw an exception when response includes only tables -* Allow geometryType to be passed in for layer responses - -## [2.4.2] 08-22-2017 -### Fixed -* check isNaN instead of falsy for extent validity - -## [2.4.1] 08-22-2017 -### Fixed -* Don't bomb out /FeatureServer calls when metadata with no extent is passed in - -## [2.4.0] 08-04-2017 -### Added -* Support for generateRenderer - -## [2.3.12] 07-18-2017 -### Fixed -* Query returns correct fields when outFields specified - -## [2.3.11] - 2017-07-08 -### Fixed -* ObjectID Fields set to esriFieldTypeOID - -## [2.3.10] - 2017-07-07 -### Fixed -* Added package details from [2.3.9] - -## [2.3.9] - 2017-07-07 -### Fixed -* Import function error in dist - -## [2.3.8] - 2017-07-07 -### Fixed -* Save id property when rendering layer -### Changed -* Reorganize templates.js into individual render functions -* Renamed renderStatistics to renderStats for render function consistency - -## [2.3.7] - 2017-07-06 -### Fixed -- supportsPagination => true - -## [2.3.6] - 2017-06-28 -### Fixed -* fixed out statistics when statistics are passed in - -## [2.3.5] - 2017-06-28 -### Fixed -* Date fields are properly converted while using statistics - -## [2.3.4] - 2017-06-26 -### Fixed -* Date fields show up in webmap viewer - -## [2.3.3] - 2017-06-20 -### Fixed -* Use indexOf instead of includes to compile to es5 - -## [2.3.2] - 2017-06-16 -### Fixed -* correct typo: esrifieldTypeInteger => esriFieldTypeInteger -* object ids no longer undefined on limit queries - -## [2.3.1] - 2017-06-15 -### Fixed -* Serialize date fields as UNIX timestamps -* Response when objectids query is for a single feature - -## [2.3.0] - 2017-06-05 -### Added -* Server metadata supports `hasStaticData` and `maxRecordCount` - -## [2.2.0] - 2017-06-05 -### Added -* Support displayField, timeInfo, maxRecordCount, idField - -## [2.1.0] - 2017-06-02 -### Added -* Support for passing a server extent e.g. [[-180, -90], [180, 90]] -* Support passed geometryType passed in layer metadata - -## [2.0.0] - 2017-06-01 -### Added -* /FeatureServer supports multiple layers - -### Breaking -* rename `serviceInfo` => `serverInfo` -* remove `serviceInfo` public API -* rename `layers` => `layersInfo` - -## [1.3.4] - 2017-04-03 -### Fix -* OBJECTID is in the fields array only layer request - -## [1.3.3] - 2017-03-28 -### Fixed -* OID rewrite is now correct - -## [1.3.2] - 2017-03-28 -### Changed -* Better way of handling oid overwrite - -## [1.3.1] - 2017-03-28 -### Fixed -* Don't overwrite OBJECTID field if it already exists - -## [1.3.0] - 2017-03-16 -### Added -* Support for `f=geojson` - -## [1.2.5] - 2017-02-28 -### Fixed -* Prevent exception on queries with no features - -## [1.2.4] - 2017-02-27 -### Fixed -* Prevent object ids from being reshuffled on similar requests - -## [1.2.3] - 2017-02-27 -### Fixed -* Correct response on /FeatureServer endpoint - -## [1.2.2] - 2017-02-14 -### Fixed -* Set geometry type correctly on query - -## [1.2.1] - 2017-02-14 -### Fixed -* Correctly compute spatialReference field - -## [1.2.0] - 2017-02-10 -### Added -* Support for `outSR` - -## [1.1.1] - 2017-02-09 -### Fixed -* Features are serialized correctly - -## [1.1.0] - 2017-02-06 -### Changed -* Enable orderByFields - -## [1.0.10] - 2017-02-06 -### Fixed -* Create correct response for group by statistics - -## [1.0.9] - 2017-02-06 -### Added -* Handle JSON parameters in all query options - -## [1.0.8] - 2017-02-02 -### Fixed -* Exclude features from layer info response - -## [1.0.7] - 2017-02-02 -### Fixed -* Coerce all query parameters to true or false before any function is executed - -## [1.0.6] - 2017-02-01 -### Fixed -* Pre es6 compatiblity - -## [1.0.5] - 2017-02-01 -### Fixed -* Build error - -## [1.0.4] - 2017-02-01 -### Changed -* Reorganize templates - -## [1.0.3] - 2017-02-01 -### Fixed -* Dont overwrite templates/index in compile step - -## [1.0.2] - 2017-01-31 -### Fixed -* Geometry query is parsed as json - -## [1.0.1] - 2017-01-31 -### Fixed -* Remove Standard from deps -* Fix reference errors in query - -## [1.0.0] - 2017-01-25 -* Initial Release - -[4.1.0]: https://github.com/koopjs/featureserver/compare/v4.0.2...v4.1.0 -[4.0.2]: https://github.com/koopjs/featureserver/compare/v4.0.1...v4.0.2 -[4.0.1]: https://github.com/koopjs/featureserver/compare/v4.0.0...v4.0.1 -[4.0.0]: https://github.com/koopjs/featureserver/compare/v3.5.0...v4.0.0 -[3.5.0]: https://github.com/koopjs/featureserver/compare/v3.4.0...v3.5.0 -[3.4.0]: https://github.com/koopjs/featureserver/compare/v3.3.4...v3.4.0 -[3.3.4]: https://github.com/koopjs/featureserver/compare/v3.3.3...v3.3.4 -[3.3.3]: https://github.com/koopjs/featureserver/compare/v3.3.2...v3.3.3 -[3.3.2]: https://github.com/koopjs/featureserver/compare/v3.3.1...v3.3.2 -[3.3.1]: https://github.com/koopjs/featureserver/compare/v3.3.0...v3.3.1 -[3.3.0]: https://github.com/koopjs/featureserver/compare/v3.2.1...v3.3.0 -[3.2.1]: https://github.com/koopjs/featureserver/compare/v3.2.0...v3.2.1 -[3.2.0]: https://github.com/koopjs/featureserver/compare/v3.1.0...v3.2.0 -[3.1.0]: https://github.com/koopjs/featureserver/compare/v3.0.1...v3.1.0 -[3.0.1]: https://github.com/koopjs/featureserver/compare/v3.0.0...v3.0.1 -[3.0.0]: https://github.com/koopjs/featureserver/compare/v2.25.1...v3.0.0 -[2.25.1]: https://github.com/koopjs/featureserver/compare/v2.25.0...v2.25.1 -[2.25.0]: https://github.com/koopjs/featureserver/compare/v2.24.1...v2.25.0 -[2.24.1]: https://github.com/koopjs/featureserver/compare/v2.24.0...v2.24.1 -[2.24.0]: https://github.com/koopjs/featureserver/compare/v2.23.0...v2.24.0 -[2.23.0]: https://github.com/koopjs/featureserver/compare/v2.22.1...v2.23.0 -[2.22.1]: https://github.com/koopjs/featureserver/compare/v2.22.0...v2.22.1 -[2.22.0]: https://github.com/koopjs/featureserver/compare/v2.21.2...v2.22.0 -[2.21.2]: https://github.com/koopjs/featureserver/compare/v2.21.1...v2.21.2 -[2.21.1]: https://github.com/koopjs/featureserver/compare/v2.21.0...v2.21.1 -[2.21.0]: https://github.com/koopjs/featureserver/compare/v2.20.0...v2.21.0 -[2.20.0]: https://github.com/koopjs/featureserver/compare/v2.19.0...v2.20.0 -[2.19.0]: https://github.com/koopjs/featureserver/compare/v2.18.0...v2.19.0 -[2.18.0]: https://github.com/koopjs/featureserver/compare/v2.17.2...v2.18.0 -[2.17.2]: https://github.com/koopjs/featureserver/compare/v2.17.1...v2.17.2 -[2.17.1]: https://github.com/koopjs/featureserver/compare/v2.17.0...v2.17.1 -[2.17.0]: https://github.com/koopjs/featureserver/compare/v2.16.4...v2.17.0 -[2.16.4]: https://github.com/koopjs/featureserver/compare/v2.16.3...v2.16.4 -[2.16.3]: https://github.com/koopjs/featureserver/compare/v2.16.2...v2.16.3 -[2.16.2]: https://github.com/koopjs/featureserver/compare/v2.16.1...v2.16.2 -[2.16.1]: https://github.com/koopjs/featureserver/compare/v2.16.0...v2.16.1 -[2.16.0]: https://github.com/koopjs/featureserver/compare/v2.15.2...v2.16.0 -[2.15.2]: https://github.com/koopjs/featureserver/compare/v2.15.1...v2.15.2 -[2.15.1]: https://github.com/koopjs/featureserver/compare/v2.15.0...v2.15.1 -[2.15.0]: https://github.com/koopjs/featureserver/compare/v2.14.1...v2.15.0 -[2.14.1]: https://github.com/koopjs/featureserver/compare/v2.14.0...v2.14.1 -[2.14.0]: https://github.com/koopjs/featureserver/compare/v2.13.0...v2.14.0 -[2.13.0]: https://github.com/koopjs/featureserver/compare/v2.12.1...v2.13.0 -[2.12.1]: https://github.com/koopjs/featureserver/compare/v2.12.0...v2.12.1 -[2.12.0]: https://github.com/koopjs/featureserver/compare/v2.11.1...v2.12.0 -[2.11.1]: https://github.com/koopjs/featureserver/compare/v2.11.0...v2.11.1 -[2.11.0]: https://github.com/koopjs/featureserver/compare/v2.10.2...v2.11.0 -[2.10.2]: https://github.com/koopjs/featureserver/compare/v2.10.1...v2.10.2 -[2.10.1]: https://github.com/koopjs/featureserver/compare/v2.10.0...v2.10.1 -[2.10.0]: https://github.com/koopjs/featureserver/compare/v2.9.3...v2.10.0 -[2.9.3]: https://github.com/koopjs/featureserver/compare/v2.9.2...v2.9.3 -[2.9.2]: https://github.com/koopjs/featureserver/compare/v2.9.1...v2.9.2 -[2.9.1]: https://github.com/koopjs/featureserver/compare/v2.9.0...v2.9.1 -[2.9.0]: https://github.com/koopjs/featureserver/compare/v2.8.0...v2.9.0 -[2.8.0]: https://github.com/koopjs/featureserver/compare/v2.7.0...v2.8.0 -[2.7.0]: https://github.com/koopjs/featureserver/compare/v2.6.1...v2.7.0 -[2.6.1]: https://github.com/koopjs/featureserver/compare/v2.6.0...v2.6.1 -[2.6.0]: https://github.com/koopjs/featureserver/compare/v2.5.0...v2.6.0 -[2.5.0]: https://github.com/koopjs/featureserver/compare/v2.4.6...v2.5.0 -[2.4.6]: https://github.com/koopjs/featureserver/compare/v2.4.5...v2.4.6 -[2.4.5]: https://github.com/koopjs/featureserver/compare/v2.4.4...v2.4.5 -[2.4.4]: https://github.com/koopjs/featureserver/compare/v2.4.3...v2.4.4 -[2.4.3]: https://github.com/koopjs/featureserver/compare/v2.4.2...v2.4.3 -[2.4.2]: https://github.com/koopjs/featureserver/compare/v2.4.1...v2.4.2 -[2.4.1]: https://github.com/koopjs/featureserver/compare/v2.4.0...v2.4.1 -[2.4.0]: https://github.com/featureserver/featureserver/compare/v2.3.12...v2.4.0 -[2.3.12]: https://github.com/featureserver/featureserver/compare/v2.3.11...v2.3.12 -[2.3.11]: https://github.com/featureserver/featureserver/compare/v2.3.10...v2.3.11 -[2.3.10]: https://github.com/featureserver/featureserver/compare/v2.3.9...v2.3.10 -[2.3.9]: https://github.com/featureserver/featureserver/compare/v2.3.8...v2.3.9 -[2.3.8]: https://github.com/featureserver/featureserver/compare/v2.3.7...v2.3.8 -[2.3.7]: https://github.com/featureserver/featureserver/compare/v2.3.6...v2.3.7 -[2.3.6]: https://github.com/featureserver/featureserver/compare/v2.3.5...v2.3.6 -[2.3.5]: https://github.com/featureserver/featureserver/compare/v2.3.4...v2.3.5 -[2.3.4]: https://github.com/featureserver/featureserver/compare/v2.3.3...v2.3.4 -[2.3.3]: https://github.com/featureserver/featureserver/compare/v2.3.2...v2.3.3 -[2.3.2]: https://github.com/featureserver/featureserver/compare/v2.3.1...v2.3.2 -[2.3.1]: https://github.com/featureserver/featureserver/compare/v2.3.1...v2.3.0 -[2.3.0]: https://github.com/featureserver/featureserver/compare/v2.2.0...v2.3.0 -[2.2.0]: https://github.com/featureserver/featureserver/compare/v2.2.0...v2.1.0 -[2.1.0]: https://github.com/featureserver/featureserver/compare/v2.0.0...v2.1.0 -[2.0.0]: https://github.com/featureserver/featureserver/compare/v2.0.0...v1.3.4 -[1.3.4]: https://github.com/featureserver/featureserver/compare/v1.3.3...v1.3.4 -[1.3.3]: https://github.com/featureserver/featureserver/compare/v1.3.2...v1.3.3 -[1.3.2]: https://github.com/featureserver/featureserver/compare/v1.3.1...v1.3.2 -[1.3.1]: https://github.com/featureserver/featureserver/compare/v1.3.0...v1.3.1 -[1.3.0]: https://github.com/featureserver/featureserver/compare/v1.2.5...v1.3.0 -[1.2.5]: https://github.com/featureserver/featureserver/compare/v1.2.5...v1.2.4 -[1.2.4]: https://github.com/featureserver/featureserver/compare/v1.2.3...v1.2.4 -[1.2.3]: https://github.com/featureserver/featureserver/compare/v1.2.3...v1.2.2 -[1.2.2]: https://github.com/featureserver/featureserver/compare/v1.2.1...v1.2.2 -[1.2.1]: https://github.com/featureserver/featureserver/compare/v1.2.0...v1.2.1 -[1.2.0]: https://github.com/featureserver/featureserver/compare/v1.1.1...v1.2.0 -[1.1.1]: https://github.com/featureserver/featureserver/compare/v1.1.0...v1.1.1 -[1.1.0]: https://github.com/featureserver/featureserver/compare/v1.0.10...v1.1.0 -[1.0.10]: https://github.com/featureserver/featureserver/compare/v1.0.9...v1.0.10 -[1.0.9]: https://github.com/featureserver/featureserver/compare/v1.0.8...v1.0.9 -[1.0.8]: https://github.com/featureserver/featureserver/compare/v1.0.7...v1.0.8 -[1.0.7]: https://github.com/featureserver/featureserver/compare/v1.0.6...v1.0.7 -[1.0.6]: https://github.com/featureserver/featureserver/compare/v1.0.5...v1.0.6 -[1.0.5]: https://github.com/featureserver/featureserver/compare/v1.0.4...v1.0.5 -[1.0.4]: https://github.com/featureserver/featureserver/compare/v1.0.3...v1.0.4 -[1.0.3]: https://github.com/featureserver/featureserver/compare/v1.0.2...v1.0.3 -[1.0.2]: https://github.com/featureserver/featureserver/compare/v1.0.1...v1.0.2 -[1.0.1]: https://github.com/featureserver/featureserver/compare/v1.0.0...v1.0.1 -[1.0.0]: https://github.com/featureserver/featureserver/releases/tag/v1.0.0 diff --git a/packages/featureserver/CHANGELOG.md b/packages/featureserver/CHANGELOG.md deleted file mode 100644 index e4d83e996..000000000 --- a/packages/featureserver/CHANGELOG.md +++ /dev/null @@ -1,152 +0,0 @@ -# @koopjs/featureserver - -## 8.1.1 - -### Patch Changes - -- Updated dependencies [1e94ba5] - - @koopjs/winnow@4.1.1 - -## 8.1.0 - -### Minor Changes - -- all server and layer metadata defaults to be overriden with setDefaults method - -## 8.0.0 - -### Major Changes - -- remove authentication and authorization handling and move to output-geoservices - -## 7.1.7 - -### Patch Changes - -- move filtering of objectIds to winnow dependency -- Updated dependencies [8671389] - - @koopjs/winnow@4.1.0 - -## 7.1.6 - -### Patch Changes - -- fix: coerce POST body parameters - -## 7.1.5 - -### Patch Changes - -- date parser fix -- add logger -- Updated dependencies [faf732d] - - @koopjs/winnow@4.0.5 - -## 7.1.4 - -### Patch Changes - -- cleanup inefficient regexs -- Updated dependencies [accae0c] - - @koopjs/winnow@4.0.4 - -## 7.1.3 - -### Patch Changes - -- Updated dependencies [f90b4ac] - - @koopjs/winnow@4.0.3 - -## 7.1.2 - -### Patch Changes - -- wrap errors like ArcGIS server -- Updated dependencies [ba532e2] - - @koopjs/winnow@4.0.2 - -## 7.1.1 - -### Patch Changes - -- tolerate strings that begin with problematic characters - -## 7.1.0 - -### Minor Changes - -- add support for returnDistinctValues - -### Patch Changes - -- Updated dependencies [3097431] - - @koopjs/winnow@4.0.1 - -## 7.0.0 - -### Major Changes - -- drop support for Node 12 - -### Patch Changes - -- Updated dependencies [98fe5ca] - - @koopjs/winnow@4.0.0 - -## 6.1.0 - -### Minor Changes - -set hasZ from feature metadata in query handler - -## 6.0.1 - -### Patch Changes - -- Updated dependencies [c2882fa] - - @koopjs/winnow@3.1.1 - -## 6.0.0 - -### Major Changes - -- BREAKING CHANGE: remove support for "limit" query param as it is not part of the Geoservices API specification -- add coercion of query params (empty string to undefined, "true"/"false" to bool, stringified JSON to JSON) -- merge body and query params into one set of request parameters - -## 5.1.0 - -### Minor Changes - -- use koop or other winston-based logger instead of console -- add a Logger singleton -- add a public `setLogger` method that can be used to override default logger or set level -- pass logger instance on to Winnow - -### Patch Changes - -- Updated dependencies [c1b0bce] - - @koopjs/winnow@3.1.0 - -## 5.0.1 - -### Patch Changes - -- Patch bumping for a clean release -- Updated dependencies [c7decc5] - - @koopjs/winnow@3.0.1 - -## 5.0.0 - -### Major Changes - -- scope repo to koop organization -- migrate to Koop monorepo -- move code to `/src` directory -- co-locate unit test files -- migrate to eslint - -### Patch Changes - -- Updated dependencies [0c8944e4] - - @koopjs/winnow@3.0.0 diff --git a/packages/featureserver/README.md b/packages/featureserver/README.md deleted file mode 100644 index 99bb62f2c..000000000 --- a/packages/featureserver/README.md +++ /dev/null @@ -1,589 +0,0 @@ -# FeatureServer -[![npm][npm-image]][npm-url] -![coverage](./coverage.svg) - -*An open source implementation of the GeoServices specification* - -## Usage -FeatureServer is the underlying dependency of the Koop Output-Geoservices plugin. However, it can also be used on its own with Express. - -### Example of direct usage with Express -```js -const express = require('express') -const app = express() // set up a basic express server -const FeatureServer = require('@koopjs/featureserver') -const cache = require('cache') - -// We only need one handler because FeatureServer.route is going to do all the work -const handler = (req, res) => { - cache.get(/* some geojson */, (err, data) => { - if (err) res.status(500).json({error: err.message}) - else FeatureServer.route(req, res, data) - }) -} - -// Sets up all of the handled routes to support `GET` and `POST` -const routes = ['/FeatureServer', '/FeatureServer/layers', '/FeatureServer/:layer', '/FeatureServer/:layer/:method'] - -routes.forEach(route => { - app.route(route) - .get(handler) - .post(handler) -}) -``` - -## API -* [FeatureServer.route](#featureserver.route) -* [FeatureServer.query](#featureserver.query) -* [FeatureServer.serverInfo](#featureserver.serverInfo) -* [FeatureServer.layerInfo](#featureserver.layerInfo) -* [FeatureServer.layers](#featureserver.layers) -* [FeatureServer.generateRenderer](#featureserver.generateRenderer) -* [FeatureServer.authenticate](#featureserver.authenticate) -* [FeatureServer.error.authorize](#featureserver.error.authorize) -* [FeatureServer.authenticate](#featureserver.error.authenticate) -* [FeatureServer.queryRelatedRecords](#featureserver.queryRelatedRecords) -* [FeatureServer.setDefaults](#featureserver.setDefaults) - -### FeatureServer.route -Pass in an `incoming request object`, an `outgoing response object`, a `geojson` object, and `options` and this function will route and return a geoservices compliant response - -- Supports: '/FeatureServer', '/FeatureServer/layers', '/FeatureServer/:layer', '/FeatureServer/:layer/:method' - - _Note_: only `query`, `info`, and `generateRenderer` are supported methods at this time. - -```js -FeatureServer.route(req, res, data, options) -``` - -- **data** is either a geojson object extended with some additional properties or an object with a layers property which an array of extended geojson objects. These properties are optional and can be used to provide more specific metadata or to shortcut the built in filtering mechanism. - -e.g. - -```js -{ - type: 'FeatureCollection' // Static - features: Array, // GeoJSON features - statistics: Object, // pass statistics to an outStatistics request to or else they will be calculated from geojson features passed in - metadata: { - id: number, // The unique layer id. If supplied for one layer, you should supply for all layers to avoid multiple layers having the same id. - name: String, // The name of the layer - description: String, // The description of the layer - copyrightText: String, // The copyright text (layer attribution text) - extent: Array, // valid extent array e.g. [[180,90],[-180,-90]] - displayField: String, // The display field to be used by a client - geometryType: String // REQUIRED if no features are returned with this object Point || MultiPoint || LineString || MultiLineString || Polygon || MultiPolygon - idField: String, // unique identifier field, - maxRecordCount: Number, // the maximum number of features a provider can return at once - limitExceeded: Boolean, // whether or not the server has limited the features returned - timeInfo: Object, // describes the time extent and capabilities of the layer, - transform: Object, // describes a quantization transformation - renderer: Object, // provider can over-ride default symbology of FeatureServer output with a renderer object. See https://developers.arcgis.com/web-map-specification/objects/simpleRenderer, for object specification. - defaultVisibility: boolean, // The default visibility of this layer - minScale: number, // The minScale value for this layer - maxScale: number, // The maxScale value for this layer - fields: [ - { // Subkeys are optional - name: String, - type: String, // 'Date' || 'Double' || 'Integer' || 'String' - alias: String, // how should clients display this field name, - } - ] - }, - capabilities: { - quantization: Boolean // True if the provider supports quantization - }, - filtersApplied: { - all: Boolean // true if all post processing should be skipped - geometry: Boolean, // true if a geometric filter has already been applied to the data - where: Boolean, // true if a sql-like where filter has already been applied to the data - offset: Boolean // true if the result offset has already been applied to the data, - limit: Boolean // true if the result count has already been limited, - projection: Boolean // true if the result data has already been projected - } - count: Number // pass count if the number of features in a query has been pre-calculated -} -``` - -or - -```js -{ - layers: [ - { - type: 'FeatureCollection' - ... - }, - { - type: 'FeatureCollection' - ... - } -] -``` -- **options** is an object that dictates method actions. See `FeatureServer.query` and `FeatureServer.generateRenderer` for more details. - -### FeatureServer.query -Pass in `geojson` and `options` (a valid [geoservices query object](https://geoservices.github.io/query.html)), and the function will perform the query and return a valid geoservices query object. The in addition to input `statistics: {}`, following is an example of _all_ query `options` that can be passed into the query route: '/FeatureServer/:layer/query' - -e.g. - -```js -const options = { - where: `1=1`, - objectIds: '1,2,3', - geometry: { - xmin: -110, ymin: 30, xmax: -106, ymax: 50, - spatialReference: { wkid: 4326 }, - }, - geometryType: 'esriGeometryEnvelope', - spatialRel: 'esriSpatialRelContains', - outFields: '*', - returnGeometry: true, - outSR: 102100, // output spatial reference - returnIdsOnly: true, - returnCountOnly: true, - orderByFields: 'Full/Part_COUNT DESC', - groupByFieldsForStatistics: 'Full/Part', - outStatistics: { - statisticType: 'count', - onStatisticField: '', - outStatisticFieldName: 'name' - }, - returnDistinctValues: true, - resultOffset: 0, - resultRecordCount: 0, - f: 'pjson' -} - -FeatureServer.query(geojson, options) -``` - -### FeatureServer.serverInfo -Generate version `10.51` Geoservices server info - -```js -const server = { - description: String // Describes the collection of layers below, - copyrightText: String // Optional copyright text - maxRecordCount: Number // the maximum number of features a provider can return at once, - hasStaticData: Boolean // whether or not the server contains any data that is not changing - hasAttachments: Boolean // whether or not the server contains any attachments for this layer - layers: [{ // A collection of all the layers managed by the server - type: 'FeatureCollection', - metadata: { - id: number, // The unique layer id. If supplied for one layer, you should supply for all layers to avoid multiple layers having the same id. - name: String, // The name of the layer - description: String, // The description of the layer - extent: Array, // valid extent array e.g. [[180,90],[-180,-90]] - displayField: String, // The display field to be used by a client - idField: String, // unique identifier field, - geometryType: String, // REQUIRED if no features are returned with this object Point || MultiPoint || LineString || MultiLineString || Polygon || MultiPolygon - maxRecordCount: Number, // the maximum number of features a provider can return at once - limitExceeded: Boolean, // whether or not the server has limited the features returned - timeInfo: Object, // describes the time extent and capabilities of the layer - renderer: Object, // provider can over-ride default symbology of FeatureServer output with a renderer object. See https://developers.arcgis.com/web-map-specification/objects/simpleRenderer, for object specification. - defaultVisibility: boolean, // The default visibility of this layer - minScale: number, // The minScale value for this layer - maxScale: number // The maxScale value for this layer - } - features: [// If all the metadata provided above is provided features are optional. - { - type: 'Feature', - geometry: { - type: 'Point', - coordinates: [125.6, 10.1] - }, - properties: { - name: 'Dinagat Islands' - } - }] - } - }], - tables: [{ // A collection of all the tables managed by the server - type: 'FeatureCollection', - metadata: { - // see layer metadata - } - }], - relationships: [{ // A collection of all relationships manged by the server - id: number, // The unique relationship id. - name: String, // The name of the relationship - }] -} - -FeatureServer.serverInfo(server) -``` - -### FeatureServer.layerInfo -Generate version `10.51` Geoservices information about a single layer -```js -FeatureServer.layerInfo(geojson, options) -``` - -Note that the layer info is modified with properties `metadata` and `capabilites` found at the top-level of the GeoJSON object. - -|GeoJSON property| Layer info result| -|---|---| -|`metadata.id`| overrides default| -|`metadata.name`| overrides default| -|`metadata.description`| overrides default | -|`metadata.geometryType`| overrides value determined from data | -|`metadata.extent`| overrides value determined from data | -|`metadata.timeInfo`| overrides default | -|`metadata.maxRecordCount`| overrides default (2000) | -|`metadata.displayField`| overrides default (`OBJECTID`) | -|`metadata.objectIdField`| overrides default (`OBJECTID`) | -|`metadata.hasStaticData`| overrides default (`false`) | -|`metadata.hasAttachments`| overrides default (`false`) | -|`metadata.renderer`| overrides default | -|`metadata.defaultVisibility`| overrides default | -|`metadata.minScale`| overrides default | -|`metadata.maxScale`| overrides default | -|`metadata.relationships` | overrides default | -|`capabilities.extract`| when set to `true`, `Extract` added to `capabilites` (e.g., `capabilities: "Query,Extract"`) | -|`capabilities.quantization`| when set to `true`, `supportsCoordinatesQuantization: true` | - -##### metadata.relationships -This defined the server managed relationships for the layer - -e.g. - -```js -const metadata = { - //... - relationships: [{ // A collection of all relationships manged by the server - id: number, // The unique relationship id. - name: String, // The name of the relationship - relatedTableId: number, // Id of the layer/table related records are found - cardinality: String, // esriRelCardinalityOneToMany | esriRelCardinalityManyToMany - role: String, // esriRelRoleOrigin | esriRelRoleDestination - keyField: String, // key field name in the related Table - composite: Boolean // likely to false - }] - //... -} -``` - -### FeatureServer.layers -Generate version `10.51` Geoservices information about one or many layers - -Can pass a single geojson object or an array of geojson objects -```js -FeatureServer.layers(geojson, options) -``` - -### FeatureServer.generateRenderer -Pass in `geojson` and `options`, and the function will return a valid generateRenderer object. Two `classificationDef` classification types are supported, _classBreaksDef_ and _uniqueValueDef_. - -_classBreaksDef_ is used to classify numeric data based on a number of breaks and a statistical method. Features can also be normalized before being classified. _uniqueValueDef_ is used to classify data based on a unique field(s). If classification breaks are not supplied through in `statistics`, they will be generated using `classificationDef` options. The output is a _generateRenderer_ object. - -##### classBreaksDef -In addition to class breaks as input `statistics: []`, the following is an example of _all_ classBreaksDef `options` that can be passed into the generateRenderer route: '/FeatureServer/:layer/generateRenderer' - -e.g. - -```js -const options = { - *'classificationDef': { - *'type': 'classBreaksDef', - *'classificationField': '', - *'classificationMethod': 'esriClassifyEqualInterval' | 'esriClassifyNaturalBreaks' | 'esriClassifyQuantile' | 'esriClassifyStandardDeviation', - *'breakCount': 9, - 'normalizationType': 'esriNormalizeByField' | 'esriNormalizeByLog' | 'esriNormalizeByPercentOfTotal', - 'normalizationField': '' // mandatory if 'normalizationType' === 'esriNormalizeByField' - 'baseSymbol': { - 'type': 'esriSMS', - 'style': 'esriSMSCircle', - 'width': 2 - }, - 'colorRamp': { - 'type': 'algorithmic', - 'fromColor': [115,76,0,255], - 'toColor': [255,25,86,255], - 'algorithm': 'esriHSVAlgorithm' - } - }, - 'where': ' > 39' -} - -FeatureServer.generateRender(geojson, options) - -*required -``` - -Output: - -```js -{ - type: 'classBreaks', - field: '', - classificationMethod: 'esriClassifyEqualInterval', - minValue: 0, - classBreakInfos: [ - { - classMinValue: 0, - classMaxValue: 5, - label: '0-5', - description: '', - symbol: { - type: 'esriSMS', - style: 'esriSMSCircle', - width: 2, - color: [115, 76, 0] - } - }, - { - classMinValue: 6, - classMaxValue: 11, - label: '6-11', - description: '', - symbol: { - type: 'esriSMS', - style: 'esriSMSCircle', - width: 2, - color: [156, 67, 0] - } - }, - ... - ] -} -``` - -##### uniqueValueDef -The following is an example of _all_ uniqueValueDef `options` that can be passed into the generateRenderer route: '/FeatureServer/:layer/generateRenderer' - -e.g. - -```js -const options = { - *'classificationDef': { - *'type': 'uniqueValueDef', - *'uniqueValueFields': ['Genus', '', ''], - *'fieldDelimiter': ', ' - 'baseSymbol': { - 'type': 'esriSMS', - 'style': 'esriSMSCircle', - 'width': 2 - }, - 'colorRamp': { - 'type': 'algorithmic', - 'fromColor': [115,76,0,255], - 'toColor': [255,25,86,255], - 'algorithm': 'esriHSVAlgorithm' - } - }, - 'where': 'latitude > 39' -} - -FeatureServer.generateRender(geojson, options) - -*required -``` - -Output: - -```js -{ - type: 'uniqueValue', - field1: 'Genus', - field2: '', - field3: '', - fieldDelimiter: ', ', - defaultSymbol: {}, - defaultLabel: '', - uniqueValueInfos: [ - { - value: 'MAGNOLIA', - count: 5908, - label: 'MAGNOLIA', - description: '', - symbol: { - type: 'esriSMS', - style: 'esriSMSCircle', - width: 2, - color: [115, 76, 0] - } - }, - { - value: 'QUERCUS', - count: 12105, - label: 'QUERCUS', - description: '', - symbol: { - type: 'esriSMS', - style: 'esriSMSCircle', - width: 2, - color: [116, 76, 0] - } - }, - ... - ] -``` - -### FeatureServer.authenticate -Pass in an outgoing response object and an authentication success object and this function will route and return a formatted authentication success response. - - FeatureServer.authenticate(res, auth, ssl = false) - -* `auth` is the result of a successful authentication attempt that returns a token and expiration time -* `ssl` is a boolean flag indicating if token should always be passed back via HTTPS. Defaults to `false` - -e.g., - - const auth = { - "token":"elS39KU4bMmZQgMXDuswgA14vavIp4mfpiqcWSr0qM6q4dFguTnnHddWqbpK5Mc3HsCN8XghlwawUUYApOOcxKNyg_9WqTofChJXxxD058_rL1HZkM5PDhUOh9YYQn1K", - "expires":1524508236322 - } - - FeatureServer.authenticate(res, auth) - - { - "token":"elS39KU4bMmZQgMXDuswgA14vavIp4mfpiqcWSr0qM6q4dFguTnnHddWqbpK5Mc3HsCN8XghlwawUUYApOOcxKNyg_9WqTofChJXxxD058_rL1HZkM5PDhUOh9YYQn1K", - "expires":1524508236322, - ssl: false - } - -### FeatureServer.error.authorize -Pass in an outgoing response object and this function will route and return a formattted authorization error. - - FeatureServer.error.authorize(res) - - { - "error": { - "code": 499, - "message": "Token Required", - "details": [] - } - } - -### FeatureServer.error.authenticate -Pass in an outgoing response object and this function will route and return a formatted authentication error. - - FeatureServer.error.authenticate(res) - - { - "error": { - "code": 400, - "message": "Unable to generate token.", - "details": ["Invalid username or password."] - } - } - - -[npm-image]: https://img.shields.io/npm/v/@koopjs/featureserver.svg?style=flat-square -[npm-url]: https://www.npmjs.com/package/@koopjs/featureserver - - -### FeatureServer.queryRelatedRecords -Pass in `geojson` and `options`, and the function will return a valid queryRelatedRecords object. Required attributes within `options` are `objectIds` and `relationshipId`. - -The `geojson` should be in the special FeatureCollection of FeatureCollections format to show the relationship between requested Features within the layer/table and the referenced relatinoship's features. -e.g. - -```js - const geojson = { - "type": "FeatureCollection", - "features": [ // Array of FeatureCollections by objectId with the related records as features - { - "type": "FeatureCollection", - "properties": { - "OBJECTID": 37 - }, - "features": [ - { - "type": "Feature", - "geometry": {...}, - "properties": {...} - } - ] - } - ] - } - - const options = { - objectIds: "37, 462", // comma separated string of object ids within the layer to get related records - relationshipId: 4, // relationship Id of the server manged relationship of the layer, see FeatureServer.layerInfo - } - -FeatureServer.queryRelatedRecords(geojson, options) -``` - -Output: - -```js -{ - "geometryType": "esriGeometryPolygon", - "spatialReference": { - "wkid": 4267 - }, - "fields": [ - { - "name": "OBJECTID", - "type": "esriFieldTypeOID", - "alias": "OBJECTID" - }, - { - "name": "FIELD1", - "type": "esriFieldTypeString", - "alias": "FIELD1", - "length": 25 - } - ], - "relatedRecordGroups": [ - { - "objectId": 37, - "relatedRecords": [ - { - "attributes": { - "OBJECTID": 5540, - "FIELD1": "1000147595" - }, - "geometry": {...} - } - ] - } - ] -} -``` - -### FeatureServer.setDefaults -FeatureServer allows setting some server and layer metadata values that are returned by the `FeatureServer.serverInfo` and `FeatureServer.layerInfo` methods. You can use the `setDefaults` method with an object that follows the following schema, though it need not have all properties listed below. - -```js -{ - currentVersion, // number; feature server version, - fullVersion, // string; feature server full version - maxRecordCount // number; max record count for queries - server: { - serviceDescription, // string; default serviceDescription returned in server metadata - description, // string; default description returned in server metadata - copyrightText, // string; default copyrightText return in server metadata - hasStaticData, // boolean; - spatialReference, // ArcGIS spatial reference; https://developers.arcgis.com/web-map-specification/objects/spatialReference/ - initialExtent, // ArcGIS extent; https://developers.arcgis.com/web-map-specification/objects/extent/ - fullExtent // ArcGIS extent; https://developers.arcgis.com/web-map-specification/objects/extent/ - }), - layer: { - description, // string; default description returned in server metadata - copyrightText, // string; default copyrightText return in server metadata - extent // ArcGIS extent; https://developers.arcgis.com/web-map-specification/objects/extent/ - } -} -``` - -#### Examples: - -If you are using FeatureServer directly (i.e., not via Koop): - -```js -const FeatureServer = require('@koopjs/featureserver'); -FeatureServer.setDefaults({ currentVersion: 99.0 }) -``` - -If you are using FeatureServer as part of a Koop instance, FeatureServer is registered on instantiation. But you can pass the `geoservicesDefaults` option to the Koop constructor: - -```js -const koop = new Koop({ - geoservicesDefaults: { currentVersion: 99.0 } -}); - -``` diff --git a/packages/featureserver/coverage-unit.svg b/packages/featureserver/coverage-unit.svg deleted file mode 100644 index e47c20bfb..000000000 --- a/packages/featureserver/coverage-unit.svg +++ /dev/null @@ -1,20 +0,0 @@ - - coverage: 91.5% - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/featureserver/coverage.svg b/packages/featureserver/coverage.svg deleted file mode 100644 index 6dfa0bb0a..000000000 --- a/packages/featureserver/coverage.svg +++ /dev/null @@ -1,20 +0,0 @@ - - coverage: 96.8% - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/featureserver/package.json b/packages/featureserver/package.json index d7387c58d..cb5f0f241 100644 --- a/packages/featureserver/package.json +++ b/packages/featureserver/package.json @@ -1,33 +1,14 @@ { - "name": "@koopjs/featureserver", + "name": "featureserver", "version": "8.1.1", - "description": "*An open source implementation of the GeoServices specification*", "main": "src/index.js", - "directories": { - "test": "test" - }, "scripts": { - "test": "mocha '**/*.spec.js' --recursive -t 5000", - "test:cov": "nyc -r=json-summary mocha '**/*.spec.js' && npm run cov:badge && npm run test:cov:unit", - "test:cov:unit": "nyc -r=json-summary --report-dir=coverage_unit --temp-dir=.nyc_output_unit mocha 'src/**/*.spec.js' && npm run cov:badge:unit", - "test:cov:unit:loc": "nyc -r=html --report-dir=coverage_unit --temp-dir=.nyc_output_unit mocha 'src/**/*.spec.js' && npm run cov:badge:unit", - "cov:badge": "coverage-badges-cli --output ./coverage.svg", - "cov:badge:unit": "coverage-badges-cli --source coverage_unit/coverage-summary.json --output ./coverage-unit.svg" + "clean": "shx rm -rf ../../customdata/framework/featureserver && shx rm package-lock.json", + "build": "shx mkdir ../../customdata/framework/featureserver && shx cp package.json ../../customdata/framework/featureserver && shx cp -r ./src ../../customdata/framework/featureserver && shx cp -r ./node_modules ../../customdata/framework/featureserver" }, - "contributors": [ - { - "name": "Daniel Fenton" - }, - { - "name": "Rich Gwozdz", - "email": "rgwozdz@esri.com" - } - ], "license": "Apache-2.0", "dependencies": { "@esri/proj-codes": "^3.1.0", - "@koopjs/logger": "5.0.0", - "@koopjs/winnow": "4.1.1", "@terraformer/spatial": "^2.1.2", "chroma-js": "^2.0.0", "esri-extent": "^1.1.3", @@ -36,34 +17,5 @@ "joi": "^17.9.2", "lodash": "^4.17.21", "wkt-parser": "^1.3.3" - }, - "devDependencies": { - "express": "^4.18.2", - "mocha": "^10.0.0", - "nyc": "^15.1.0", - "proxyquire": "^2.1.3", - "should": "^13.0.0", - "should-sinon": "0.0.6", - "sinon": "^15.0.0", - "supertest": "^6.3.3" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/koopjs/FeatureServer.git" - }, - "keywords": [ - "featureserver", - "geoservices", - "geojson", - "sql" - ], - "files": [ - "src/**/*.js", - "index.d.ts", - "!**/*.spec.js" - ], - "bugs": { - "url": "https://github.com/koopjs/koop/issues" - }, - "homepage": "https://github.com/koopjs/koop#readme" + } } diff --git a/packages/featureserver/src/generate-renderer/color-ramp.spec.js b/packages/featureserver/src/generate-renderer/color-ramp.spec.js deleted file mode 100644 index 50c0497ae..000000000 --- a/packages/featureserver/src/generate-renderer/color-ramp.spec.js +++ /dev/null @@ -1,157 +0,0 @@ -const should = require('should'); // eslint-disable-line -const { - createColorRamp -} = require('./color-ramp'); - -const classification = [ - [80, 147], - [147, 174], - [174, 195], - [195, 218], - [240, 270], - [307, 360], - [360, 558], - [558, 799], - [799, 2000] -]; - -describe('when creating a color ramp that', () => { - describe('is algorithmic', () => { - it('should throw an error on no breaks option', () => { - createColorRamp.bind().should.throw(); - }); - - it('should throw an error on invalid type option', () => { - createColorRamp.bind(null, { classification, type: 'foo' }).should.throw(); - }); - - it('should throw an error on multipart type with color-ramps', () => { - createColorRamp.bind(null, { classification, type: 'multipart' }).should.throw(); - }); - - it('should return correct hsv color ramp', () => { - const response = createColorRamp({ - classification, - type: 'algorithmic', - fromColor: [0, 255, 0], - toColor: [0, 0, 255], - algorithm: 'esriHSVAlgorithm' - }); - response.should.deepEqual([ - [0, 255, 0], - [0, 255, 64], - [0, 255, 128], - [0, 255, 191], - [0, 255, 255], - [0, 191, 255], - [0, 127, 255], - [0, 64, 255], - [0, 0, 255] - ]); - }); - - it('should return correct lab color ramp', () => { - const response = createColorRamp({ - classification, - type: 'algorithmic', - fromColor: [0, 255, 0], - toColor: [0, 0, 255], - algorithm: 'esriCIELabAlgorithm' - }); - response.should.deepEqual([ - [0, 255, 0], - [87, 228, 79], - [111, 201, 114], - [123, 174, 141], - [125, 147, 166], - [121, 120, 189], - [108, 91, 211], - [83, 58, 233], - [0, 0, 255] - ]); - }); - - it('should return correct lch color ramp', () => { - const response = createColorRamp({ - classification, - type: 'algorithmic', - fromColor: [0, 255, 0], - toColor: [0, 0, 255], - algorithm: 'esriLabLChAlgorithm' - }); - response.should.deepEqual([ - [0, 255, 0], - [0, 242, 105], - [0, 225, 173], - [0, 206, 237], - [0, 186, 255], - [0, 163, 255], - [0, 135, 255], - [0, 96, 255], - [0, 0, 255] - ]); - }); - - it('should return multiple color ramps', () => { - const multipartRamp = { - type: 'multipart', - colorRamps: [ - { - type: 'algorithmic', - fromColor: [0, 255, 0], - toColor: [0, 0, 255], - algorithm: 'esriHSVAlgorithm' - }, - { - type: 'algorithmic', - fromColor: [0, 255, 0], - toColor: [0, 0, 255], - algorithm: 'esriCIELabAlgorithm' - }, - { - type: 'algorithmic', - fromColor: [0, 255, 0], - toColor: [0, 0, 255], - algorithm: 'esriLabLChAlgorithm' - } - ] - }; - const response = createColorRamp({ classification, ...multipartRamp }); - response.should.deepEqual([ - [ - [0, 255, 0], - [0, 255, 64], - [0, 255, 128], - [0, 255, 191], - [0, 255, 255], - [0, 191, 255], - [0, 127, 255], - [0, 64, 255], - [0, 0, 255] - ], - [ - [0, 255, 0], - [87, 228, 79], - [111, 201, 114], - [123, 174, 141], - [125, 147, 166], - [121, 120, 189], - [108, 91, 211], - [83, 58, 233], - [0, 0, 255] - ], - [ - [0, 255, 0], - [0, 242, 105], - [0, 225, 173], - [0, 206, 237], - [0, 186, 255], - [0, 163, 255], - [0, 135, 255], - [0, 96, 255], - [0, 0, 255] - ] - ]); - }); - }); -}); diff --git a/packages/featureserver/src/generate-renderer/create-symbol.spec.js b/packages/featureserver/src/generate-renderer/create-symbol.spec.js deleted file mode 100644 index f29ad7322..000000000 --- a/packages/featureserver/src/generate-renderer/create-symbol.spec.js +++ /dev/null @@ -1,93 +0,0 @@ -const should = require('should'); // eslint-disable-line -const { - createSymbol -} = require('./create-symbol'); - -describe('when creating a symbol', () => { - it('uses passed in base symbol and color', () => { - const result = createSymbol({ foo: 'bar' }, 'red'); - result.should.deepEqual({ foo: 'bar', color: 'red' }); - }); - - it('errors without base symbol or geometry type', () => { - try { - createSymbol(undefined, 'red'); - should.fail('should have thrown error'); - } catch (error) { - error.message.should.equal('Dataset geometry type is not supported for renderers.'); - error.code.should.equal(400); - } - }); - - it('gets symbol from point renderer', () => { - const result = createSymbol(undefined, 'red', 'esriGeometryPoint'); - result.should.deepEqual({ - color: 'red', - outline: { - color: [ - 190, - 190, - 190, - 105 - ], - width: 0.5, - type: 'esriSLS', - style: 'esriSLSSolid' - }, - size: 7.5, - type: 'esriSMS', - style: 'esriSMSCircle' - }); - }); - - it('gets symbol from point renderer', () => { - const result = createSymbol(undefined, 'red', 'esriGeometryMultiPoint'); - result.should.deepEqual({ - color: 'red', - outline: { - color: [ - 190, - 190, - 190, - 105 - ], - width: 0.5, - type: 'esriSLS', - style: 'esriSLSSolid' - }, - size: 7.5, - type: 'esriSMS', - style: 'esriSMSCircle' - }); - }); - - it('gets symbol from line renderer', () => { - const result = createSymbol(undefined, 'red', 'esriGeometryPolyline'); - result.should.deepEqual({ - color: 'red', - width: 6.999999999999999, - type: 'esriSLS', - style: 'esriSLSSolid' - }); - }); - - it('gets symbol from polygon renderer', () => { - const result = createSymbol(undefined, 'red', 'esriGeometryPolygon'); - result.should.deepEqual({ - color: 'red', - outline: { - color: [ - 150, - 150, - 150, - 155 - ], - width: 0.5, - type: 'esriSLS', - style: 'esriSLSSolid' - }, - type: 'esriSFS', - style: 'esriSFSSolid' - }); - }); -}); diff --git a/packages/featureserver/src/generate-renderer/index.js b/packages/featureserver/src/generate-renderer/index.js index 28e7cbf5b..88c66271d 100644 --- a/packages/featureserver/src/generate-renderer/index.js +++ b/packages/featureserver/src/generate-renderer/index.js @@ -1,4 +1,4 @@ -const Winnow = require('@koopjs/winnow'); +const Winnow = require('../../../winnow'); const { getGeometryTypeFromGeojson } = require('../helpers'); const validateClassificationDefinition = require('./validate-classification-definition'); const { createColorRamp } = require('./color-ramp'); diff --git a/packages/featureserver/src/generate-renderer/index.spec.js b/packages/featureserver/src/generate-renderer/index.spec.js deleted file mode 100644 index 4b1cb5b4f..000000000 --- a/packages/featureserver/src/generate-renderer/index.spec.js +++ /dev/null @@ -1,417 +0,0 @@ -const should = require('should'); // eslint-disable-line -const proxyquire = require('proxyquire'); -const sinon = require('sinon'); - -describe('generate-renderer', () => { - it('should handle empty data', () => { - const generateRenderer = require('./'); - - const result = generateRenderer(); - - result.should.deepEqual({}); - }); - - describe('with pre-calculated statistics', () => { - it('should render precalculated statistics', () => { - const getGeometrySpy = sinon.spy(function () { - return 'esriGeometryPoint'; - }); - - const createSymbolSpy = sinon.spy(function () { - return 'symbol'; - }); - - const createColorRampSpy = sinon.spy(function () { - return ['color-1', 'color-2']; - }); - - const generateRenderer = proxyquire('./', { - '../helpers': { - getGeometryTypeFromGeojson: getGeometrySpy - }, - './create-symbol': { - createSymbol: createSymbolSpy - }, - './color-ramp': { - createColorRamp: createColorRampSpy - } - }); - - const data = { - statistics: { - classBreaks: [ - [0, 10], - [21, 30], - [11, 20] - ] - } - }; - const result = generateRenderer(data); - - result.should.deepEqual({ - type: 'classBreaks', - field: '', - classificationMethod: '', - minValue: 0, - classBreakInfos: [ - { - classMinValue: 0, - classMaxValue: 10, - label: '0-10', - description: '', - symbol: 'symbol' - }, - { - classMinValue: 11, - classMaxValue: 20, - label: '11-20', - description: '', - symbol: 'symbol' - }, - { - classMinValue: 21, - classMaxValue: 30, - label: '21-30', - description: '', - symbol: undefined - } - ] - }); - - getGeometrySpy.calledOnce.should.equal(true); - getGeometrySpy.firstCall.args.should.deepEqual([data]); - createColorRampSpy.calledOnce.should.equal(true); - createColorRampSpy.firstCall.args.should.deepEqual([ - { classification: data.statistics.classBreaks } - ]); - createSymbolSpy.calledTwice.should.equal(true); - createSymbolSpy.firstCall.args.should.deepEqual([ - undefined, - 'color-1', - 'esriGeometryPoint' - ]); - createSymbolSpy.secondCall.args.should.deepEqual([ - undefined, - 'color-2', - 'esriGeometryPoint' - ]); - }); - - it('should render precalculated statistics with default geometry type', () => { - const getGeometrySpy = sinon.spy(function () { - - }); - - const createSymbolSpy = sinon.spy(function () { - return 'symbol'; - }); - - const createColorRampSpy = sinon.spy(function () { - return ['color-1', 'color-2']; - }); - - const generateRenderer = proxyquire('./', { - '../helpers': { - getGeometryTypeFromGeojson: getGeometrySpy - }, - './create-symbol': { - createSymbol: createSymbolSpy - }, - './color-ramp': { - createColorRamp: createColorRampSpy - } - }); - - const data = { - statistics: { - classBreaks: [ - [0, 10], - [21, 30], - [11, 20] - ] - } - }; - const result = generateRenderer(data); - - result.should.deepEqual({ - type: 'classBreaks', - field: '', - classificationMethod: '', - minValue: 0, - classBreakInfos: [ - { - classMinValue: 0, - classMaxValue: 10, - label: '0-10', - description: '', - symbol: 'symbol' - }, - { - classMinValue: 11, - classMaxValue: 20, - label: '11-20', - description: '', - symbol: 'symbol' - }, - { - classMinValue: 21, - classMaxValue: 30, - label: '21-30', - description: '', - symbol: undefined - } - ] - }); - - getGeometrySpy.calledOnce.should.equal(true); - getGeometrySpy.firstCall.args.should.deepEqual([data]); - createColorRampSpy.calledOnce.should.equal(true); - createColorRampSpy.firstCall.args.should.deepEqual([ - { classification: data.statistics.classBreaks } - ]); - createSymbolSpy.calledTwice.should.equal(true); - createSymbolSpy.firstCall.args.should.deepEqual([ - undefined, - 'color-1', - 'esriGeometryPoint' - ]); - createSymbolSpy.secondCall.args.should.deepEqual([ - undefined, - 'color-2', - 'esriGeometryPoint' - ]); - }); - }); - - describe('with winnow statistics', () => { - it('should throw error when no classificationDef provided', () => { - const winnowSpy = sinon.spy(function () { - return [ - [0, 10], - [11, 20], - [21, 30] - ]; - }); - - const getGeometrySpy = sinon.spy(function () { - return 'esriGeometryPoint'; - }); - - const generateRenderer = proxyquire('./', { - '@koopjs/winnow': { - query: winnowSpy - }, - '../helpers': { - getGeometryTypeFromGeojson: getGeometrySpy - }, - './validate-classification-definition': () => { throw new Error('invalid classification definition'); } - }); - - try { - generateRenderer({ features: ['feature'] }, {}); - should.fail('should have thrown error'); - } catch (error) { - error.message.should.equal('invalid classification definition'); - } - }); - - it('should calculate breaks and use classBreaksDef for renderer', () => { - const winnowSpy = sinon.spy(function () { - return [ - [0, 10], - [11, 20], - [21, 30] - ]; - }); - - const getGeometrySpy = sinon.spy(function () { - return 'esriGeometryPoint'; - }); - - const createSymbolSpy = sinon.spy(function () { - return 'symbol'; - }); - - const createColorRampSpy = sinon.spy(function () { - return ['color-1', 'color-2']; - }); - - const generateRenderer = proxyquire('./', { - '@koopjs/winnow': { - query: winnowSpy - }, - '../helpers': { - getGeometryTypeFromGeojson: getGeometrySpy - }, - './color-ramp': { - createColorRamp: createColorRampSpy - }, - './create-symbol': { createSymbol: createSymbolSpy } - }); - - const result = generateRenderer( - { features: ['feature'] }, - { - classificationDef: { - type: 'classBreaksDef', - classificationField: 'classification-field', - classificationMethod: 'classification-method' - } - } - ); - - result.should.deepEqual({ - type: 'classBreaks', - field: 'classification-field', - classificationMethod: 'classification-method', - minValue: 0, - classBreakInfos: [ - { - classMinValue: 0, - classMaxValue: 10, - label: '0-10', - description: '', - symbol: 'symbol' - }, - { - classMinValue: 11, - classMaxValue: 20, - label: '11-20', - description: '', - symbol: 'symbol' - }, - { - classMinValue: 21, - classMaxValue: 30, - label: '21-30', - description: '', - symbol: undefined - } - ] - }); - - getGeometrySpy.calledOnce.should.equal(true); - getGeometrySpy.firstCall.args.should.deepEqual([ - { features: ['feature'] } - ]); - winnowSpy.calledOnce.should.equal(true); - winnowSpy.firstCall.args.should.deepEqual([ - { features: ['feature'] }, - { - classificationDef: { - type: 'classBreaksDef', - classificationField: 'classification-field', - classificationMethod: 'classification-method' - }, - geometryType: 'esriGeometryPoint' - } - ]); - }); - - it('should calculate breaks and use uniqueValueDef for renderer', () => { - const winnowSpy = sinon.spy(function () { - return [ - { - count: 80, - Genus: 'MAGNOLIA' - }, - { - count: 77, - Genus: 'QUERCUS' - }, - { - count: 24, - Genus: 'JACARANDA' - } - ]; - }); - - const getGeometrySpy = sinon.spy(function () { - return 'esriGeometryPoint'; - }); - - const createSymbolSpy = sinon.spy(function () { - return 'symbol'; - }); - - const createColorRampSpy = sinon.spy(function () { - return ['color-1', 'color-2']; - }); - - const generateRenderer = proxyquire('./', { - '@koopjs/winnow': { - query: winnowSpy - }, - '../helpers': { - getGeometryTypeFromGeojson: getGeometrySpy - }, - './color-ramp': { - createColorRamp: createColorRampSpy - }, - './create-symbol': { createSymbol: createSymbolSpy } - }); - - const result = generateRenderer( - { features: ['feature'] }, - { - classificationDef: { - type: 'uniqueValueDef', - uniqueValueFields: ['Genus'], - fieldDelimiter: ',' - } - } - ); - - result.should.deepEqual({ - type: 'uniqueValue', - field1: 'Genus', - field2: '', - field3: '', - fieldDelimiter: ',', - defaultSymbol: { - }, - defaultLabel: '', - uniqueValueInfos: [ - { - value: 'MAGNOLIA', - count: 80, - label: 'MAGNOLIA', - description: '', - symbol: 'symbol' - }, - { - value: 'QUERCUS', - count: 77, - label: 'QUERCUS', - description: '', - symbol: 'symbol' - }, - { - value: 'JACARANDA', - count: 24, - label: 'JACARANDA', - description: '', - symbol: undefined - } - ] - }); - - getGeometrySpy.calledOnce.should.equal(true); - getGeometrySpy.firstCall.args.should.deepEqual([ - { features: ['feature'] } - ]); - winnowSpy.calledOnce.should.equal(true); - winnowSpy.firstCall.args.should.deepEqual([ - { features: ['feature'] }, - { - classificationDef: { - type: 'uniqueValueDef', - fieldDelimiter: ',', - uniqueValueFields: ['Genus'] - }, - geometryType: 'esriGeometryPoint' - } - ]); - }); - }); -}); diff --git a/packages/featureserver/src/generate-renderer/validate-classification-definition.spec.js b/packages/featureserver/src/generate-renderer/validate-classification-definition.spec.js deleted file mode 100644 index 40a83b27b..000000000 --- a/packages/featureserver/src/generate-renderer/validate-classification-definition.spec.js +++ /dev/null @@ -1,120 +0,0 @@ -const should = require('should'); // eslint-disable-line -const validateClassificationDefinition = require('./validate-classification-definition'); - -describe('when creating a symbol', () => { - it('throws error with undefined classification definition', () => { - try { - validateClassificationDefinition(); - should.fail('should have thrown error'); - } catch (error) { - error.message.should.equal('classification definition is required'); - error.code.should.equal(400); - } - }); - - it('throws error with unknown classification definition type', () => { - try { - validateClassificationDefinition({ type: 'lol' }); - should.fail('should have thrown error'); - } catch (error) { - error.message.should.equal('invalid classification type'); - error.code.should.equal(400); - } - }); - - it('throws error with unknown base symbol type', () => { - try { - validateClassificationDefinition({ type: 'classBreaksDef', baseSymbol: { type: 'foo' } }); - should.fail('should have thrown error'); - } catch (error) { - error.message.should.equal('baseSymbol requires a valid type: esriSMS, esriSLS, esriSFS'); - error.code.should.equal(400); - } - }); - - it('throws error with undefined base symbol type', () => { - try { - validateClassificationDefinition({ type: 'classBreaksDef', baseSymbol: {} }); - should.fail('should have thrown error'); - } catch (error) { - error.message.should.equal('baseSymbol requires a valid type: esriSMS, esriSLS, esriSFS'); - error.code.should.equal(400); - } - }); - - it('throws error with base symbol type / geometry: line/sms', () => { - try { - validateClassificationDefinition({ type: 'classBreaksDef', baseSymbol: { type: 'esriSMS' } }, 'esriGeometryPolyline'); - should.fail('should have thrown error'); - } catch (error) { - error.message.should.equal('Classification defintion uses a base symbol type that is incompatiable with dataset geometry'); - error.code.should.equal(400); - } - }); - - it('throws error with base symbol type / geometry: polygon/sms', () => { - try { - validateClassificationDefinition({ type: 'classBreaksDef', baseSymbol: { type: 'esriSMS' } }, 'esriGeometryPolygon'); - should.fail('should have thrown error'); - } catch (error) { - error.message.should.equal('Classification defintion uses a base symbol type that is incompatiable with dataset geometry'); - error.code.should.equal(400); - } - }); - - it('throws error with base symbol type / geometry: point/sls', () => { - try { - validateClassificationDefinition({ type: 'classBreaksDef', baseSymbol: { type: 'esriSLS' } }, 'esriGeometryPoint'); - should.fail('should have thrown error'); - } catch (error) { - error.message.should.equal('Classification defintion uses a base symbol type that is incompatiable with dataset geometry'); - error.code.should.equal(400); - } - }); - - it('throws error with unsupport geometry', () => { - try { - validateClassificationDefinition({ type: 'classBreaksDef', baseSymbol: { type: 'esriSLS' } }, 'foo'); - should.fail('should have thrown error'); - } catch (error) { - error.message.should.equal('Classification defintion uses a base symbol type that is incompatiable with dataset geometry'); - error.code.should.equal(400); - } - }); - - it('validates with undefined base symbol', () => { - try { - validateClassificationDefinition({ type: 'classBreaksDef' }); - } catch (error) { - should.fail(`should not have thrown error: ${error}`); - } - }); - - it('validates with base symbol / geometry match', () => { - try { - validateClassificationDefinition({ type: 'classBreaksDef', baseSymbol: { type: 'esriSMS' } }, 'esriGeometryPoint'); - } catch (error) { - should.fail(`should not have thrown error: ${error}`); - } - }); - - it('throws error when unique-value-fields definition is missing uniqueValueFields array', () => { - try { - validateClassificationDefinition({ type: 'uniqueValueDef' }, 'esriGeometryPoint', [{ fooz: 'bar' }]); - should.fail('should have thrown error'); - } catch (error) { - error.message.should.equal('uniqueValueDef requires a classification definition with "uniqueValueFields" array'); - error.code.should.equal(400); - } - }); - - it('throws error when unique-value-fields definition diverges from classification', () => { - try { - validateClassificationDefinition({ type: 'uniqueValueDef', uniqueValueFields: ['foo'] }, 'esriGeometryPoint', [{ fooz: 'bar' }]); - should.fail('should have thrown error'); - } catch (error) { - error.message.should.equal('Unique value definition fields are incongruous with classification fields: foo : fooz'); - error.code.should.equal(400); - } - }); -}); diff --git a/packages/featureserver/src/helpers/calculate-extent.spec.js b/packages/featureserver/src/helpers/calculate-extent.spec.js deleted file mode 100644 index 1caab0095..000000000 --- a/packages/featureserver/src/helpers/calculate-extent.spec.js +++ /dev/null @@ -1,77 +0,0 @@ -const should = require('should') // eslint-disable-line -const calculateExtent = require('./calculate-extent'); - -describe('calculate-extent', () => { - it('calculateExtent: no data passed', () => { - const extent = calculateExtent({}); - should(extent).equal(undefined); - }); - - it('calculateExtent: Point', () => { - const extent = calculateExtent({ - isLayer: true, - geojson: { - type: 'Feature', - geometry: { - type: 'Point', - coordinates: [102.0, 0.5] - }, - properties: { - prop0: 'value0' - } - }, - spatialReference: 4326 - }); - should(extent).deepEqual({ xmin: 102, ymin: 0.5, xmax: 102, ymax: 0.5, spatialReference: 4326 }); - }); - - it('calculateExtent: LineString', () => { - const extent = calculateExtent({ - isLayer: true, - geojson: { - type: 'Feature', - geometry: { - type: 'LineString', - coordinates: [ - [102.0, 0.5], - [102.3, 0.8], - [103.1, 1.2], - [103.0, 1.0], - [102.6, 0.9] - ] - }, - properties: { - prop0: 'value0' - } - }, - spatialReference: 4326 - }); - should(extent).deepEqual({ xmin: 102, ymin: 0.5, xmax: 103.1, ymax: 1.2, spatialReference: 4326 }); - }); - - it('calculateExtent: Polygon', () => { - const extent = calculateExtent({ - isLayer: true, - geojson: { - type: 'Feature', - geometry: { - type: 'Polygon', - coordinates: [ - [ - [100.0, 0.0], - [101.0, 0.0], - [101.0, 1.0], - [100.0, 1.0], - [100.0, 0.0] - ] - ] - }, - properties: { - prop0: 'value0' - } - }, - spatialReference: 102100 - }); - should(extent).deepEqual({ xmin: 100, ymin: 0.0, xmax: 101.0, ymax: 1.0, spatialReference: 102100 }); - }); -}); diff --git a/packages/featureserver/src/helpers/data-type-utils.spec.js b/packages/featureserver/src/helpers/data-type-utils.spec.js deleted file mode 100644 index 4f4c0d537..000000000 --- a/packages/featureserver/src/helpers/data-type-utils.spec.js +++ /dev/null @@ -1,53 +0,0 @@ -const should = require('should') // eslint-disable-line -const { - getDataTypeFromValue, - isDate -} = require('./data-type-utils'); - -describe('getDataTypeFromValue', () => { - it('should return integer', () => { - getDataTypeFromValue(10).should.equal('Integer'); - }); - - it('should return double', () => { - getDataTypeFromValue(10.10).should.equal('Double'); - }); - - it('should return string', () => { - getDataTypeFromValue('10.10').should.equal('String'); - }); - - it('should return string as default', () => { - getDataTypeFromValue().should.equal('String'); - }); - - it('should return date for date object', () => { - getDataTypeFromValue(new Date()).should.equal('Date'); - }); - - it('should return date for data ISO string', () => { - getDataTypeFromValue(new Date().toISOString()).should.equal('Date'); - }); -}); - -describe('isDate', () => { - it('should return true for date object', () => { - isDate(new Date()).should.equal(true); - }); - - it('should return true for ISO string', () => { - getDataTypeFromValue(new Date().toISOString()).should.equal('Date'); - }); - - it('should return false for number', () => { - isDate(1000).should.equal(false); - }); - - it('should return false for a string', () => { - isDate('foo').should.equal(false); - }); - - it('should return false for a string in parenthesis', () => { - isDate('(foo').should.equal(false); - }); -}); diff --git a/packages/featureserver/src/helpers/esri-units-lookup.spec.js b/packages/featureserver/src/helpers/esri-units-lookup.spec.js deleted file mode 100644 index 042c41c5e..000000000 --- a/packages/featureserver/src/helpers/esri-units-lookup.spec.js +++ /dev/null @@ -1,79 +0,0 @@ -const should = require('should'); // eslint-disable-line -const esriUnitsLookup = require('./esri-units-lookup'); - -describe('esriUnitsLookup', () => { - it('inch', () => { - const result = esriUnitsLookup('inch'); - result.should.equal('esriInches'); - }); - - it('foot', () => { - const result = esriUnitsLookup('foot'); - result.should.equal('esriFeet'); - }); - - it('yard', () => { - const result = esriUnitsLookup('yard'); - result.should.equal('esriYards'); - }); - - it('mile', () => { - const result = esriUnitsLookup('mile'); - result.should.equal('esriMiles'); - }); - - it('meter', () => { - const result = esriUnitsLookup('meter'); - result.should.equal('esriMeters'); - }); - - it('metre', () => { - const result = esriUnitsLookup('metre'); - result.should.equal('esriMeters'); - }); - - it('millimeter', () => { - const result = esriUnitsLookup('millimeter'); - result.should.equal('esriMillimeters'); - }); - - it('millimetre', () => { - const result = esriUnitsLookup('millimetre'); - result.should.equal('esriMillimeters'); - }); - - it('centimeter', () => { - const result = esriUnitsLookup('centimeter'); - result.should.equal('esriCentimeters'); - }); - - it('centimetre', () => { - const result = esriUnitsLookup('centimetre'); - result.should.equal('esriCentimeters'); - }); - - it('decimeter', () => { - const result = esriUnitsLookup('decimetre'); - result.should.equal('esriDecimeters'); - }); - - it('decimetre', () => { - const result = esriUnitsLookup('decimetre'); - result.should.equal('esriDecimeters'); - }); - - it('kilometre', () => { - const result = esriUnitsLookup('kilometre'); - result.should.equal('esriKilometers'); - }); - - it('kilometer', () => { - const result = esriUnitsLookup('kilometer'); - result.should.equal('esriKilometers'); - }); - - it('degree', () => { - const result = esriUnitsLookup('degree'); - result.should.equal('esriDecimalDegrees'); - }); -}); diff --git a/packages/featureserver/src/helpers/feature-layer-metadata.spec.js b/packages/featureserver/src/helpers/feature-layer-metadata.spec.js deleted file mode 100644 index f5b72881a..000000000 --- a/packages/featureserver/src/helpers/feature-layer-metadata.spec.js +++ /dev/null @@ -1,297 +0,0 @@ -const should = require('should'); -should.config.checkProtoEql = false; -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const { PointRenderer } = require('./renderers'); -const CURRENT_VERSION = 11.1; -const FULL_VERSION = '11.1.0'; - -const calculateBoundsSpy = sinon.spy(function () { - return [0, 1, 2, 3]; -}); -const getSpatialReferenceSpy = sinon.spy(function () { - return { - wkid: 4326, - latestWkid: 4326 - }; -}); -const getGeometryTypeFromGeojsonSpy = sinon.spy(function () { - return 'esriGeometryPoint'; -}); -const normalizeExtentSpy = sinon.spy(function () { - return 'normalized-extent'; -}); - -const defaultFixture = { - id: 0, - name: 'Not Set', - description: 'This is a feature service exposed with Koop. For more information go to https://github.com/koopjs/koop.', - copyrightText: 'Copyright information varies by provider. For more information please contact the source of this data.', - parentLayer: null, - subLayers: null, - defaultVisibility: true, - hasAttachments: false, - htmlPopupType: 'esriServerHTMLPopupTypeNone', - displayField: 'OBJECTID', - typeIdField: null, - fields: [ - { - alias: 'OBJECTID', - defaultValue: null, - domain: null, - editable: false, - name: 'OBJECTID', - nullable: false, - sqlType: 'sqlTypeInteger', - type: 'esriFieldTypeOID' - } - ], - relationships: [], - capabilities: 'Query', - maxRecordCount: 2000, - supportsStatistics: true, - supportsAdvancedQueries: true, - supportedQueryFormats: 'JSON', - ownershipBasedAccessControlForFeatures: { - allowOthersToQuery: true - }, - useStandardizedQueries: true, - advancedQueryCapabilities: { - useStandardizedQueries: true, - supportsStatistics: true, - supportsOrderBy: true, - supportsDistinct: true, - supportsPagination: true, - supportsTrueCurve: false, - supportsReturningQueryExtent: true, - supportsQueryWithDistance: true - }, - canModifyLayer: false, - dateFieldsTimeReference: null, - isDataVersioned: false, - supportsRollbackOnFailureParameter: true, - hasM: false, - hasZ: false, - allowGeometryUpdates: true, - objectIdField: 'OBJECTID', - globalIdField: '', - types: [], - templates: [], - hasStaticData: false, - timeInfo: {}, - uniqueIdField: { - name: 'OBJECTID', - isSystemMaintained: true - }, - type: 'Feature Layer', - minScale: 0, - maxScale: 0, - canScaleSymbols: false, - drawingInfo: { - renderer: {}, - labelingInfo: null - }, - extent: { - xmin: -180, - ymin: -90, - xmax: 180, - ymax: 90, - spatialReference: { - wkid: 4326, - latestWkid: 4326 - } - }, - supportsCoordinatesQuantization: false, - hasLabels: false, - currentVersion: CURRENT_VERSION, - fullVersion: FULL_VERSION -}; - -const FeatureLayerMetadata = proxyquire('./feature-layer-metadata', { - '@terraformer/spatial': { calculateBounds: calculateBoundsSpy }, - './get-spatial-reference': getSpatialReferenceSpy, - './get-geometry-type-from-geojson': getGeometryTypeFromGeojsonSpy, - './normalize-extent': normalizeExtentSpy -}); - -describe('FeatureLayerMetadata', () => { - beforeEach(() => { - calculateBoundsSpy.resetHistory(); - getSpatialReferenceSpy.resetHistory(); - getGeometryTypeFromGeojsonSpy.resetHistory(); - normalizeExtentSpy.resetHistory(); - }); - - it('calling with new should return default metadata', () => { - const featureLayerMetadata = new FeatureLayerMetadata(); - featureLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: [] - }); - }); - - describe('mixinOverrides', () => { - it('should set point geometryType and renderer', () => { - const featureLayerMetadata = new FeatureLayerMetadata(); - featureLayerMetadata.mixinOverrides({ - features: [] - }, { foo: 'bar' }); - - featureLayerMetadata.should.deepEqual({ - ...defaultFixture, - geometryType: 'esriGeometryPoint', - drawingInfo: { - labelingInfo: null, - renderer: new PointRenderer() - } - }); - getGeometryTypeFromGeojsonSpy.callCount.should.equal(1); - getGeometryTypeFromGeojsonSpy.firstCall.args.should.deepEqual([{ - features: [], - foo: 'bar' - }]); - }); - - it('should set quanitization if capabilities.quantization === true', () => { - const featureLayerMetadata = new FeatureLayerMetadata(); - - featureLayerMetadata.mixinOverrides({ - features: [] - }, { - capabilities: { - quantization: true - } - }); - - featureLayerMetadata.should.deepEqual({ - ...defaultFixture, - geometryType: 'esriGeometryPoint', - drawingInfo: { - labelingInfo: null, - renderer: new PointRenderer() - }, - supportsCoordinatesQuantization: true - }); - }); - - it('should set extent from options', () => { - const featureLayerMetadata = new FeatureLayerMetadata(); - - featureLayerMetadata.mixinOverrides({ - features: ['feature'] - }, { - extent: 'dataset-extent' - }); - - featureLayerMetadata.should.deepEqual({ - ...defaultFixture, - geometryType: 'esriGeometryPoint', - drawingInfo: { - labelingInfo: null, - renderer: new PointRenderer() - }, - extent: 'normalized-extent' - }); - - getSpatialReferenceSpy.callCount.should.equal(1); - calculateBoundsSpy.callCount.should.equal(0); - normalizeExtentSpy.callCount.should.equal(1); - }); - - it('should set extent from features', () => { - const featureLayerMetadata = new FeatureLayerMetadata(); - - featureLayerMetadata.mixinOverrides({ - features: ['feature'] - }, {}); - - featureLayerMetadata.should.deepEqual({ - ...defaultFixture, - geometryType: 'esriGeometryPoint', - drawingInfo: { - labelingInfo: null, - renderer: new PointRenderer() - }, - extent: { - spatialReference: { - wkid: 4326, - latestWkid: 4326 - }, - xmax: 2, - xmin: 0, - ymax: 3, - ymin: 1 - } - }); - - getSpatialReferenceSpy.callCount.should.equal(1); - calculateBoundsSpy.callCount.should.equal(1); - normalizeExtentSpy.callCount.should.equal(0); - }); - - it('should set renderer from options', () => { - const featureLayerMetadata = new FeatureLayerMetadata(); - - featureLayerMetadata.mixinOverrides({ - features: [] - }, { renderer: 'custom-renderer' }); - - featureLayerMetadata.should.deepEqual({ - ...defaultFixture, - geometryType: 'esriGeometryPoint', - drawingInfo: { - labelingInfo: null, - renderer: 'custom-renderer' - } - }); - }); - - it('should set other direct overrides', () => { - const featureLayerMetadata = new FeatureLayerMetadata(); - - featureLayerMetadata.mixinOverrides({ - features: [] - }, { minScale: 1, maxScale: 10 }); - - featureLayerMetadata.should.deepEqual({ - ...defaultFixture, - geometryType: 'esriGeometryPoint', - drawingInfo: { - labelingInfo: null, - renderer: new PointRenderer() - }, - minScale: 1, - maxScale: 10, - currentVersion: CURRENT_VERSION, - fullVersion: FULL_VERSION - }); - }); - }); - - it('static method "create" should normalize input, call constructor, and mixin-overrides ', () => { - const featureLayerMetadata = FeatureLayerMetadata.create({ - features: [], - metadata: { - foo: 'bar', - displayField: 'myField', - capabilities: 'list,of,stuff' - }, - capabilities: { - world: 'hellow' - } - }, { - params: { layer: '99' } - }); - featureLayerMetadata.should.deepEqual({ - ...defaultFixture, - geometryType: 'esriGeometryPoint', - drawingInfo: { - labelingInfo: null, - renderer: new PointRenderer() - }, - capabilities: 'list,of,stuff', - displayField: 'myField', - id: 99 - }); - }); -}); diff --git a/packages/featureserver/src/helpers/fields/constants.spec.js b/packages/featureserver/src/helpers/fields/constants.spec.js deleted file mode 100644 index b05be0c68..000000000 --- a/packages/featureserver/src/helpers/fields/constants.spec.js +++ /dev/null @@ -1,45 +0,0 @@ -const should = require('should') // eslint-disable-line -const { - ESRI_FIELD_TYPE_OID, - ESRI_FIELD_TYPE_STRING, - ESRI_FIELD_TYPE_DATE, - ESRI_FIELD_TYPE_DOUBLE, - SQL_TYPE_INTEGER, - SQL_TYPE_OTHER, - SQL_TYPE_FLOAT, - OBJECTID_DEFAULT_KEY -} = require('./constants'); - -describe('field constants', () => { - it('ESRI_FIELD_TYPE_OID', () => { - ESRI_FIELD_TYPE_OID.should.equal('esriFieldTypeOID'); - }); - - it('ESRI_FIELD_TYPE_STRING', () => { - ESRI_FIELD_TYPE_STRING.should.equal('esriFieldTypeString'); - }); - - it('ESRI_FIELD_TYPE_DATE', () => { - ESRI_FIELD_TYPE_DATE.should.equal('esriFieldTypeDate'); - }); - - it('ESRI_FIELD_TYPE_DOUBLE', () => { - ESRI_FIELD_TYPE_DOUBLE.should.equal('esriFieldTypeDouble'); - }); - - it('SQL_TYPE_INTEGER', () => { - SQL_TYPE_INTEGER.should.equal('sqlTypeInteger'); - }); - - it('SQL_TYPE_OTHER', () => { - SQL_TYPE_OTHER.should.equal('sqlTypeOther'); - }); - - it('SQL_TYPE_FLOAT', () => { - SQL_TYPE_FLOAT.should.equal('sqlTypeFloat'); - }); - - it('OBJECTID_DEFAULT_KEY', () => { - OBJECTID_DEFAULT_KEY.should.equal('OBJECTID'); - }); -}); diff --git a/packages/featureserver/src/helpers/fields/esri-type-utils.spec.js b/packages/featureserver/src/helpers/fields/esri-type-utils.spec.js deleted file mode 100644 index deb02f1d4..000000000 --- a/packages/featureserver/src/helpers/fields/esri-type-utils.spec.js +++ /dev/null @@ -1,96 +0,0 @@ -const should = require('should') // eslint-disable-line -const { - getEsriTypeFromDefinition, - getEsriTypeFromValue -} = require('./esri-type-utils'); - -describe('getEsriTypeFromDefinition', () => { - it('no definition should default to string', () => { - const result = getEsriTypeFromDefinition(); - result.should.equal('esriFieldTypeString'); - }); - - it('string', () => { - getEsriTypeFromDefinition('String').should.equal('esriFieldTypeString'); - getEsriTypeFromDefinition('string').should.equal('esriFieldTypeString'); - }); - - it('double', () => { - getEsriTypeFromDefinition('Double').should.equal('esriFieldTypeDouble'); - getEsriTypeFromDefinition('double').should.equal('esriFieldTypeDouble'); - }); - - it('integer', () => { - getEsriTypeFromDefinition('Integer').should.equal('esriFieldTypeInteger'); - getEsriTypeFromDefinition('integer').should.equal('esriFieldTypeInteger'); - }); - - it('date', () => { - getEsriTypeFromDefinition('Date').should.equal('esriFieldTypeDate'); - getEsriTypeFromDefinition('date').should.equal('esriFieldTypeDate'); - }); - - it('blob', () => { - getEsriTypeFromDefinition('Blob').should.equal('esriFieldTypeBlob'); - getEsriTypeFromDefinition('blob').should.equal('esriFieldTypeBlob'); - }); - - it('geometry', () => { - getEsriTypeFromDefinition('Geometry').should.equal('esriFieldTypeGeometry'); - getEsriTypeFromDefinition('geometry').should.equal('esriFieldTypeGeometry'); - }); - - it('globalid', () => { - getEsriTypeFromDefinition('GlobalID').should.equal('esriFieldTypeGlobalID'); - getEsriTypeFromDefinition('globalid').should.equal('esriFieldTypeGlobalID'); - }); - - it('guid', () => { - getEsriTypeFromDefinition('GUID').should.equal('esriFieldTypeGUID'); - getEsriTypeFromDefinition('guid').should.equal('esriFieldTypeGUID'); - }); - - it('raster', () => { - getEsriTypeFromDefinition('Raster').should.equal('esriFieldTypeRaster'); - getEsriTypeFromDefinition('raster').should.equal('esriFieldTypeRaster'); - }); - - it('single', () => { - getEsriTypeFromDefinition('Single').should.equal('esriFieldTypeSingle'); - getEsriTypeFromDefinition('single').should.equal('esriFieldTypeSingle'); - }); - - it('small-integer', () => { - getEsriTypeFromDefinition('SmallInteger').should.equal('esriFieldTypeSmallInteger'); - getEsriTypeFromDefinition('smallinteger').should.equal('esriFieldTypeSmallInteger'); - }); - - it('xml', () => { - getEsriTypeFromDefinition('XML').should.equal('esriFieldTypeXML'); - getEsriTypeFromDefinition('xml').should.equal('esriFieldTypeXML'); - }); -}); - -describe('getEsriTypeFromValue', () => { - it('no value should default to string', () => { - const result = getEsriTypeFromValue(); - result.should.equal('esriFieldTypeString'); - }); - - it('string', () => { - getEsriTypeFromValue('some-string').should.equal('esriFieldTypeString'); - }); - - it('double', () => { - getEsriTypeFromValue(3.145678).should.equal('esriFieldTypeDouble'); - }); - - it('integer', () => { - getEsriTypeFromValue(2).should.equal('esriFieldTypeInteger'); - }); - - it('date', () => { - getEsriTypeFromValue(new Date()).should.equal('esriFieldTypeDate'); - getEsriTypeFromValue((new Date()).toISOString()).should.equal('esriFieldTypeDate'); - }); -}); diff --git a/packages/featureserver/src/helpers/fields/field-classes.spec.js b/packages/featureserver/src/helpers/fields/field-classes.spec.js deleted file mode 100644 index 3c8c60427..000000000 --- a/packages/featureserver/src/helpers/fields/field-classes.spec.js +++ /dev/null @@ -1,224 +0,0 @@ -const should = require('should') // eslint-disable-line -should.config.checkProtoEql = false; -const { - FieldFromKeyValue, - ObjectIdField, - FieldFromFieldDefinition, - ObjectIdFieldFromDefinition, - StatisticField, - StatisticDateField -} = require('./field-classes'); - -describe('FieldFromKeyValue', () => { - it('should produce expected instance', () => { - const result = new FieldFromKeyValue('foo', 'bar'); - result.should.deepEqual({ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }); - - result.setEditable().setNullable(); - result.should.deepEqual({ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null, - editable: false, - nullable: false - }); - - result.setEditable(true).setNullable(true); - result.should.deepEqual({ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null, - editable: true, - nullable: true - }); - }); -}); - -describe('ObjectIdField', () => { - it('should produce expected instance', () => { - const result = new ObjectIdField('idFoo'); - result.should.deepEqual({ - name: 'idFoo', - alias: 'idFoo', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }); - - result.setEditable().setNullable(); - result.should.deepEqual({ - name: 'idFoo', - alias: 'idFoo', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null, - editable: false, - nullable: false - }); - - result.setEditable(true).setNullable(true); - result.should.deepEqual({ - name: 'idFoo', - alias: 'idFoo', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null, - editable: true, - nullable: true - }); - }); -}); - -describe('FieldFromFieldDefinition', () => { - it('should produce expected instance from name, type definitions', () => { - const result = new FieldFromFieldDefinition({ - name: 'foo', - type: 'String' - }); - result.should.deepEqual({ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }); - - result.setEditable().setNullable(); - result.should.deepEqual({ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null, - editable: false, - nullable: false - }); - - result.setEditable(true).setNullable(true); - result.should.deepEqual({ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null, - editable: true, - nullable: true - }); - }); - - it('should produce expected instance from name, type, plus all optional definitions', () => { - const result = new FieldFromFieldDefinition({ - name: 'foo', - type: 'String', - alias: 'foolish', - domain: 'domain-value', - defaultValue: 'default-value', - length: 256 - }); - result.should.deepEqual({ - name: 'foo', - alias: 'foolish', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - domain: 'domain-value', - defaultValue: 'default-value', - length: 256 - }); - }); -}); - -describe('ObjectIdFieldFromFieldDefinition', () => { - it('should produce expected instance', () => { - const result = new ObjectIdFieldFromDefinition({ - name: 'foo', - type: 'String', - editable: true, - nullable: true - }); - result.should.deepEqual({ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }); - - result.setEditable().setNullable(); - result.should.deepEqual({ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null, - editable: false, - nullable: false - }); - - result.setEditable(true).setNullable(true); - result.should.deepEqual({ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null, - editable: true, - nullable: true - }); - }); -}); - -describe('StatisticsField', () => { - it('should produce expected instance', () => { - const result = new StatisticField('foo'); - result.should.deepEqual({ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeDouble', - sqlType: 'sqlTypeFloat', - domain: null, - defaultValue: null - }); - }); -}); - -describe('StatisticsDateField', () => { - it('should produce expected instance', () => { - const result = new StatisticDateField('foo'); - result.should.deepEqual({ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeDate', - sqlType: 'sqlTypeOther', - domain: null, - defaultValue: null - }); - }); -}); diff --git a/packages/featureserver/src/helpers/fields/fields.spec.js b/packages/featureserver/src/helpers/fields/fields.spec.js deleted file mode 100644 index 6342dce37..000000000 --- a/packages/featureserver/src/helpers/fields/fields.spec.js +++ /dev/null @@ -1,261 +0,0 @@ -const should = require('should') // eslint-disable-line -should.config.checkProtoEql = false; -const Fields = require('./fields'); - -describe('Fields', () => { - describe('static normalizeOptions method', () => { - it('should defer to fieldsDefinitions when supplied', () => { - const { fieldDefinitions } = Fields.normalizeOptions({ - fieldDefinitions: 'foo', - fields: 'bar', - metadata: { - fields: 'snafu' - } - }); - - fieldDefinitions.should.equal('foo'); - }); - - it('should defer to root-level "fields" when supplied', () => { - const { fieldDefinitions } = Fields.normalizeOptions({ - fields: 'bar', - metadata: { - fields: 'snafu' - } - }); - - fieldDefinitions.should.equal('bar'); - }); - - it('should use "metadata.fields" when supplied', () => { - const { fieldDefinitions } = Fields.normalizeOptions({ - metadata: { - fields: 'snafu' - } - }); - - fieldDefinitions.should.equal('snafu'); - }); - - it('should defer to root-level "idField" when supplied', () => { - const { idField } = Fields.normalizeOptions({ - idField: 'bar', - metadata: { - idField: 'snafu' - } - }); - - idField.should.equal('bar'); - }); - - it('should use "metadata.idField" when supplied', () => { - const { idField } = Fields.normalizeOptions({ - metadata: { - idField: 'snafu' - } - }); - - idField.should.equal('snafu'); - }); - - it('should defer to root-level "attributeSample" when supplied', () => { - const { attributeSample } = Fields.normalizeOptions({ - attributeSample: 'bar' - }); - - attributeSample.should.equal('bar'); - }); - - it('should acquire "attributeSample" from features[0].attributes', () => { - const { attributeSample } = Fields.normalizeOptions({ - features: [ - { attributes: { name: 'foo' } }, - { attributes: { name: 'bar' } } - ] - }); - - attributeSample.should.deepEqual({ name: 'foo' }); - }); - - it('should acquire "attributeSample" from features[0].properties', () => { - const { attributeSample } = Fields.normalizeOptions({ - features: [ - { properties: { name: 'foo' } }, - { properties: { name: 'bar' } } - ] - }); - - attributeSample.should.deepEqual({ name: 'foo' }); - }); - - it('should have "attributeSample" default to empty object', () => { - const { attributeSample } = Fields.normalizeOptions({ - features: [] - }); - - attributeSample.should.deepEqual({}); - }); - }); - - describe('constructor', () => { - it('should set fields from definitions, add OBJECTID', () => { - const fields = new Fields({ - fieldDefinitions: [ - { name: 'foo', type: 'String' } - ] - }); - - fields.should.deepEqual({ - fields: [{ - name: 'OBJECTID', - type: 'esriFieldTypeOID', - alias: 'OBJECTID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - type: 'esriFieldTypeString', - alias: 'foo', - sqlType: 'sqlTypeOther', - domain: null, - defaultValue: null, - length: 128 - }] - }); - }); - - it('should set fields from definitions, including OBJECTID', () => { - const fields = new Fields({ - fieldDefinitions: [ - { name: 'foo', type: 'String' }, - { name: 'OBJECTID', type: 'Integer' } - ] - }); - - fields.should.deepEqual({ - fields: [{ - name: 'OBJECTID', - type: 'esriFieldTypeOID', - alias: 'OBJECTID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - type: 'esriFieldTypeString', - alias: 'foo', - sqlType: 'sqlTypeOther', - domain: null, - defaultValue: null, - length: 128 - }] - }); - }); - - it('should set fields from definitions, noting idField as OBJECTID', () => { - const fields = new Fields({ - idField: 'bar', - fieldDefinitions: [ - { name: 'foo', type: 'String' }, - { name: 'bar', type: 'Integer' } - ] - }); - - fields.should.deepEqual({ - fields: [{ - name: 'bar', - type: 'esriFieldTypeOID', - alias: 'bar', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - type: 'esriFieldTypeString', - alias: 'foo', - sqlType: 'sqlTypeOther', - domain: null, - defaultValue: null, - length: 128 - }] - }); - }); - - it('should set fields from attributeSample, add OBJECTID', () => { - const fields = new Fields({ - attributeSample: { foo: 'bar' } - }); - - fields.should.deepEqual({ - fields: [{ - name: 'OBJECTID', - type: 'esriFieldTypeOID', - alias: 'OBJECTID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - type: 'esriFieldTypeString', - alias: 'foo', - sqlType: 'sqlTypeOther', - domain: null, - defaultValue: null, - length: 128 - }] - }); - }); - - it('should set fields from attributeSample, use included OBJECTID', () => { - const fields = new Fields({ - attributeSample: { OBJECTID: 1234, foo: 'bar' } - }); - - fields.should.deepEqual({ - fields: [{ - name: 'OBJECTID', - type: 'esriFieldTypeOID', - alias: 'OBJECTID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - type: 'esriFieldTypeString', - alias: 'foo', - sqlType: 'sqlTypeOther', - domain: null, - defaultValue: null, - length: 128 - }] - }); - }); - - it('should set fields from attributeSample, use included OBJECTID', () => { - const fields = new Fields({ - idField: 'hello', - attributeSample: { hello: 1234, foo: 'bar' } - }); - - fields.should.deepEqual({ - fields: [{ - name: 'hello', - type: 'esriFieldTypeOID', - alias: 'hello', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - type: 'esriFieldTypeString', - alias: 'foo', - sqlType: 'sqlTypeOther', - domain: null, - defaultValue: null, - length: 128 - }] - }); - }); - }); -}); diff --git a/packages/featureserver/src/helpers/fields/layer-fields.spec.js b/packages/featureserver/src/helpers/fields/layer-fields.spec.js deleted file mode 100644 index 651744421..000000000 --- a/packages/featureserver/src/helpers/fields/layer-fields.spec.js +++ /dev/null @@ -1,274 +0,0 @@ -const should = require('should') // eslint-disable-line -should.config.checkProtoEql = false; -const LayerFields = require('./layer-fields'); - -describe('LayerFields', () => { - it('create fields from definitions, adds OBJECTID', () => { - const result = LayerFields.create({ - fields: [ - { name: 'foo', type: 'String' }, - { name: 'bar', type: 'String', editable: true, nullable: true } - ] - }); - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null, - editable: false, - nullable: false - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null, - editable: false, - nullable: false - }, { - name: 'bar', - alias: 'bar', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null, - editable: true, - nullable: true - }]); - }); - - it('create fields from definitions, assign idField as OBJECTID', () => { - const result = LayerFields.create({ - fields: [ - { name: 'foo', type: 'Integer' } - ], - idField: 'foo' - }); - result.should.deepEqual([{ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null, - editable: false, - nullable: false - }]); - }); - - it('create fields from attributes sample, adds OBJECTID', () => { - const result = LayerFields.create({ - attributeSample: { - foo: 'bar' - } - }); - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null, - editable: false, - nullable: false - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null, - editable: false, - nullable: false - }]); - }); - - it('create fields from attributes sample, finds and uses OBJECTID', () => { - const result = LayerFields.create({ - attributeSample: { - foo: 'bar', - OBJECTID: 1 - } - }); - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null, - editable: false, - nullable: false - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null, - editable: false, - nullable: false - }]); - }); - - it('create fields from attributes sample, adds OBJECTID', () => { - const result = LayerFields.create({ - attributeSample: { - foo: 'bar' - } - }); - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null, - editable: false, - nullable: false - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null, - editable: false, - nullable: false - }]); - }); - - it('create fields from geojson data, adds OBJECTID', () => { - const result = LayerFields.create({ - features: [{ - properties: { - foo: 'bar' - } - }] - }); - - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null, - editable: false, - nullable: false - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null, - editable: false, - nullable: false - }]); - }); - - it('create fields from geojson data, finds and uses OBJECTID', () => { - const result = LayerFields.create({ - features: [{ - properties: { - OBJECTID: 1, - foo: 'bar' - } - }] - }); - - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null, - editable: false, - nullable: false - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null, - editable: false, - nullable: false - }]); - }); - - it('create fields from esri json data, adds OBJECTID', () => { - const result = LayerFields.create({ - features: [{ - attributes: { - foo: 'bar' - } - }] - }); - - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null, - editable: false, - nullable: false - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null, - editable: false, - nullable: false - }]); - }); - - it('create fields from esri json data, finds and uses OBJECTID', () => { - const result = LayerFields.create({ - features: [{ - attributes: { - OBJECTID: 1, - foo: 'bar' - } - }] - }); - - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null, - editable: false, - nullable: false - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null, - editable: false, - nullable: false - }]); - }); -}); diff --git a/packages/featureserver/src/helpers/fields/query-fields.spec.js b/packages/featureserver/src/helpers/fields/query-fields.spec.js deleted file mode 100644 index 6f6ad3ced..000000000 --- a/packages/featureserver/src/helpers/fields/query-fields.spec.js +++ /dev/null @@ -1,359 +0,0 @@ -const should = require('should') // eslint-disable-line -should.config.checkProtoEql = false; -const QueryFields = require('./query-fields'); - -describe('QueryFields', () => { - it('create fields from definitions, adds OBJECTID', () => { - const result = QueryFields.create({ - fields: [ - { name: 'foo', type: 'String' } - ] - }); - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }]); - }); - - it('create fields from definitions, assign idField as OBJECTID', () => { - const result = QueryFields.create({ - fields: [ - { name: 'foo', type: 'Integer' } - ], - idField: 'foo' - }); - result.should.deepEqual([{ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }]); - }); - - it('create fields from attributes sample, adds OBJECTID', () => { - const result = QueryFields.create({ - attributeSample: { - foo: 'bar' - } - }); - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }]); - }); - - it('create fields from attributes sample, finds and uses OBJECTID', () => { - const result = QueryFields.create({ - attributeSample: { - foo: 'bar', - OBJECTID: 1 - } - }); - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }]); - }); - - it('create fields from attributes sample, adds OBJECTID', () => { - const result = QueryFields.create({ - attributeSample: { - foo: 'bar' - } - }); - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }]); - }); - - it('create fields from geojson data, adds OBJECTID', () => { - const result = QueryFields.create({ - features: [{ - properties: { - foo: 'bar' - } - }] - }); - - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }]); - }); - - it('create fields from geojson data, finds and uses OBJECTID', () => { - const result = QueryFields.create({ - features: [{ - properties: { - OBJECTID: 1, - foo: 'bar' - } - }] - }); - - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }]); - }); - - it('create fields from esri json data, adds OBJECTID', () => { - const result = QueryFields.create({ - features: [{ - attributes: { - foo: 'bar' - } - }] - }); - - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }]); - }); - - it('create fields from esri json data, finds and uses OBJECTID', () => { - const result = QueryFields.create({ - features: [{ - attributes: { - OBJECTID: 1, - foo: 'bar' - } - }] - }); - - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }]); - }); - - it('outFields option filters fields array', () => { - const result = QueryFields.create({ - fields: [ - { name: 'foo', type: 'String' }, - { name: 'bar', type: 'String' }, - { name: 'hello', type: 'String' } - ], - outFields: 'foo,hello' - }); - result.should.deepEqual([{ - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }, { - name: 'hello', - alias: 'hello', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }]); - }); - - it('outFields wildcard does not filter fields array', () => { - const result = QueryFields.create({ - fields: [ - { name: 'foo', type: 'String' }, - { name: 'hello', type: 'String' } - ], - outFields: '*' - }); - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }, { - name: 'hello', - alias: 'hello', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }]); - }); - - it('outFields empty string does not filter fields array', () => { - const result = QueryFields.create({ - fields: [ - { name: 'foo', type: 'String' }, - { name: 'hello', type: 'String' } - ], - outFields: '' - }); - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }, { - name: 'hello', - alias: 'hello', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }]); - }); - - it('outFields null value does not filter fields array', () => { - const result = QueryFields.create({ - fields: [ - { name: 'foo', type: 'String' }, - { name: 'hello', type: 'String' } - ], - outFields: null - }); - result.should.deepEqual([{ - name: 'OBJECTID', - alias: 'OBJECTID', - type: 'esriFieldTypeOID', - sqlType: 'sqlTypeInteger', - domain: null, - defaultValue: null - }, { - name: 'foo', - alias: 'foo', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }, { - name: 'hello', - alias: 'hello', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - domain: null, - defaultValue: null - }]); - }); -}); diff --git a/packages/featureserver/src/helpers/fields/statistics-fields.spec.js b/packages/featureserver/src/helpers/fields/statistics-fields.spec.js deleted file mode 100644 index 124b2689a..000000000 --- a/packages/featureserver/src/helpers/fields/statistics-fields.spec.js +++ /dev/null @@ -1,171 +0,0 @@ -const should = require('should') // eslint-disable-line -should.config.checkProtoEql = false; -const StatisticsFields = require('./statistics-fields'); - -describe('StatisticsFields', () => { - describe('static normalizeOptions method', () => { - it('should use first element of statistics array as sample', () => { - const { statisticsSample } = StatisticsFields.normalizeOptions({ - statistics: [{ foo: '1.234' }] - }); - - statisticsSample.should.deepEqual({ foo: '1.234' }); - }); - - it('should use statistics object as sample', () => { - const { statisticsSample } = StatisticsFields.normalizeOptions({ - statistics: { foo: '1.234' } - }); - statisticsSample.should.deepEqual({ foo: '1.234' }); - }); - - it('should defer to fieldsDefinitions when supplied', () => { - const { fieldDefinitions } = StatisticsFields.normalizeOptions({ - fieldDefinitions: 'foo', - fields: 'bar', - metadata: { - fields: 'snafu' - } - }); - - fieldDefinitions.should.equal('foo'); - }); - - it('should defer to root-level "fields" when supplied', () => { - const { fieldDefinitions } = StatisticsFields.normalizeOptions({ - fields: 'bar', - metadata: { - fields: 'snafu' - } - }); - - fieldDefinitions.should.equal('bar'); - }); - - it('should use "metadata.fields" when supplied', () => { - const { fieldDefinitions } = StatisticsFields.normalizeOptions({ - metadata: { - fields: 'snafu' - } - }); - - fieldDefinitions.should.equal('snafu'); - }); - - it('should convert groupByFieldsForStatistics string to array and remove whitespace', () => { - const { groupByFieldsForStatistics } = StatisticsFields.normalizeOptions({ - groupByFieldsForStatistics: 'hello, world , today ' - }); - - groupByFieldsForStatistics.should.deepEqual(['hello', 'world', 'today']); - }); - - it('should use groupByFieldsForStatistics array', () => { - const { groupByFieldsForStatistics } = StatisticsFields.normalizeOptions({ - groupByFieldsForStatistics: ['hello'] - }); - - groupByFieldsForStatistics.should.deepEqual(['hello']); - }); - - it('should default groupByFieldsForStatistics to empty array', () => { - const { groupByFieldsForStatistics } = StatisticsFields.normalizeOptions({}); - - groupByFieldsForStatistics.should.deepEqual([]); - }); - }); - - describe('static create method', () => { - it('should create fields from statistics and without definitions', () => { - const result = StatisticsFields.create({ - statisticsSample: { foo: 1.234 } - }); - result.should.deepEqual([{ - name: 'foo', - type: 'esriFieldTypeDouble', - sqlType: 'sqlTypeFloat', - alias: 'foo', - domain: null, - defaultValue: null - }]); - }); - - it('should create date field when value is ISO-string date', () => { - const result = StatisticsFields.create({ - statisticsSample: { foo: new Date().toISOString() } - }); - result.should.deepEqual([{ - name: 'foo', - type: 'esriFieldTypeDate', - sqlType: 'sqlTypeOther', - alias: 'foo', - domain: null, - defaultValue: null - }]); - }); - - it('should create date field when field is defined as date', () => { - const result = StatisticsFields.create({ - statisticsSample: { foo: 100000 }, - fieldDefinitions: [{ name: 'foo', type: 'Date' }], - outStatistics: [{ onStatisticField: 'foo' }] - }); - result.should.deepEqual([{ - name: 'foo', - type: 'esriFieldTypeDate', - sqlType: 'sqlTypeOther', - alias: 'foo', - domain: null, - defaultValue: null - }]); - }); - - it('should create date field when field is defined as date, but custom label requested', () => { - const result = StatisticsFields.create({ - statisticsSample: { bar: 100000 }, - fieldDefinitions: [{ name: 'foo', type: 'Date' }], - outStatistics: [{ onStatisticField: 'foo', outStatisticFieldName: 'bar' }] - }); - result.should.deepEqual([{ - name: 'bar', - type: 'esriFieldTypeDate', - sqlType: 'sqlTypeOther', - alias: 'bar', - domain: null, - defaultValue: null - }]); - }); - - it('should create date field and groupBy fields', () => { - const result = StatisticsFields.create({ - statisticsSample: { foo: 100000, bar: 'hello', walter: 1 }, - fieldDefinitions: [{ name: 'foo', type: 'Date' }], - outStatistics: [{ onStatisticField: 'foo' }], - groupByFieldsForStatistics: 'bar,walter' - }); - result.should.deepEqual([{ - name: 'foo', - type: 'esriFieldTypeDate', - sqlType: 'sqlTypeOther', - alias: 'foo', - domain: null, - defaultValue: null - }, { - name: 'bar', - type: 'esriFieldTypeString', - sqlType: 'sqlTypeOther', - length: 128, - alias: 'bar', - domain: null, - defaultValue: null - }, { - name: 'walter', - type: 'esriFieldTypeInteger', - sqlType: 'sqlTypeOther', - alias: 'walter', - domain: null, - defaultValue: null - }]); - }); - }); -}); diff --git a/packages/featureserver/src/helpers/get-collection-crs.spec.js b/packages/featureserver/src/helpers/get-collection-crs.spec.js deleted file mode 100644 index 9946da128..000000000 --- a/packages/featureserver/src/helpers/get-collection-crs.spec.js +++ /dev/null @@ -1,39 +0,0 @@ -const should = require('should') // eslint-disable-line -const getCollectionCrs = require('./get-collection-crs'); - -describe('get-collection-crs', () => { - it('getCollectionCrs: no collection', () => { - const crs = getCollectionCrs(); - should(crs).equal(undefined); - }); - - it('getCollectionCrs: no crs', () => { - const crs = getCollectionCrs({}); - should(crs).equal(undefined); - }); - - it('getCollectionCrs: no crs', () => { - const crs = getCollectionCrs({}); - should(crs).equal(undefined); - }); - - it('getCollectionCrs: no crs object', () => { - const crs = getCollectionCrs({ crs: {} }); - should(crs).equal(undefined); - }); - - it('getCollectionCrs: bad crs definition', () => { - const crs = getCollectionCrs({ crs: { properties: { name: 'foodbar' } } }); - should(crs).equal(undefined); - }); - - it('getCollectionCrs: WGS84 definition', () => { - const crs = getCollectionCrs({ crs: { properties: { name: 'urn:ogc:def:crs:ogc:1.3:crs84' } } }); - should(crs).equal('4326'); - }); - - it('getCollectionCrs: non-WGS84 definition', () => { - const crs = getCollectionCrs({ crs: { properties: { name: 'urn:ogc:def:crs:EPSG::2285' } } }); - should(crs).equal('2285'); - }); -}); diff --git a/packages/featureserver/src/helpers/get-geometry-type-from-geojson.spec.js b/packages/featureserver/src/helpers/get-geometry-type-from-geojson.spec.js deleted file mode 100644 index ce46657e0..000000000 --- a/packages/featureserver/src/helpers/get-geometry-type-from-geojson.spec.js +++ /dev/null @@ -1,64 +0,0 @@ -const should = require('should') // eslint-disable-line -const { getGeometryTypeFromGeojson } = require('.'); - -describe('get-geometry-type-from-geojson', function () { - it('undefined input returns undefined', () => { - const result = getGeometryTypeFromGeojson(); - should(result).equal(); - }); - - it('string input returns undefined', () => { - const result = getGeometryTypeFromGeojson('foo'); - should(result).equal(); - }); - - it('empty object returns undefined', () => { - const result = getGeometryTypeFromGeojson({}); - should(result).equal(); - }); - - it('defers to root-level geometryType', () => { - const result = getGeometryTypeFromGeojson({ geometryType: 'Point', metadata: { geometryType: 'foo' } }); - result.should.equal('esriGeometryPoint'); - }); - - it('uses metadata.geometryType when no root-level geometryType', () => { - const result = getGeometryTypeFromGeojson({ metadata: { geometryType: 'Point' } }); - result.should.equal('esriGeometryPoint'); - }); - - it('uses feature geometry-type if no other source', () => { - const result = getGeometryTypeFromGeojson({ features: [{ geometry: { type: 'Point' } }] }); - result.should.equal('esriGeometryPoint'); - }); - - it('Searches for first feature geometry-type if no other source', () => { - const result = getGeometryTypeFromGeojson({ features: [{ geometry: null }, { geometry: { type: 'Point' } }] }); - result.should.equal('esriGeometryPoint'); - }); - - it('returns undefined feature geometry-type not defined', () => { - const result = getGeometryTypeFromGeojson({ features: [{ geometry: null }] }); - should(result).equal(); - }); - - it('supports defined set of input types', () => { - const types = { - Point: 'esriGeometryPoint', - MultiPoint: 'esriGeometryMultipoint', - LineString: 'esriGeometryPolyline', - MultiLineString: 'esriGeometryPolyline', - Polygon: 'esriGeometryPolygon', - MultiPolygon: 'esriGeometryPolygon' - }; - Object.entries(types).forEach(([key, value]) => { - const result = getGeometryTypeFromGeojson({ geometryType: key }); - result.should.equal(value); - }); - }); - - it('returns undefined for unsupported geometry types', () => { - const result = getGeometryTypeFromGeojson({ geometryType: 'Other' }); - should(result).equal(); - }); -}); diff --git a/packages/featureserver/src/helpers/get-spatial-reference.spec.js b/packages/featureserver/src/helpers/get-spatial-reference.spec.js deleted file mode 100644 index 8e347de18..000000000 --- a/packages/featureserver/src/helpers/get-spatial-reference.spec.js +++ /dev/null @@ -1,39 +0,0 @@ -const should = require('should') // eslint-disable-line -const getSpatialReference = require('./get-spatial-reference'); - -describe('get-spatial-reference', () => { - it('getSpatialReference: no data passed', () => { - const wkt = getSpatialReference(); - should(wkt).equal(undefined); - }); - - it('getSpatialReference: only inputCrs', () => { - const wkt = getSpatialReference(undefined, { inputCrs: { wkid: 4326, latestWkid: 4326 } }); - should(wkt).deepEqual({ wkid: 4326, latestWkid: 4326 }); - }); - - it('getSpatialReference: numeric inputCrs', () => { - const wkt = getSpatialReference(undefined, { inputCrs: 4326 }); - should(wkt).deepEqual({ wkid: 4326, latestWkid: 4326 }); - }); - - it('getSpatialReference: mercator inputCrs', () => { - const wkt = getSpatialReference(undefined, { inputCrs: 102100 }); - should(wkt).deepEqual({ wkid: 102100, latestWkid: 3857 }); - }); - - it('getSpatialReference: only sourceSR', () => { - const wkt = getSpatialReference(undefined, { sourceSR: 3857 }); - should(wkt).deepEqual({ wkid: 3857, latestWkid: 3857 }); - }); - - it('getSpatialReference: only geojson', () => { - const wkt = getSpatialReference({ crs: { properties: { name: 'epsg:3857' } } }); - should(wkt).deepEqual({ wkid: 3857, latestWkid: 3857 }); - }); - - it('getSpatialReference: all inputs available', () => { - const wkt = getSpatialReference({ crs: { properties: { name: 'epsg:3857' } } }, { inputCrs: 4326, sourceSR: 102100 }); - should(wkt).deepEqual({ wkid: 4326, latestWkid: 4326 }); - }); -}); diff --git a/packages/featureserver/src/helpers/is-geojson-table.spec.js b/packages/featureserver/src/helpers/is-geojson-table.spec.js deleted file mode 100644 index cd9f8212c..000000000 --- a/packages/featureserver/src/helpers/is-geojson-table.spec.js +++ /dev/null @@ -1,58 +0,0 @@ -const should = require('should') // eslint-disable-line -const isTable = require('./is-geojson-table'); - -describe('is-geojson-table', function () { - it('undefined input should return true', () => { - const result = isTable(); - should(result).be.exactly(true); - }); - - it('non-object input should return true', () => { - const result = isTable('test'); - should(result).be.exactly(true); - }); - - it('GeoJSON collection input with geometry should return false', () => { - const collection = { type: 'FeatureCollection', crs: { type: 'name', properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' } }, features: [{ type: 'Feature', properties: {}, geometry: { type: 'Point', coordinates: [-100, 40] } }, { type: 'Feature', properties: {}, geometry: { type: 'Point', coordinates: [-101, 41] } }, { type: 'Feature', properties: {}, geometry: { type: 'Point', coordinates: [-99, 39] } }] }; - const result = isTable(collection); - should(result).be.exactly(false); - }); - - it('GeoJSON collection input with NO geometry should return true', () => { - const collection = { type: 'FeatureCollection', crs: { type: 'name', properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' } }, features: [{ type: 'Feature', properties: {} }] }; - const result = isTable(collection); - should(result).be.exactly(true); - }); - - it('GeoJSON collection input with valid geometryType should return false', () => { - const collection = { type: 'FeatureCollection', crs: { type: 'name', properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' } }, features: [{ type: 'Feature', properties: {} }] }; - const geomTypes = ['Point', 'MultiPoint', 'LineString', 'MultiLineString', 'Polygon', 'MultiPolygon']; - geomTypes.forEach((geomType) => { - collection.geometryType = geomType; - const result = isTable(collection); - should(result).be.exactly(false); - }); - }); - - it('GeoJSON collection input with INvalid geometryType should return true', () => { - const collection = { type: 'FeatureCollection', crs: { type: 'name', properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' } }, features: [{ type: 'Feature', properties: {} }] }; - const geomTypes = ['Other']; - geomTypes.forEach((geomType) => { - collection.geomType = geomType; - const result = isTable(collection); - should(result).be.exactly(true); - }); - }); - - it('GeoJSON collection input without features should return true', () => { - const collection = { type: 'FeatureCollection', crs: { type: 'name', properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' } }, features: [] }; - const result = isTable(collection); - should(result).be.exactly(true); - }); - - it('GeoJSON collection input with metadata geometryType but no features should return false', () => { - const collection = { metadata: { geometryType: 'Point' }, type: 'FeatureCollection', crs: { type: 'name', properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' } }, features: [] }; - const result = isTable(collection); - should(result).be.exactly(false); - }); -}); diff --git a/packages/featureserver/src/helpers/normalize-extent.spec.js b/packages/featureserver/src/helpers/normalize-extent.spec.js deleted file mode 100644 index 82031c3c9..000000000 --- a/packages/featureserver/src/helpers/normalize-extent.spec.js +++ /dev/null @@ -1,153 +0,0 @@ -const should = require('should') // eslint-disable-line -const { normalizeExtent } = require('.'); - -describe('normalize-extent', function () { - it('undefined input should return undefined', () => { - const result = normalizeExtent(); - should(result).equal(undefined); - }); - - it('string input should throw error', () => { - try { - normalizeExtent('string'); - should.fail(); - } catch (error) { - error.message.should.equal('Received invalid extent: "string"'); - } - }); - - it('empty array input should throw error', () => { - try { - normalizeExtent([]); - should.fail(); - } catch (error) { - error.message.should.equal('Received invalid extent: []'); - } - }); - - it('simple extent array with less than required coordinates should throw error', () => { - try { - normalizeExtent([-180, -90, 180], { wkid: 4326 }); - should.fail(); - } catch (error) { - error.message.should.equal('Received invalid extent: [-180,-90,180]'); - } - }); - - it('simple extent array with NaNs should throw error', () => { - try { - normalizeExtent([-180, -90, 180, 'foo'], { wkid: 4326 }); - should.fail(); - } catch (error) { - error.message.should.equal('Received invalid extent: [-180,-90,180,"foo"]'); - } - }); - - it('simple extent array should return Esri Extent', () => { - const result = normalizeExtent([-180, -90, 180, 90], { wkid: 4326 }); - result.should.deepEqual({ - xmin: -180, - ymin: -90, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326 } - }); - }); - - it('uses only first four elements of simple extent array', () => { - const result = normalizeExtent([-180, -90, 180, 90, 3857], { wkid: 4326 }); - result.should.deepEqual({ - xmin: -180, - ymin: -90, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326 } - }); - }); - - it('empty corner array should throw error', () => { - try { - normalizeExtent([[], []], { wkid: 4326 }); - should.fail(); - } catch (error) { - error.message.should.equal('Received invalid extent: [[],[]]'); - } - }); - - it('corner array with missing coordinates should throw error', () => { - try { - normalizeExtent([[3], [4]], { wkid: 4326 }); - should.fail(); - } catch (error) { - error.message.should.equal('Received invalid extent: [[3],[4]]'); - } - }); - - it('corner array with NaNs should throw error', () => { - try { - normalizeExtent([[3, 'food'], [4, 5]], { wkid: 4326 }); - should.fail(); - } catch (error) { - error.message.should.equal('Received invalid extent: [[3,"food"],[4,5]]'); - } - }); - - it('corner array with too many coordinates should throw error', () => { - try { - normalizeExtent([[3, 5, 7], [4, 5]], { wkid: 4326 }); - should.fail(); - } catch (error) { - error.message.should.equal('Received invalid extent: [[3,5,7],[4,5]]'); - } - }); - - it('corner extent array should return Esri Extent', () => { - const result = normalizeExtent([[-180, -90], [180, 90]], { wkid: 4326 }); - result.should.deepEqual({ - xmin: -180, - ymin: -90, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326 } - }); - }); - - it('Complete Esri extent passed in should get returned', () => { - const result = normalizeExtent({ - xmin: 40, - ymin: 10, - xmax: 55, - ymax: 25, - spatialReference: { - wkid: 4326 - } - }, { - wkid: 3857 - }); - result.should.deepEqual({ - xmin: 40, - ymin: 10, - xmax: 55, - ymax: 25, - spatialReference: { wkid: 4326 } - }); - }); - - it('Esri extent without spatial ref, should get spatial ref added', () => { - const result = normalizeExtent({ - xmin: 40, - ymin: 10, - xmax: 55, - ymax: 25 - }, { - wkid: 4326 - }); - result.should.deepEqual({ - xmin: 40, - ymin: 10, - xmax: 55, - ymax: 25, - spatialReference: { wkid: 4326 } - }); - }); -}); diff --git a/packages/featureserver/src/helpers/normalize-input-data.spec.js b/packages/featureserver/src/helpers/normalize-input-data.spec.js deleted file mode 100644 index 794c3f180..000000000 --- a/packages/featureserver/src/helpers/normalize-input-data.spec.js +++ /dev/null @@ -1,127 +0,0 @@ -const should = require('should'); // eslint-disable-line -const { normalizeInputData } = require('.'); - -describe('normalize-input-data', function () { - it('undefined input should return empty tables and layers', () => { - const result = normalizeInputData(); - result.should.deepEqual({ tables: [], layers: [], relationships: [] }); - }); - - it('non-object input should return empty tables and layers', () => { - const result = normalizeInputData('test'); - result.should.deepEqual({ tables: [], layers: [], relationships: [] }); - }); - - it('GeoJSON collection input with geometry should return single layer', () => { - const collection = { - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - features: [ - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-100, 40] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-101, 41] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-99, 39] }, - }, - ], - }; - const result = normalizeInputData(collection); - result.should.deepEqual({ - tables: [], - layers: [collection], - relationships: [], - }); - }); - - it('GeoJSON collection input without features should return single table', () => { - const collection = { - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - features: [], - }; - const result = normalizeInputData(collection); - result.should.deepEqual({ - tables: [collection], - layers: [], - relationships: [], - }); - }); - - it('GeoJSON collection input with metadata geometryType but no features should return single layer', () => { - const collection = { - metadata: { geometryType: 'Point' }, - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - features: [], - }; - const result = normalizeInputData(collection); - result.should.deepEqual({ - tables: [], - layers: [collection], - relationships: [], - }); - }); - - it('GeoJSON metadata layers and tables should be returned unaltered', () => { - const collection1 = { - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - features: [], - }; - const collection2 = { - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - features: [ - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-100, 40] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-101, 41] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-99, 39] }, - }, - ], - }; - const result = normalizeInputData({ - layers: [collection1], - tables: [collection2], - relationships: [], - }); - result.should.deepEqual({ - tables: [collection2], - layers: [collection1], - relationships: [], - }); - }); -}); diff --git a/packages/featureserver/src/helpers/normalize-request-params.spec.js b/packages/featureserver/src/helpers/normalize-request-params.spec.js deleted file mode 100644 index b6f03b1b3..000000000 --- a/packages/featureserver/src/helpers/normalize-request-params.spec.js +++ /dev/null @@ -1,57 +0,0 @@ -const should = require('should'); // eslint-disable-line -require('should-sinon'); -const { normalizeRequestParameters } = require('./normalize-request-params'); - -describe('normailizeRequestParameters', () => { - it('should use resultRecordCount when available', () => { - const result = normalizeRequestParameters({ resultRecordCount: 99 }, {}); - result.should.deepEqual({ resultRecordCount: 99 }); - }); - - it('should remove empty strings from query params', () => { - const result = normalizeRequestParameters({ test: '', foo: 'barb', boo: 400 }, {}); - result.should.deepEqual({ foo: 'barb', boo: 400, resultRecordCount: 2000 }); - }); - - it('should coerce query string boolean', () => { - const result = normalizeRequestParameters( - { test: 'true', foo: 'false' }, - {}, - ); - result.should.deepEqual({ - test: true, - foo: false, - resultRecordCount: 2000, - }); - }); - - it('should parse json', () => { - const result = normalizeRequestParameters( - { test: JSON.stringify({ foo: 'bard' }) }, - {}, - ); - result.should.deepEqual({ - test: { foo: 'bard'}, - resultRecordCount: 2000, - }); - }); - - it('should merge body and query', () => { - const result = normalizeRequestParameters({ resultRecordCount: '99' }, { foo: 'bart' }); - result.should.deepEqual({ resultRecordCount: 99, foo: 'bart' }); - }); - - it('should coerce body string parameters', () => { - const result = normalizeRequestParameters( - {}, - { boolTrue: 'true', boolFalse: 'false', numberInt: '1', numberDecimal: '1.1', emptyParam: '' }, - ); - result.should.deepEqual({ - boolTrue: true, - boolFalse: false, - numberInt: 1, - numberDecimal: 1.1, - resultRecordCount: 2000, - }); - }); -}); diff --git a/packages/featureserver/src/helpers/normalize-spatial-reference.spec.js b/packages/featureserver/src/helpers/normalize-spatial-reference.spec.js deleted file mode 100644 index 4311eb22c..000000000 --- a/packages/featureserver/src/helpers/normalize-spatial-reference.spec.js +++ /dev/null @@ -1,141 +0,0 @@ -const should = require('should') // eslint-disable-line -const { normalizeSpatialReference } = require('.'); - -describe('normalize-spatial-reference', function () { - it('undefined', () => { - const spatialRef = normalizeSpatialReference(); - spatialRef.should.deepEqual({ - latestWkid: 4326, - wkid: 4326 - }); - }); - - it('invalid object', () => { - const spatialRef = normalizeSpatialReference({ test: 'foo' }); - spatialRef.should.deepEqual({ - latestWkid: 4326, - wkid: 4326 - }); - }); - - it('invalid wkid', () => { - const spatialRef = normalizeSpatialReference(99999); - spatialRef.should.deepEqual({ - latestWkid: 4326, - wkid: 4326 - }); - }); - - it('invalid wkt', () => { - const spatialRef = normalizeSpatialReference('foodbar'); - spatialRef.should.deepEqual({ - latestWkid: 4326, - wkid: 4326 - }); - }); - - it('object with wkt that is Web Mercator string', () => { - const inputWkt = 'PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-6.828007551173374],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]'; - const spatialRef = normalizeSpatialReference({ wkt: inputWkt }); - spatialRef.should.deepEqual({ - latestWkid: 3857, - wkid: 102100 - }); - }); - - it('object with wkt that is not Web Mercator string', () => { - const inputWkt = `PROJCS["NAD_1983_StatePlane_California_V_FIPS_0405_Feet", - GEOGCS["GCS_North_American_1983", - DATUM["North_American_Datum_1983", - SPHEROID["GRS_1980",6378137,298.257222101]], - PRIMEM["Greenwich",0], - UNIT["Degree",0.017453292519943295]], - PROJECTION["Lambert_Conformal_Conic_2SP"], - PARAMETER["False_Easting",6561666.666666666], - PARAMETER["False_Northing",1640416.666666667], - PARAMETER["Central_Meridian",-118], - PARAMETER["Standard_Parallel_1",34.03333333333333], - PARAMETER["Standard_Parallel_2",35.46666666666667], - PARAMETER["Latitude_Of_Origin",33.5], - UNIT["Foot_US",0.30480060960121924], - AUTHORITY["EPSG","102645"]]`; - const spatialRef = normalizeSpatialReference({ wkt: inputWkt }); - spatialRef.should.deepEqual({ - latestWkid: 2229, - wkid: 102645 - }); - }); - - it('Web Mercator wkt string', () => { - const inputWkt = 'PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-6.828007551173374],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]'; - const spatialRef = normalizeSpatialReference(inputWkt); - spatialRef.should.deepEqual({ - latestWkid: 3857, - wkid: 102100 - }); - }); - - it('prefixed wkid', () => { - const spatialRef = normalizeSpatialReference('EPSG:3857'); - spatialRef.should.deepEqual({ - latestWkid: 3857, - wkid: 3857 - }); - }); - - it('wkid number', () => { - const spatialRef = normalizeSpatialReference(3857); - spatialRef.should.deepEqual({ - latestWkid: 3857, - wkid: 3857 - }); - }); - - it('wkid 102100', () => { - const spatialRef = normalizeSpatialReference(102100); - spatialRef.should.deepEqual({ - latestWkid: 3857, - wkid: 102100 - }); - }); - it('wkid 102100 extra properties', () => { - const spatialRef = normalizeSpatialReference({ - wkid: 102100, - latestWkid: 3857, - xyTolerance: 0.001, - zTolerance: 0.001, - mTolerance: 0.001, - falseX: -20037700, - falseY: -30241100, - xyUnits: 10000, - falseZ: -100000, - zUnits: 10000, - falseM: -100000, - mUnits: 10000 - }); - spatialRef.should.deepEqual({ - latestWkid: 3857, - wkid: 102100 - }); - }); - it('wkid 7853 extra properties', () => { - const spatialRef = normalizeSpatialReference({ - wkid: 7853, - latestWkid: 7853, - xyTolerance: 0.001, - zTolerance: 0.001, - mTolerance: 0.001, - falseX: -5120900, - falseY: 1900, - xyUnits: 10000, - falseZ: -100000, - zUnits: 10000, - falseM: -100000, - mUnits: 10000 - }); - spatialRef.should.deepEqual({ - latestWkid: 7853, - wkid: 7853 - }); - }); -}); diff --git a/packages/featureserver/src/helpers/renderers.spec.js b/packages/featureserver/src/helpers/renderers.spec.js deleted file mode 100644 index 6e62eaf57..000000000 --- a/packages/featureserver/src/helpers/renderers.spec.js +++ /dev/null @@ -1,85 +0,0 @@ -const should = require('should'); -should.config.checkProtoEql = false; - -const { - PointRenderer, - PolygonRenderer, - LineRenderer -} = require('./renderers'); - -describe('Renderers', () => { - it('should produce default PointRenderer instance', () => { - const renderer = new PointRenderer(); - renderer.should.deepEqual({ - type: 'simple', - symbol: { - color: [ - 45, - 172, - 128, - 161 - ], - outline: { - color: [ - 190, - 190, - 190, - 105 - ], - width: 0.5, - type: 'esriSLS', - style: 'esriSLSSolid' - }, - size: 7.5, - type: 'esriSMS', - style: 'esriSMSCircle' - } - }); - }); - - it('should produce default LineRenderer instance', () => { - const renderer = new LineRenderer(); - renderer.should.deepEqual({ - type: 'simple', - symbol: { - color: [ - 247, - 150, - 70, - 204 - ], - width: 6.999999999999999, - type: 'esriSLS', - style: 'esriSLSSolid' - } - }); - }); - - it('should produce default PolygonRenderer instance', () => { - const renderer = new PolygonRenderer(); - renderer.should.deepEqual({ - type: 'simple', - symbol: { - color: [ - 75, - 172, - 198, - 161 - ], - outline: { - color: [ - 150, - 150, - 150, - 155 - ], - width: 0.5, - type: 'esriSLS', - style: 'esriSLSSolid' - }, - type: 'esriSFS', - style: 'esriSFSSolid' - } - }); - }); -}); diff --git a/packages/featureserver/src/helpers/server-metadata.spec.js b/packages/featureserver/src/helpers/server-metadata.spec.js deleted file mode 100644 index 6ae5acf0f..000000000 --- a/packages/featureserver/src/helpers/server-metadata.spec.js +++ /dev/null @@ -1,209 +0,0 @@ -const should = require('should'); -should.config.checkProtoEql = false; -const proxyquire = require('proxyquire'); -const ServerMetadata = require('./server-metadata'); - -describe('ServerMetadata', () => { - it('should use defaults when no overrides', () => { - const result = ServerMetadata.create(); - result.should.deepEqual({ - currentVersion: 11.1, - fullVersion: '11.1.0', - serviceDescription: - 'This is a feature service exposed with Koop. For more information go to https://github.com/koopjs/koop.', - maxRecordCount: 2000, - description: - 'This is a feature service exposed with Koop. For more information go to https://github.com/koopjs/koop.', - copyrightText: - 'Copyright information varies by provider. For more information please contact the source of this data.', - spatialReference: { wkid: 4326, latestWkid: 4326 }, - fullExtent: { - xmin: -180, - ymin: -90, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }, - initialExtent: { - xmin: -180, - ymin: -90, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }, - hasStaticData: false, - units: 'esriDecimalDegrees', - tables: [], - layers: [], - supportedQueryFormats: 'JSON', - capabilities: 'Query', - syncEnabled: false, - hasVersionedData: false, - supportsDisconnectedEditing: false, - supportsRelationshipsResource: false, - allowGeometryUpdates: false, - }); - }); - - it('should merge overrides and defaults', () => { - const result = ServerMetadata.create({ - copyrightText: 'override default', - description: 'hello world', - serviceDescription: 'goodbye', - initialExtent: { - xmin: -160, - ymin: -90, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }, - }); - result.should.deepEqual({ - currentVersion: 11.1, - fullVersion: '11.1.0', - serviceDescription: 'goodbye', - maxRecordCount: 2000, - description: 'hello world', - copyrightText: 'override default', - spatialReference: { wkid: 4326, latestWkid: 4326 }, - fullExtent: { - xmin: -180, - ymin: -90, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }, - initialExtent: { - xmin: -160, - ymin: -90, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }, - hasStaticData: false, - units: 'esriDecimalDegrees', - tables: [], - layers: [], - supportedQueryFormats: 'JSON', - capabilities: 'Query', - syncEnabled: false, - hasVersionedData: false, - supportsDisconnectedEditing: false, - supportsRelationshipsResource: false, - allowGeometryUpdates: false, - }); - }); - - it('should skip undefined overrides', () => { - const result = ServerMetadata.create({ - copyrightText: undefined, - }); - - result.should.deepEqual({ - currentVersion: 11.1, - fullVersion: '11.1.0', - serviceDescription: - 'This is a feature service exposed with Koop. For more information go to https://github.com/koopjs/koop.', - maxRecordCount: 2000, - description: - 'This is a feature service exposed with Koop. For more information go to https://github.com/koopjs/koop.', - copyrightText: - 'Copyright information varies by provider. For more information please contact the source of this data.', - spatialReference: { wkid: 4326, latestWkid: 4326 }, - fullExtent: { - xmin: -180, - ymin: -90, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }, - initialExtent: { - xmin: -180, - ymin: -90, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }, - hasStaticData: false, - units: 'esriDecimalDegrees', - tables: [], - layers: [], - supportedQueryFormats: 'JSON', - capabilities: 'Query', - syncEnabled: false, - hasVersionedData: false, - supportsDisconnectedEditing: false, - supportsRelationshipsResource: false, - allowGeometryUpdates: false, - }); - }); - - it('should use description for service description when passed as override', () => { - const result = ServerMetadata.create({ - description: 'set description', - }); - - result.serviceDescription.should.equal('set description'); - result.description.should.equal('set description'); - }); - - it('should use fullExtent for initialExtent when passed as override', () => { - const result = ServerMetadata.create({ - fullExtent: { - xmin: -100, - ymin: -20, - xmax: 100, - ymax: 20, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }, - }); - result.initialExtent.should.deepEqual({ - xmin: -100, - ymin: -20, - xmax: 100, - ymax: 20, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }); - result.fullExtent.should.deepEqual({ - xmin: -100, - ymin: -20, - xmax: 100, - ymax: 20, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }); - }); - - describe('set units', () => { - it('should use spatial reference units', () => { - const result = ServerMetadata.create({ - spatialReference: { wkid: 3857 }, - }); - - result.units.should.equal('esriMeters'); - }); - - it('should use default units if unable extract', () => { - const ServerMetadata = proxyquire('./server-metadata', { - './esri-units-lookup': () => { - throw new Error(); - }, - }); - - const result = ServerMetadata.create({ - spatialReference: { wkid: 3857 }, - }); - - result.units.should.equal('esriDecimalDegrees'); - }); - - it('should use wkt if available', () => { - const result = ServerMetadata.create({ - spatialReference: { - wkt: 'PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Mercator_1SP"],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs"],AUTHORITY["EPSG","3857"]]', - }, - }); - - result.units.should.equal('esriMeters'); - }); - }); -}); diff --git a/packages/featureserver/src/helpers/table-layer-metadata.spec.js b/packages/featureserver/src/helpers/table-layer-metadata.spec.js deleted file mode 100644 index 1c27ffe91..000000000 --- a/packages/featureserver/src/helpers/table-layer-metadata.spec.js +++ /dev/null @@ -1,405 +0,0 @@ -const should = require('should'); -should.config.checkProtoEql = false; -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const CURRENT_VERSION = 11.1; -const FULL_VERSION = '11.1.0'; - -const createLayerMetadataFieldsSpy = sinon.spy(function () { - return ['fields']; -}); -const fields = { - LayerFields: { - create: createLayerMetadataFieldsSpy - } -}; - -const TableLayerMetadata = proxyquire('./table-layer-metadata', { - '../helpers/fields': fields -}); - -const defaultFixture = { - id: 0, - name: 'Not Set', - type: 'Table', - description: 'This is a feature service exposed with Koop. For more information go to https://github.com/koopjs/koop.', - copyrightText: 'Copyright information varies by provider. For more information please contact the source of this data.', - parentLayer: null, - subLayers: null, - defaultVisibility: true, - hasAttachments: false, - htmlPopupType: 'esriServerHTMLPopupTypeNone', - displayField: 'OBJECTID', - typeIdField: null, - fields: [], - relationships: [], - capabilities: 'Query', - maxRecordCount: 2000, - supportsStatistics: true, - supportsAdvancedQueries: true, - supportedQueryFormats: 'JSON', - ownershipBasedAccessControlForFeatures: { - allowOthersToQuery: true - }, - useStandardizedQueries: true, - advancedQueryCapabilities: { - useStandardizedQueries: true, - supportsStatistics: true, - supportsOrderBy: true, - supportsDistinct: true, - supportsPagination: true, - supportsTrueCurve: false, - supportsReturningQueryExtent: true, - supportsQueryWithDistance: true - }, - canModifyLayer: false, - dateFieldsTimeReference: null, - isDataVersioned: false, - supportsRollbackOnFailureParameter: true, - hasM: false, - hasZ: false, - allowGeometryUpdates: true, - objectIdField: 'OBJECTID', - globalIdField: '', - types: [], - templates: [], - hasStaticData: false, - timeInfo: {}, - uniqueIdField: { - name: 'OBJECTID', - isSystemMaintained: true - }, - currentVersion: CURRENT_VERSION, - fullVersion: FULL_VERSION -}; - -describe('TableLayerMetadata', () => { - beforeEach(() => { - createLayerMetadataFieldsSpy.resetHistory(); - }); - - it('calling with new should return default metadata', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.should.deepEqual(defaultFixture); - }); - - describe('mixinOverrides', () => { - it('uses fields creator helper', () => { - const tableLayerMetadata = new TableLayerMetadata(); - const geojson = { - features: [{ - type: 'FeatureCollection', - properties: {} - }] - }; - tableLayerMetadata.mixinOverrides(geojson); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'] - }); - createLayerMetadataFieldsSpy.callCount.should.equal(1); - createLayerMetadataFieldsSpy.firstCall.args.should.deepEqual([geojson]); - }); - - it('defers to "layerId" option for "id"', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { layerId: '2' }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - id: 2 - }); - }); - - it('uses "id" option when no "layerId" option', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { id: 3 }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - id: 3 - }); - }); - - it('defers to "displayField" option for "displayField"', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { displayField: 'hellow' }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - displayField: 'hellow' - }); - }); - - it('"idField" option used in multiple overrides', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { idField: 'fluffy' }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - objectIdField: 'fluffy', - displayField: 'fluffy', - uniqueIdField: { - isSystemMaintained: true, - name: 'fluffy' - } - }); - }); - - it('"hasZ" option used when present in metadata', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { hasZ: true }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - hasZ: true - }); - }); - - it('"hasStaticData" option used if a boolean value', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { hasStaticData: true }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - hasStaticData: true - }); - }); - - it('"hasStaticData" option ignored if not a boolean value', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { hasStaticData: 'true' }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - hasStaticData: false - }); - }); - - it('empty "capabilities" option ignored', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { capabilities: {} }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'] - }); - }); - - it('defer to "capabilities.list" option if defined ', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { capabilities: { list: 'hello,world' } }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - capabilities: 'hello,world' - }); - }); - - it('add "Extract" to default "capabilities" if capabilities.extract is truthy', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { capabilities: { extract: true } }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - capabilities: 'Query,Extract' - }); - }); - - it('"hasStaticData" option used if a boolean value', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { hasStaticData: true }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - hasStaticData: true - }); - }); - - it('"supportsPagination" option ignored if not a boolean value', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { supportsPagination: 'false' }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'] - }); - }); - - it('"supportsPagination" option used if a boolean value', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { supportsPagination: false }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - advancedQueryCapabilities: { - ...defaultFixture.advancedQueryCapabilities, - supportsPagination: false - } - }); - }); - - it('"hasAttachments" option used if a boolean value', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { hasAttachments: true }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - hasAttachments: true - }); - }); - - it('"hasAttachments" option ignored if not a boolean value', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { hasAttachments: 'true' }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - hasAttachments: false - }); - }); - - it('use supported options for direct overrides', () => { - const tableLayerMetadata = new TableLayerMetadata(); - tableLayerMetadata.mixinOverrides({}, { - name: 'Hank Williams', - relationships: ['something'], - description: 'There is a tear in my beer.', - copyrightText: 'copyright-text', - templates: ['templates'], - timeInfo: { time: 'June of 44' }, - maxRecordCount: 9999, - defaultVisibility: false, - currentVersion: 90.99, - fullVersion: '90.9.9' - }); - - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - fields: ['fields'], - name: 'Hank Williams', - relationships: ['something'], - description: 'There is a tear in my beer.', - copyrightText: 'copyright-text', - templates: ['templates'], - timeInfo: { time: 'June of 44' }, - maxRecordCount: 9999, - defaultVisibility: false, - currentVersion: 90.99, - fullVersion: '90.9.9' - }); - }); - }); - - it('static method "normalizeInput" should create expected geojson and default options', () => { - const { geojson, options } = TableLayerMetadata.normalizeInput({ - features: ['feature'] - }, { - params: { layer: '99' } - }); - geojson.should.deepEqual({ features: ['feature'] }); - options.should.deepEqual({ - capabilities: {}, - layerId: '99' - }); - }); - - it('static method "normalizeInput" should merge capabilities', () => { - const { geojson, options } = TableLayerMetadata.normalizeInput({ - features: ['feature'], - metadata: { - capabilities: 'list,of,stuff' - }, - capabilities: { - world: 'hellow' - } - }, { - params: { layer: '99' } - }); - geojson.should.deepEqual({ features: ['feature'] }); - options.should.deepEqual({ - layerId: '99', - capabilities: { - list: 'list,of,stuff', - world: 'hellow' - } - }); - }); - - it('static method "normalizeInput" should defer to metadata description', () => { - const { geojson, options } = TableLayerMetadata.normalizeInput({ - features: ['feature'], - metadata: { - description: 'Metadata description' - } - }, { - params: { layer: '99' }, - app: { - locals: { - config: { - featureServer: { - description: 'Overrides default layer description.' - } - } - } - } - }); - geojson.should.deepEqual({ features: ['feature'] }); - options.should.deepEqual({ - layerId: '99', - description: 'Metadata description', - capabilities: {} - }); - }); - - it('static method "create" should normalize input, call constructor, and mixin-overrides ', () => { - const tableLayerMetadata = TableLayerMetadata.create({ - features: ['feature'], - metadata: { - foo: 'bar', - displayField: 'myField', - capabilities: 'list,of,stuff' - }, - capabilities: { - world: 'hellow' - } - }, { - params: { layer: '99' }, - app: { - locals: { - config: { - featureServer: { - currentVersion: 90.99, - fullVersion: '90.9.9', - description: 'Overrides default layer description.' - } - } - } - } - }); - tableLayerMetadata.should.deepEqual({ - ...defaultFixture, - capabilities: 'list,of,stuff', - displayField: 'myField', - fields: ['fields'], - id: 99, - currentVersion: 90.99, - fullVersion: '90.9.9', - description: 'Overrides default layer description.' - }); - }); -}); diff --git a/packages/featureserver/src/helpers/validate-inputs.spec.js b/packages/featureserver/src/helpers/validate-inputs.spec.js deleted file mode 100644 index e9bca4c47..000000000 --- a/packages/featureserver/src/helpers/validate-inputs.spec.js +++ /dev/null @@ -1,116 +0,0 @@ -const should = require('should') // eslint-disable-line -const sinon = require('sinon'); -require('should-sinon'); -const proxyquire = require('proxyquire'); -const { validateInputs } = require('./validate-inputs'); - -describe('validateInputs', () => { - describe('Validate geojson', () => { - const hintSpy = sinon.spy(() => { - return ['validatation error']; - }); - - const debugSpy = sinon.spy(); - - - - it('should validate geojson when LOG_LEVEL === debug', () => { - process.env.LOG_LEVEL = 'debug'; - - const { validateInputs } = proxyquire('./validate-inputs', { - 'geojson-validation': { - valid: hintSpy - }, - '../logger': { - logger: { - debug: debugSpy - } - } - }); - validateInputs({}, { foo: 'geojson' }); - hintSpy.calledOnce.should.equal(true); - hintSpy.firstCall.args.should.deepEqual([{ foo: 'geojson' }, true]); - debugSpy.calledOnce.should.equal(true); - }); - - it('should validate geojson when KOOP_LOG_LEVEL === debug', () => { - process.env.KOOP_LOG_LEVEL = 'debug'; - - const { validateInputs } = proxyquire('./validate-inputs', { - 'geojson-validation': { - valid: hintSpy - }, - '../logger': { - logger: { - debug: debugSpy - } - } - }); - - validateInputs({}, { foo: 'geojson' }); - hintSpy.calledOnce.should.equal(true); - hintSpy.firstCall.args.should.deepEqual([{ foo: 'geojson' }, true]); - debugSpy.calledOnce.should.equal(true); - }); - - it('should skip geojson validation', () => { - const { validateInputs } = proxyquire('./validate-inputs', { - 'geojson-validation': { - valid: hintSpy - }, - '../logger': { - logger: { - debug: debugSpy - } - } - }); - validateInputs({}, { foo: 'geojson' }); - hintSpy.notCalled.should.equal(true); - }); - - afterEach(() => { - debugSpy.resetHistory(); - hintSpy.resetHistory(); - process.env.LOG_LEVEL = undefined; - process.env.KOOP_LOG_LEVEL = undefined; - }); - }); - - describe('Validate geojson metadata', () => { - it('should validate geojson metadata and find no error', () => { - try { - validateInputs({}, { metadata: { maxRecordCount: 1 } }); - } catch (error) { - throw new Error('should not have thrown'); - } - }); - - it('should validate geojson metadata and find error', () => { - try { - validateInputs({}, { metadata: { maxRecordCount: '1' } }); - throw new Error('should have thrown'); - } catch (error) { - error.code.should.equal(500); - } - }); - }); - - describe('Validate request parameters', () => { - it('should validate request parameters', () => { - try { - validateInputs({ foo: 'bar', resultRecordCount: 1 }, {}); - } catch (error) { - throw new Error('should not have thrown'); - } - }); - - it('should not validate request parameters', () => { - try { - validateInputs({ resultRecordCount: false }, {}); - throw new Error('should have thrown'); - } catch (error) { - error.code.should.equal(400); - } - }); - }); -}); \ No newline at end of file diff --git a/packages/featureserver/src/layer-metadata.spec.js b/packages/featureserver/src/layer-metadata.spec.js deleted file mode 100644 index 04024ba76..000000000 --- a/packages/featureserver/src/layer-metadata.spec.js +++ /dev/null @@ -1,47 +0,0 @@ -const should = require('should') // eslint-disable-line -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const TableCreateSpy = sinon.spy(function () { - return 'table-layer-metadata'; -}); -const FeatureLayerCreateSpy = sinon.spy(function () { - return 'feature-layer-metadata'; -}); - -describe('layerMetadata', function () { - it('isTable === true, returns TableLayerMetadata instance', () => { - const isTableSpy = sinon.spy(function () { return true; }); - const layerMetadata = proxyquire('./layer-metadata', { - './helpers': { - isTable: isTableSpy, - TableLayerMetadata: { create: TableCreateSpy }, - FeatureLayerMetadata: { create: FeatureLayerCreateSpy } - } - }); - const result = layerMetadata({ foo: 'bar' }, { sna: 'fu' }); - should(result).deepEqual('table-layer-metadata'); - isTableSpy.callCount.should.equal(1); - isTableSpy.firstCall.args.should.deepEqual([{ foo: 'bar', sna: 'fu' }]); - TableCreateSpy.callCount.should.equal(1); - TableCreateSpy.firstCall.args.should.deepEqual([{ foo: 'bar' }, { sna: 'fu' }]); - TableCreateSpy.resetHistory(); - }); - - it('isTable === false, returns FeatureLayerMetadata instance', () => { - const isTableSpy = sinon.spy(function () { return false; }); - const layerMetadata = proxyquire('./layer-metadata', { - './helpers': { - isTable: isTableSpy, - TableLayerMetadata: { create: TableCreateSpy }, - FeatureLayerMetadata: { create: FeatureLayerCreateSpy } - } - }); - const result = layerMetadata({ foo: 'bar' }, { sna: 'fu' }); - should(result).deepEqual('feature-layer-metadata'); - isTableSpy.callCount.should.equal(1); - isTableSpy.firstCall.args.should.deepEqual([{ foo: 'bar', sna: 'fu' }]); - FeatureLayerCreateSpy.callCount.should.equal(1); - FeatureLayerCreateSpy.firstCall.args.should.deepEqual([{ foo: 'bar' }, { sna: 'fu' }]); - FeatureLayerCreateSpy.resetHistory(); - }); -}); diff --git a/packages/featureserver/src/layers-metadata.spec.js b/packages/featureserver/src/layers-metadata.spec.js deleted file mode 100644 index 6c5265e37..000000000 --- a/packages/featureserver/src/layers-metadata.spec.js +++ /dev/null @@ -1,85 +0,0 @@ -const should = require('should') // eslint-disable-line -should.config.checkProtoEql = false; -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); - -describe('layers metadata', () => { - it('empty input returns empty table and layer arrays', () => { - const normalizeInputData = sinon.spy(function () { - return { - layers: [], - tables: [] - }; - }); - const TableLayerMetadata = sinon.spy(); - const FeatureLayerMetadata = sinon.spy(); - - const layersInfoHandler = proxyquire('./layers-metadata', { - './helpers': { - normalizeInputData, - TableLayerMetadata, - FeatureLayerMetadata - } - }); - - const layersInfo = layersInfoHandler({}); - - layersInfo.should.deepEqual({ - layers: [], - tables: [] - }); - - normalizeInputData.callCount.should.equal(1); - normalizeInputData.firstCall.args.should.deepEqual([{}]); - TableLayerMetadata.callCount.should.equal(0); - FeatureLayerMetadata.callCount.should.equal(0); - }); - - it('table/feature layer input should generate appropriate class instances with default ids', () => { - const normalizeInputData = sinon.spy(function () { - return { - layers: ['layer1', 'layer2'], - tables: ['table1'] - }; - }); - - const tableCreateSpy = sinon.spy(); - const TableLayerMetadata = class TableClass { - static create (input, options) { - tableCreateSpy(input, options); - return `${input}-metadata`; - } - }; - - const featureLayerCreateSpy = sinon.spy(); - const FeatureLayerMetadata = class FeatureClass { - static create (input, options) { - featureLayerCreateSpy(input, options); - return `${input}-metadata`; - } - }; - - const layersInfoHandler = proxyquire('./layers-metadata', { - './helpers': { - normalizeInputData, - TableLayerMetadata, - FeatureLayerMetadata - } - }); - - const layersInfo = layersInfoHandler({ hello: 'world' }, { some: 'options' }); - - layersInfo.should.deepEqual({ - layers: ['layer1-metadata', 'layer2-metadata'], - tables: ['table1-metadata'] - }); - - normalizeInputData.callCount.should.equal(1); - normalizeInputData.firstCall.args.should.deepEqual([{ hello: 'world' }]); - featureLayerCreateSpy.callCount.should.equal(2); - featureLayerCreateSpy.firstCall.args.should.deepEqual(['layer1', { layerId: 0, some: 'options' }]); - featureLayerCreateSpy.secondCall.args.should.deepEqual(['layer2', { layerId: 1, some: 'options' }]); - tableCreateSpy.callCount.should.equal(1); - tableCreateSpy.firstCall.args.should.deepEqual(['table1', { layerId: 2, some: 'options' }]); - }); -}); diff --git a/packages/featureserver/src/logger/index.js b/packages/featureserver/src/logger/index.js index 8b59799cb..b6ede2c45 100644 --- a/packages/featureserver/src/logger/index.js +++ b/packages/featureserver/src/logger/index.js @@ -1,6 +1,6 @@ let logger = require('./logger'); -const Logger = require('@koopjs/logger'); -const winnow = require('@koopjs/winnow'); +const Logger = require('../../../logger'); +const winnow = require('../../../winnow'); module.exports = { logger, diff --git a/packages/featureserver/src/logger/logger.js b/packages/featureserver/src/logger/logger.js index 9421094c6..e28c38b98 100644 --- a/packages/featureserver/src/logger/logger.js +++ b/packages/featureserver/src/logger/logger.js @@ -1,4 +1,4 @@ -const Logger = require('@koopjs/logger'); +const Logger = require('../../../logger'); let _logger = new Logger(); module.exports = _logger; diff --git a/packages/featureserver/src/metadata-defaults.spec.js b/packages/featureserver/src/metadata-defaults.spec.js deleted file mode 100644 index b1f732202..000000000 --- a/packages/featureserver/src/metadata-defaults.spec.js +++ /dev/null @@ -1,30 +0,0 @@ -const should = require('should'); // eslint-disable-line -const defaults = require('./metadata-defaults'); - -describe('server config options', () => { - afterEach(() => { - defaults.reset(); - }); - - it('should set and get options', () => { - defaults.setDefaults({ currentVersion: 99.1 }); - const settings = defaults.serverDefaults(); - settings.currentVersion.should.equal(99.1); - }); - - - it('should not be able to set invalid values', () => { - try { - const result = defaults.setDefaults({ server: { spatialReference: {} } }); - result.should.be.undefined(); - } catch (error) { - error.message.should.equal('FeatureServer default settings are invalid: "server.spatialReference.wkid" is required.'); - } - }); - - it('should ignore unknown keys', () => { - defaults.setDefaults({ foo: 'bar' }); - const settings = defaults.serverDefaults(); - settings.foo?.should.be.undefined(); - }); -}); diff --git a/packages/featureserver/src/query/filter-and-transform.js b/packages/featureserver/src/query/filter-and-transform.js index 1dade6bb5..c44ce014b 100644 --- a/packages/featureserver/src/query/filter-and-transform.js +++ b/packages/featureserver/src/query/filter-and-transform.js @@ -1,4 +1,4 @@ -const { query } = require('@koopjs/winnow'); +const { query } = require('../../../winnow'); const helpers = require('../helpers'); function filterAndTransform (json, requestParams) { diff --git a/packages/featureserver/src/query/filter-and-transform.spec.js b/packages/featureserver/src/query/filter-and-transform.spec.js deleted file mode 100644 index 8ea75302e..000000000 --- a/packages/featureserver/src/query/filter-and-transform.spec.js +++ /dev/null @@ -1,258 +0,0 @@ -const should = require('should'); -should.config.checkProtoEql = false; -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); - -describe('filterAndTransform', () => { - - describe('should prepare parameters correctly', () => { - afterEach(function () { - filterAndTransformSpy.resetHistory(); - getCollectionCrsSpy.resetHistory(); - }); - - const getCollectionCrsSpy = sinon.spy(function () {}); - - const filterAndTransformSpy = sinon.spy(function () { - return { features: 'expected-result' }; - }); - - const stub = { - '../helpers': { - getCollectionCrs: getCollectionCrsSpy - }, - '@koopjs/winnow': { - query: filterAndTransformSpy - } - }; - - const { filterAndTransform } = proxyquire( - './filter-and-transform', - stub - ); - - describe('should standardize parameters', () => { - it('should convert "returnDistinctValues" to "distinct"', () => { - const result = filterAndTransform({ features: [{}] }, { returnDistinctValues: true }); - result.should.deepEqual({ - features: 'expected-result' - }); - filterAndTransformSpy.callCount.should.equal(1); - filterAndTransformSpy.firstCall.args.should.deepEqual([ - { features: [{}] }, - { inputCrs: 4326, toEsri: true, distinct: true } - ]); - }); - }); - - describe('should set toEsri:false and pass to filter/transform', () => { - it('should set toEsri:false when requested format is geojson', () => { - const result = filterAndTransform({ features: [{}] }, { f: 'geojson' }); - result.should.deepEqual({ - features: 'expected-result' - }); - filterAndTransformSpy.callCount.should.equal(1); - filterAndTransformSpy.firstCall.args.should.deepEqual([ - { features: [{}] }, - { f: 'geojson', inputCrs: 4326, toEsri: false } - ]); - }); - - it('should set toEsri:false when returnExtentOnly: true', () => { - const result = filterAndTransform( - { features: [{}] }, - { returnExtentOnly: true } - ); - result.should.deepEqual({ - features: 'expected-result' - }); - filterAndTransformSpy.callCount.should.equal(1); - filterAndTransformSpy.firstCall.args.should.deepEqual([ - { features: [{}] }, - { returnExtentOnly: true, inputCrs: 4326, toEsri: false } - ]); - }); - }); - - describe('should properly set inputCrs and pass to filter/transform', () => { - it('should get value from default', () => { - const result = filterAndTransform({ features: [{}] }, {}); - result.should.deepEqual({ - features: 'expected-result' - }); - filterAndTransformSpy.callCount.should.equal(1); - filterAndTransformSpy.firstCall.args.should.deepEqual([ - { features: [{}] }, - { inputCrs: 4326, toEsri: true } - ]); - }); - - it('should get value from feature collection', () => { - const getCollectionCrsSpy = sinon.spy(function () { - return 'collection-crs'; - }); - - const stub = { - '../helpers': { - getCollectionCrs: getCollectionCrsSpy - }, - '@koopjs/winnow': { - query: filterAndTransformSpy - } - }; - const { filterAndTransform } = proxyquire( - './filter-and-transform', - stub - ); - const result = filterAndTransform({ features: [{}] }, {}); - result.should.deepEqual({ - features: 'expected-result' - }); - filterAndTransformSpy.callCount.should.equal(1); - filterAndTransformSpy.firstCall.args.should.deepEqual([ - { features: [{}] }, - { inputCrs: 'collection-crs', toEsri: true } - ]); - }); - - it('should get value from metadata.crs', () => { - const result = filterAndTransform( - { metadata: { crs: 1234 }, features: [{}] }, - {} - ); - result.should.deepEqual({ - features: 'expected-result' - }); - filterAndTransformSpy.callCount.should.equal(1); - filterAndTransformSpy.firstCall.args.should.deepEqual([ - { metadata: { crs: 1234 }, features: [{}] }, - { inputCrs: 1234, toEsri: true } - ]); - }); - - it('should get value from sourceSR request parameter', () => { - const result = filterAndTransform( - { metadata: { crs: 1234 }, features: [{}] }, - { sourceSR: 4229 } - ); - result.should.deepEqual({ - features: 'expected-result' - }); - filterAndTransformSpy.callCount.should.equal(1); - filterAndTransformSpy.firstCall.args.should.deepEqual([ - { metadata: { crs: 1234 }, features: [{}] }, - { inputCrs: 4229, toEsri: true } - ]); - }); - - it('should get value from inputCrs request parameter', () => { - const result = filterAndTransform( - { metadata: { crs: 1234 }, features: [{}] }, - { sourceSR: 4229, inputCrs: 4673 } - ); - result.should.deepEqual({ - features: 'expected-result' - }); - filterAndTransformSpy.callCount.should.equal(1); - filterAndTransformSpy.firstCall.args.should.deepEqual([ - { metadata: { crs: 1234 }, features: [{}] }, - { inputCrs: 4673, toEsri: true } - ]); - }); - }); - - it('should remove params that were already applied', () => { - const json = { - filtersApplied: { - projection: 'test', - outSR: 'foo', - offset: 1, - resultOffset: 2, - limit: 10, - resultRecordOffset: 20 - }, - features: [{}] - }; - const result = filterAndTransform(json, { - projection: 'test', - outSR: 'foo', - offset: 1, - resultOffset: 2, - limit: 10, - resultRecordOffset: 20 - }); - result.should.deepEqual({ - features: 'expected-result' - }); - filterAndTransformSpy.callCount.should.equal(1); - filterAndTransformSpy.firstCall.args.should.deepEqual([ - json, - { inputCrs: 4326, toEsri: true } - ]); - }); - }); - - describe('should generate statistics response', () => { - afterEach(function () { - filterAndTransformSpy.resetHistory(); - getCollectionCrsSpy.resetHistory(); - }); - const getCollectionCrsSpy = sinon.spy(function () {}); - - const filterAndTransformSpy = sinon.spy(function () { - return { - min_precip: 10 - }; - }); - - const stub = { - '../helpers': { - getCollectionCrs: getCollectionCrsSpy - }, - '@koopjs/winnow': { - query: filterAndTransformSpy - } - }; - - const { filterAndTransform } = proxyquire( - './filter-and-transform', - stub - ); - - it('should wrap statistics results and add in metadata', () => { - const result = filterAndTransform( - { - features: [ - { properties: { precip: 10 } }, - { properties: { precip: 20 } }, - { properties: { precip: 30 } } - ], - metadata: { - foo: 'bar' - } - }, - { outStatistics: [] } - ); - result.should.deepEqual({ - statistics: { min_precip: 10 }, - metadata: { - foo: 'bar' - } - }); - filterAndTransformSpy.callCount.should.equal(1); - filterAndTransformSpy.firstCall.args.should.deepEqual([ - { - features: [ - { properties: { precip: 10 } }, - { properties: { precip: 20 } }, - { properties: { precip: 30 } } - ], - metadata: { - foo: 'bar' - } - }, - { inputCrs: 4326, toEsri: true, outStatistics: [] } - ]); - }); - }); -}); diff --git a/packages/featureserver/src/query/index.spec.js b/packages/featureserver/src/query/index.spec.js deleted file mode 100644 index e8e3c76e2..000000000 --- a/packages/featureserver/src/query/index.spec.js +++ /dev/null @@ -1,546 +0,0 @@ -const should = require('should') // eslint-disable-line -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); - -const filterAndTransformSpy = sinon.spy(function (data, params) { - const { outStatistics } = params; - - if (outStatistics) { - return { statistics: [{ fooStatistic: 1.234 }] }; - } - return { features: ['filtered-feature'] }; -}); -const logWarningsSpy = sinon.spy(); -const getGeometryTypeFromGeojsonSpy = sinon.spy(function () { - return 'geometry-type'; -}); -const renderFeaturesResponseSpy = sinon.spy(function () { - return 'features'; -}); -const renderStatisticsResponseSpy = sinon.spy(function () { - return 'out-statistics'; -}); -const renderPrecalculatedStatisticsResponseSpy = sinon.spy(function () { - return 'precalculated-statistics'; -}); -const renderCountAndExtentResponseSpy = sinon.spy(function () { - return 'count-or-extent'; -}); - -const stub = { - './filter-and-transform': { - filterAndTransform: filterAndTransformSpy - }, - './log-warnings': { - logWarnings: logWarningsSpy - }, - './render-features': { - renderFeaturesResponse: renderFeaturesResponseSpy - }, - './render-statistics': { - renderStatisticsResponse: renderStatisticsResponseSpy - }, - './render-precalculated-statistics': { - renderPrecalculatedStatisticsResponse: renderPrecalculatedStatisticsResponseSpy - }, - './render-count-and-extent': { - renderCountAndExtentResponse: renderCountAndExtentResponseSpy - }, - '../helpers': { - getGeometryTypeFromGeojson: getGeometryTypeFromGeojsonSpy - } -}; - -const queryHandler = proxyquire('./', stub); - -describe('query', () => { - afterEach(function () { - filterAndTransformSpy.resetHistory(); - logWarningsSpy.resetHistory(); - getGeometryTypeFromGeojsonSpy.resetHistory(); - renderFeaturesResponseSpy.resetHistory(); - renderStatisticsResponseSpy.resetHistory(); - renderPrecalculatedStatisticsResponseSpy.resetHistory(); - renderCountAndExtentResponseSpy.resetHistory(); - }); - - describe('render precalculated data', () => { - it('should render precalculated statistics', () => { - const json = { - statistics: 'statistics', - metadata: 'metadata' - }; - - const result = queryHandler(json, { outStatistics: ['stats'] }); - result.should.equal('precalculated-statistics'); - renderPrecalculatedStatisticsResponseSpy.callCount.should.equal(1); - renderPrecalculatedStatisticsResponseSpy.firstCall.args.should.deepEqual([json, { - outStatistics: ['stats'], - groupByFieldsForStatistics: undefined - }]); - }); - - it('should render extent and count', () => { - const json = { - extent: 'extent', - count: 'count' - }; - - const params = { - returnExtentOnly: true, - returnCountOnly: true - }; - - const result = queryHandler(json, params); - result.should.deepEqual({ - extent: 'extent', - count: 'count' - }); - renderPrecalculatedStatisticsResponseSpy.callCount.should.equal(0); - }); - - it('should render extent', () => { - const json = { - extent: 'extent', - count: 'count' - }; - - const params = { - returnExtentOnly: true - }; - - const result = queryHandler(json, params); - result.should.deepEqual({ - extent: 'extent' - }); - renderPrecalculatedStatisticsResponseSpy.callCount.should.equal(0); - }); - - it('should render count', () => { - const json = { - extent: 'extent', - count: 'count' - }; - - const params = { - returnCountOnly: true - }; - - const result = queryHandler(json, params); - result.should.deepEqual({ - count: 'count' - }); - renderPrecalculatedStatisticsResponseSpy.callCount.should.equal(0); - }); - }); - - describe('conditional filter and transform', () => { - it('filter and return geojson', () => { - const json = { - type: 'FeatureCollection', - features: [ - { - properties: { - OBJECTID: 1138516379 - }, - geometry: { - type: 'Point', - coordinates: [ - -104, - 40 - ] - } - }, - { - properties: { - OBJECTID: 1954528849 - }, - geometry: { - type: 'Point', - coordinates: [ - -106, - 41 - ] - } - } - ] - }; - - const params = { f: 'geojson' }; - - const result = queryHandler(json, params); - result.should.deepEqual({ - type: 'FeatureCollection', - features: ['filtered-feature'] - }); - filterAndTransformSpy.callCount.should.equal(1); - filterAndTransformSpy.firstCall.args.should.deepEqual([json, params]); - }); - - it('skip filter due to filtersApplied.all and return geojson', () => { - const json = { - filtersApplied: { all: true }, - type: 'FeatureCollection', - features: [ - { - properties: { - OBJECTID: 1138516379 - }, - geometry: { - type: 'Point', - coordinates: [ - -104, - 40 - ] - } - }, - { - properties: { - OBJECTID: 1954528849 - }, - geometry: { - type: 'Point', - coordinates: [ - -106, - 41 - ] - } - } - ] - }; - - const params = { f: 'geojson' }; - - const result = queryHandler(json, params); - result.should.deepEqual({ - type: 'FeatureCollection', - features: json.features - }); - filterAndTransformSpy.callCount.should.equal(0); - }); - - it('skip filter due to missing features and return geojson', () => { - const json = { - filtersApplied: { all: true }, - type: 'FeatureCollection', - features: [] - }; - - const params = { f: 'geojson' }; - - const result = queryHandler(json, params); - result.should.deepEqual({ - type: 'FeatureCollection', - features: json.features - }); - filterAndTransformSpy.callCount.should.equal(0); - }); - }); - - describe('logWarnings', () => { - it('should try to log warnings', () => { - const json = { - type: 'FeatureCollection', - features: [ - { - properties: { - OBJECTID: 1138516379 - }, - geometry: { - type: 'Point', - coordinates: [ - -104, - 40 - ] - } - } - ] - }; - - const params = { f: 'geojson' }; - - const result = queryHandler(json, params); - result.should.deepEqual({ - type: 'FeatureCollection', - features: ['filtered-feature'] - }); - logWarningsSpy.callCount.should.equal(1); - }); - }); - - it('should get geometryType from json', () => { - const json = { - filtersApplied: { all: true }, - type: 'FeatureCollection', - features: [ - { - properties: { - OBJECTID: 1138516379 - }, - geometry: { - type: 'Point', - coordinates: [ - -104, - 40 - ] - } - } - ] - }; - - const params = { returnCountOnly: true }; - - const result = queryHandler(json, params); - result.should.equal('count-or-extent'); - getGeometryTypeFromGeojsonSpy.callCount.should.equal(1); - getGeometryTypeFromGeojsonSpy.firstCall.args.should.deepEqual([json]); - }); - - it('should return count', () => { - const json = { - type: 'FeatureCollection', - features: [ - { - properties: { - OBJECTID: 1138516379 - }, - geometry: { - type: 'Point', - coordinates: [ - -104, - 40 - ] - } - } - ] - }; - - const params = { returnCountOnly: true }; - - const result = queryHandler(json, params); - result.should.deepEqual('count-or-extent'); - renderCountAndExtentResponseSpy.callCount.should.equal(1); - renderCountAndExtentResponseSpy.firstCall.args.should.deepEqual([{ - features: ['filtered-feature'] - }, { - ...params, - outSR: undefined, - returnExtentOnly: undefined - }]); - }); - - it('should return extent', () => { - const json = { - type: 'FeatureCollection', - features: [ - { - properties: { - OBJECTID: 1138516379 - }, - geometry: { - type: 'Point', - coordinates: [ - -104, - 40 - ] - } - } - ] - }; - - const params = { returnExtentOnly: true }; - - const result = queryHandler(json, params); - result.should.deepEqual('count-or-extent'); - renderCountAndExtentResponseSpy.callCount.should.equal(1); - renderCountAndExtentResponseSpy.firstCall.args.should.deepEqual([{ - features: ['filtered-feature'] - }, { - ...params, - outSR: undefined, - returnCountOnly: undefined - }]); - }); - - it('should return extent and count', () => { - const json = { - type: 'FeatureCollection', - features: [ - { - properties: { - OBJECTID: 1138516379 - }, - geometry: { - type: 'Point', - coordinates: [ - -104, - 40 - ] - } - } - ] - }; - - const params = { returnExtentOnly: true, returnCountOnly: true }; - - const result = queryHandler(json, params); - result.should.deepEqual('count-or-extent'); - renderCountAndExtentResponseSpy.callCount.should.equal(1); - renderCountAndExtentResponseSpy.firstCall.args.should.deepEqual([{ - features: ['filtered-feature'] - }, { - ...params, - outSR: undefined - }]); - }); - - describe('should return ids only', () => { - it('should return ids without use of idField', () => { - const filterAndTransformSpy = sinon.spy(function () { - return { features: [{ attributes: { OBJECTID: 1138516379 } }] }; - }); - const queryHandler = proxyquire('./', { - ...stub, - './filter-and-transform': { - filterAndTransform: filterAndTransformSpy - } - }); - const json = { - type: 'FeatureCollection', - features: [ - { - properties: { - OBJECTID: 1138516379 - }, - geometry: { - type: 'Point', - coordinates: [ - -104, - 40 - ] - } - } - ] - }; - - const params = { returnIdsOnly: true }; - - const result = queryHandler(json, params); - result.should.deepEqual({ - objectIdFieldName: 'OBJECTID', - objectIds: [1138516379] - }); - }); - - it('should return ids with idField', () => { - const filterAndTransformSpy = sinon.spy(function ({ metadata }) { - return { metadata, features: [{ attributes: { anIdProp: 1138516379 } }] }; - }); - const queryHandler = proxyquire('./', { - ...stub, - './filter-and-transform': { - filterAndTransform: filterAndTransformSpy - } - }); - const json = { - type: 'FeatureCollection', - metadata: { idField: 'anIdProp' }, - features: [ - { - properties: { - anIdProp: 1138516379 - }, - geometry: { - type: 'Point', - coordinates: [ - -104, - 40 - ] - } - } - ] - }; - - const params = { returnIdsOnly: true }; - - const result = queryHandler(json, params); - result.should.deepEqual({ - objectIdFieldName: 'anIdProp', - objectIds: [1138516379] - }); - }); - }); - - it('should return outStatistics', () => { - const json = { - type: 'FeatureCollection', - features: [ - { - properties: { - OBJECTID: 1138516379 - }, - geometry: { - type: 'Point', - coordinates: [ - -104, - 40 - ] - } - } - ] - }; - - const params = { - outStatistics: [{ - statisticType: 'MIN', - onStatisticField: 'total precip', - outStatisticFieldName: 'min_precip' - }] - }; - - const result = queryHandler(json, params); - result.should.deepEqual('out-statistics'); - renderStatisticsResponseSpy.callCount.should.equal(1); - renderStatisticsResponseSpy.firstCall.args.should.deepEqual([{ - statistics: [{ fooStatistic: 1.234 }] - }, { - ...params, - geometryType: 'geometry-type', - attributeSample: { - OBJECTID: 1138516379 - } - }]); - }); - - it('should return feature response', () => { - const json = { - type: 'FeatureCollection', - features: [ - { - properties: { - OBJECTID: 1138516379 - }, - geometry: { - type: 'Point', - coordinates: [ - -104, - 40 - ] - } - } - ] - }; - - const result = queryHandler(json); - result.should.deepEqual('features'); - renderFeaturesResponseSpy.callCount.should.equal(1); - renderFeaturesResponseSpy.firstCall.args.should.deepEqual([{ - features: ['filtered-feature'] - }, { - geometryType: 'geometry-type', - attributeSample: { - OBJECTID: 1138516379 - } - }]); - }); -}); diff --git a/packages/featureserver/src/query/render-count-and-extent.spec.js b/packages/featureserver/src/query/render-count-and-extent.spec.js deleted file mode 100644 index aa00e33d5..000000000 --- a/packages/featureserver/src/query/render-count-and-extent.spec.js +++ /dev/null @@ -1,148 +0,0 @@ -const should = require('should') // eslint-disable-line -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); - -const esriExtentSpy = sinon.spy(function () { - return { - foo: 'bar', - spatialReference: { - wkid: 4326, - latestWkid: 4326 - } - }; -}); - -const stub = { - 'esri-extent': esriExtentSpy -}; - -const { renderCountAndExtentResponse } = proxyquire('./render-count-and-extent', stub); - -describe('renderCountAndExtent', () => { - afterEach(function () { - esriExtentSpy.resetHistory(); - }); - - it('should render count and extent', () => { - const result = renderCountAndExtentResponse({ features: ['test'] }, { returnCountOnly: true, returnExtentOnly: true }); - result.should.deepEqual({ - extent: { - foo: 'bar', - spatialReference: { - wkid: 4326, - latestWkid: 4326 - } - }, - count: 1 - }); - esriExtentSpy.callCount.should.equal(1); - esriExtentSpy.firstCall.args.should.deepEqual([{ features: ['test'] }]); - }); - - it('should render count', () => { - const result = renderCountAndExtentResponse({ features: ['test'] }, { returnCountOnly: true }); - result.should.deepEqual({ - count: 1 - }); - esriExtentSpy.callCount.should.equal(0); - }); - - it('should render extent', () => { - const result = renderCountAndExtentResponse({ features: ['test'] }, { returnExtentOnly: true }); - result.should.deepEqual({ - extent: { - foo: 'bar', - spatialReference: { - wkid: 4326, - latestWkid: 4326 - } - } - }); - esriExtentSpy.callCount.should.equal(1); - esriExtentSpy.firstCall.args.should.deepEqual([{ features: ['test'] }]); - }); - - it('should render extent and replace spatialReference with outSR wkid', () => { - const result = renderCountAndExtentResponse({ features: ['test'] }, { returnExtentOnly: true, outSR: { wkid: 1234 } }); - result.should.deepEqual({ - extent: { - foo: 'bar', - spatialReference: { - wkid: 1234 - } - } - }); - esriExtentSpy.callCount.should.equal(1); - esriExtentSpy.firstCall.args.should.deepEqual([{ features: ['test'] }]); - }); - - it('should render extent and replace spatialReference with outSR latestWkid', () => { - const result = renderCountAndExtentResponse({ features: ['test'] }, { returnExtentOnly: true, outSR: { latestWkid: 1234 } }); - result.should.deepEqual({ - extent: { - foo: 'bar', - spatialReference: { - latestWkid: 1234 - } - } - }); - esriExtentSpy.callCount.should.equal(1); - esriExtentSpy.firstCall.args.should.deepEqual([{ features: ['test'] }]); - }); - - it('should render extent and replace spatialReference with outSR wkt', () => { - const result = renderCountAndExtentResponse({ features: ['test'] }, { returnExtentOnly: true, outSR: { wkt: '1234' } }); - result.should.deepEqual({ - extent: { - foo: 'bar', - spatialReference: { - wkt: '1234' - } - } - }); - esriExtentSpy.callCount.should.equal(1); - esriExtentSpy.firstCall.args.should.deepEqual([{ features: ['test'] }]); - }); - - it('should render extent and replace spatialReference with outSR id', () => { - const result = renderCountAndExtentResponse({ features: ['test'] }, { returnExtentOnly: true, outSR: 1234 }); - result.should.deepEqual({ - extent: { - foo: 'bar', - spatialReference: { - wkid: 1234 - } - } - }); - esriExtentSpy.callCount.should.equal(1); - esriExtentSpy.firstCall.args.should.deepEqual([{ features: ['test'] }]); - }); - - it('should render extent and replace spatialReference with outSR string id', () => { - const result = renderCountAndExtentResponse({ features: ['test'] }, { returnExtentOnly: true, outSR: '1234' }); - result.should.deepEqual({ - extent: { - foo: 'bar', - spatialReference: { - wkid: 1234 - } - } - }); - esriExtentSpy.callCount.should.equal(1); - esriExtentSpy.firstCall.args.should.deepEqual([{ features: ['test'] }]); - }); - - it('should render extent and replace spatialReference with outSR string', () => { - const result = renderCountAndExtentResponse({ features: ['test'] }, { returnExtentOnly: true, outSR: 'big-WKT-string' }); - result.should.deepEqual({ - extent: { - foo: 'bar', - spatialReference: { - wkt: 'big-WKT-string' - } - } - }); - esriExtentSpy.callCount.should.equal(1); - esriExtentSpy.firstCall.args.should.deepEqual([{ features: ['test'] }]); - }); -}); diff --git a/packages/featureserver/src/query/render-features.spec.js b/packages/featureserver/src/query/render-features.spec.js deleted file mode 100644 index 5962094b0..000000000 --- a/packages/featureserver/src/query/render-features.spec.js +++ /dev/null @@ -1,339 +0,0 @@ -const should = require('should') // eslint-disable-line -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); - -const createQueryFieldsSpy = sinon.spy(function () { - return 'fields'; -}); - -const fields = { - QueryFields: { - create: createQueryFieldsSpy - } -}; - -const normalizeSpatialReferenceSpy = sinon.spy(function () { - return { wkid: 1234 }; -}); - -const getCollectionCrsSpy = sinon.spy(function () { - return 'crs'; -}); - -const stub = { - '../helpers/fields': fields, - '../helpers': { - getCollectionCrs: getCollectionCrsSpy, - normalizeSpatialReference: normalizeSpatialReferenceSpy - } -}; - -const { renderFeaturesResponse } = proxyquire('./render-features', stub); - -describe('renderFeaturesResponse', () => { - afterEach(function () { - createQueryFieldsSpy.resetHistory(); - getCollectionCrsSpy.resetHistory(); - normalizeSpatialReferenceSpy.resetHistory(); - }); - - it('should convert json with no metadata to Geoservices JSON', () => { - const json = { - type: 'FeatureCollection', - features: [ - { - attributes: { - OBJECTID: 1138516379 - }, - geometry: { - x: -104.9476, - y: 39.9448 - } - }, - { - attributes: { - OBJECTID: 1954528849 - }, - geometry: { - x: -104.8424, - y: 39.9137 - } - } - ] - }; - - const result = renderFeaturesResponse(json, { geometryType: 'esriGeometryPoint' }); - result.should.deepEqual({ - objectIdFieldName: 'OBJECTID', - uniqueIdField: { - name: 'OBJECTID', - isSystemMaintained: true - }, - geometryType: 'esriGeometryPoint', - globalIdFieldName: '', - hasZ: false, - hasM: false, - spatialReference: { wkid: 1234 }, - fields: 'fields', - features: json.features, - exceededTransferLimit: false - }); - createQueryFieldsSpy.callCount.should.equal(1); - createQueryFieldsSpy.firstCall.args.should.deepEqual([{ ...json, geometryType: 'esriGeometryPoint' }]); - getCollectionCrsSpy.callCount.should.equal(1); - getCollectionCrsSpy.firstCall.args.should.deepEqual([json]); - normalizeSpatialReferenceSpy.callCount.should.equal(1); - normalizeSpatialReferenceSpy.firstCall.args.should.deepEqual(['crs']); - }); - - it('should convert json with metadata to Geoservices JSON', () => { - const json = { - metadata: { - limitExceeded: true, - transform: 'transform', - idField: 'hello_world', - hasZ: true - }, - type: 'FeatureCollection', - features: [ - { - attributes: { - hello_world: 1138516379 - }, - geometry: { - x: -104.9476, - y: 39.9448 - } - }, - { - attributes: { - hello_world: 1954528849 - }, - geometry: { - x: -104.8424, - y: 39.9137 - } - } - ] - }; - - const result = renderFeaturesResponse(json, { geometryType: 'esriGeometryPoint' }); - result.should.deepEqual({ - objectIdFieldName: 'hello_world', - uniqueIdField: { - name: 'hello_world', - isSystemMaintained: true - }, - geometryType: 'esriGeometryPoint', - globalIdFieldName: '', - hasZ: true, - hasM: false, - spatialReference: { wkid: 1234 }, - fields: 'fields', - features: json.features, - exceededTransferLimit: true, - transform: 'transform' - }); - createQueryFieldsSpy.callCount.should.equal(1); - createQueryFieldsSpy.firstCall.args.should.deepEqual([{ ...json, geometryType: 'esriGeometryPoint' }]); - getCollectionCrsSpy.callCount.should.equal(1); - getCollectionCrsSpy.firstCall.args.should.deepEqual([json]); - normalizeSpatialReferenceSpy.callCount.should.equal(1); - normalizeSpatialReferenceSpy.firstCall.args.should.deepEqual(['crs']); - }); - - describe('Output spatial reference', () => { - const normalizeSpatialReferenceSpy = sinon.spy(function (wkid) { - return { wkid }; - }); - - const getCollectionCrsSpy = sinon.spy(function () { - return 'crs'; - }); - - const stub = { - '../helpers/fields': fields, - '../helpers': { - getCollectionCrs: getCollectionCrsSpy, - normalizeSpatialReference: normalizeSpatialReferenceSpy - } - }; - - const { renderFeaturesResponse } = proxyquire('./render-features', stub); - - const json = { - type: 'FeatureCollection', - features: [ - { - attributes: { - OBJECTID: 1138516379 - }, - geometry: { - x: -104.9476, - y: 39.9448 - } - } - ] - }; - - afterEach(function () { - createQueryFieldsSpy.resetHistory(); - getCollectionCrsSpy.resetHistory(); - normalizeSpatialReferenceSpy.resetHistory(); - }); - - it('should acquire from default', () => { - const result = renderFeaturesResponse(json, { geometryType: 'esriGeometryPoint' }); - result.should.deepEqual({ - objectIdFieldName: 'OBJECTID', - uniqueIdField: { - name: 'OBJECTID', - isSystemMaintained: true - }, - geometryType: 'esriGeometryPoint', - globalIdFieldName: '', - hasZ: false, - hasM: false, - spatialReference: { wkid: 'crs' }, - fields: 'fields', - features: json.features, - exceededTransferLimit: false - }); - getCollectionCrsSpy.callCount.should.equal(1); - getCollectionCrsSpy.firstCall.args.should.deepEqual([json]); - normalizeSpatialReferenceSpy.callCount.should.equal(1); - normalizeSpatialReferenceSpy.firstCall.args.should.deepEqual(['crs']); - }); - - it('should acquire from collection', () => { - const result = renderFeaturesResponse(json, { geometryType: 'esriGeometryPoint' }); - result.should.deepEqual({ - objectIdFieldName: 'OBJECTID', - uniqueIdField: { - name: 'OBJECTID', - isSystemMaintained: true - }, - geometryType: 'esriGeometryPoint', - globalIdFieldName: '', - hasZ: false, - hasM: false, - spatialReference: { wkid: 'crs' }, - fields: 'fields', - features: json.features, - exceededTransferLimit: false - }); - getCollectionCrsSpy.callCount.should.equal(1); - getCollectionCrsSpy.firstCall.args.should.deepEqual([json]); - normalizeSpatialReferenceSpy.callCount.should.equal(1); - normalizeSpatialReferenceSpy.firstCall.args.should.deepEqual(['crs']); - }); - - it('should acquire from sourceSR', () => { - const result = renderFeaturesResponse(json, { - geometryType: 'esriGeometryPoint', - sourceSR: 9999 - }); - result.should.deepEqual({ - objectIdFieldName: 'OBJECTID', - uniqueIdField: { - name: 'OBJECTID', - isSystemMaintained: true - }, - geometryType: 'esriGeometryPoint', - globalIdFieldName: '', - hasZ: false, - hasM: false, - spatialReference: { wkid: 9999 }, - fields: 'fields', - features: json.features, - exceededTransferLimit: false - }); - getCollectionCrsSpy.callCount.should.equal(0); - normalizeSpatialReferenceSpy.callCount.should.equal(1); - normalizeSpatialReferenceSpy.firstCall.args.should.deepEqual([9999]); - }); - - it('should acquire from inputCrs', () => { - const result = renderFeaturesResponse(json, { - geometryType: 'esriGeometryPoint', - sourceSR: 9999, - inputCrs: 8888 - }); - result.should.deepEqual({ - objectIdFieldName: 'OBJECTID', - uniqueIdField: { - name: 'OBJECTID', - isSystemMaintained: true - }, - geometryType: 'esriGeometryPoint', - globalIdFieldName: '', - hasZ: false, - hasM: false, - spatialReference: { wkid: 8888 }, - fields: 'fields', - features: json.features, - exceededTransferLimit: false - }); - getCollectionCrsSpy.callCount.should.equal(0); - normalizeSpatialReferenceSpy.callCount.should.equal(1); - normalizeSpatialReferenceSpy.firstCall.args.should.deepEqual([8888]); - }); - - it('should acquire from outSR', () => { - const result = renderFeaturesResponse(json, { - geometryType: 'esriGeometryPoint', - sourceSR: 9999, - inputCrs: 8888, - outSR: 7777 - }); - result.should.deepEqual({ - objectIdFieldName: 'OBJECTID', - uniqueIdField: { - name: 'OBJECTID', - isSystemMaintained: true - }, - geometryType: 'esriGeometryPoint', - globalIdFieldName: '', - hasZ: false, - hasM: false, - spatialReference: { wkid: 7777 }, - fields: 'fields', - features: json.features, - exceededTransferLimit: false - }); - getCollectionCrsSpy.callCount.should.equal(0); - normalizeSpatialReferenceSpy.callCount.should.equal(1); - normalizeSpatialReferenceSpy.firstCall.args.should.deepEqual([7777]); - }); - - it('should acquire from outputCrs', () => { - const result = renderFeaturesResponse(json, { - geometryType: 'esriGeometryPoint', - sourceSR: 9999, - inputCrs: 8888, - outSR: 7777, - outputCrs: 3857 - }); - result.should.deepEqual({ - objectIdFieldName: 'OBJECTID', - uniqueIdField: { - name: 'OBJECTID', - isSystemMaintained: true - }, - geometryType: 'esriGeometryPoint', - globalIdFieldName: '', - hasZ: false, - hasM: false, - spatialReference: { - wkid: 3857 - }, - fields: 'fields', - features: json.features, - exceededTransferLimit: false - }); - getCollectionCrsSpy.callCount.should.equal(0); - normalizeSpatialReferenceSpy.callCount.should.equal(1); - normalizeSpatialReferenceSpy.firstCall.args.should.deepEqual([3857]); - }); - }); -}); diff --git a/packages/featureserver/src/query/render-precalculated-statistics.spec.js b/packages/featureserver/src/query/render-precalculated-statistics.spec.js deleted file mode 100644 index e2b27cf56..000000000 --- a/packages/featureserver/src/query/render-precalculated-statistics.spec.js +++ /dev/null @@ -1,91 +0,0 @@ -const should = require('should') // eslint-disable-line -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); - -const createStatisticsFieldsSpy = sinon.spy(function () { - return ['fields']; -}); - -const fields = { - StatisticsFields: { - create: createStatisticsFieldsSpy - } -}; - -const stub = { - '../helpers/fields': fields -}; - -const { renderPrecalculatedStatisticsResponse } = proxyquire('./render-precalculated-statistics', stub); - -describe('renderPrecalculatedStatisticsResponse', () => { - afterEach(function () { - createStatisticsFieldsSpy.resetHistory(); - }); - - it('should convert precalculated statistics array without metadata to Geoservices JSON', () => { - const statistics = [ - { - FACUSE: 'Middle School', - TOTAL_STUD_SUM: 5421, - ZIP_CODE_COUNT: 18, - SOME_DATE_STRING: '2020-12-01', - SOME_ISO_DATE_STRING: '2020-12-01T17:00:14.000Z' - }, - { - FACUSE: 'Elementary School', - TOTAL_STUD_SUM: 23802, - ZIP_CODE_COUNT: 72, - SOME_DATE_STRING: '2020-12-01', - SOME_ISO_DATE_STRING: '2020-12-01T17:00:14.000Z' - } - ]; - const result = renderPrecalculatedStatisticsResponse({ statistics }); - result.should.deepEqual({ - fields: ['fields'], - features: [ - { - attributes: { - FACUSE: 'Middle School', - TOTAL_STUD_SUM: 5421, - ZIP_CODE_COUNT: 18, - SOME_DATE_STRING: 1606780800000, - SOME_ISO_DATE_STRING: 1606842014000 - } - }, - { - attributes: { - FACUSE: 'Elementary School', - TOTAL_STUD_SUM: 23802, - ZIP_CODE_COUNT: 72, - SOME_DATE_STRING: 1606780800000, - SOME_ISO_DATE_STRING: 1606842014000 - } - } - ] - }); - createStatisticsFieldsSpy.callCount.should.equal(1); - }); - - it('should convert precalculated statistics object without metadata to Geoservices JSON', () => { - const statistics = { - FACUSE: 'Middle School', - TOTAL_STUD_SUM: 5421, - ZIP_CODE_COUNT: 18 - }; - const result = renderPrecalculatedStatisticsResponse({ statistics }); - result.should.deepEqual({ - fields: ['fields'], - features: [ - { - attributes: { - FACUSE: 'Middle School', - TOTAL_STUD_SUM: 5421, - ZIP_CODE_COUNT: 18 - } - } - ] - }); - createStatisticsFieldsSpy.callCount.should.equal(1); - }); -}); diff --git a/packages/featureserver/src/query/render-statistics.spec.js b/packages/featureserver/src/query/render-statistics.spec.js deleted file mode 100644 index 053dbf6f1..000000000 --- a/packages/featureserver/src/query/render-statistics.spec.js +++ /dev/null @@ -1,94 +0,0 @@ -const should = require('should') // eslint-disable-line -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const createStatisticsFieldsSpy = sinon.spy(function () { - return [{ - foo: 'bar' - }]; -}); - -const fields = { - StatisticsFields: { - create: createStatisticsFieldsSpy - } -}; - -const stub = { - '../helpers/fields': fields -}; - -const { renderStatisticsResponse } = proxyquire('./render-statistics', stub); - -describe('renderStatisticsResponse', () => { - afterEach(function () { - createStatisticsFieldsSpy.resetHistory(); - }); - - it('should convert statistics array to Geoservices JSON', () => { - const result = renderStatisticsResponse({ statistics: [{ min_precip: 0 }] }, { - outStatistics: [{ - statisticType: 'MIN', - onStatisticField: 'total precip', - outStatisticFieldName: 'min_precip' - }] - }); - result.should.deepEqual({ - displayFieldName: '', - fields: [{ - foo: 'bar' - }], - features: [ - { - attributes: { - min_precip: 0 - } - } - ] - }); - createStatisticsFieldsSpy.callCount.should.equal(1); - createStatisticsFieldsSpy.firstCall.args.should.deepEqual([ - { - statistics: [{ min_precip: 0 }], - outStatistics: [{ - statisticType: 'MIN', - onStatisticField: 'total precip', - outStatisticFieldName: 'min_precip' - }] - } - ]); - }); - - it('should convert statistics object to Geoservices JSON', () => { - const result = renderStatisticsResponse({ statistics: { min_precip: 0 } }, { - outStatistics: [{ - statisticType: 'MIN', - onStatisticField: 'total precip', - outStatisticFieldName: 'min_precip' - }] - }); - result.should.deepEqual({ - displayFieldName: '', - fields: [{ - foo: 'bar' - }], - features: [ - { - attributes: { - min_precip: 0 - } - } - ] - }); - createStatisticsFieldsSpy.callCount.should.equal(1); - createStatisticsFieldsSpy.firstCall.args.should.deepEqual([ - { - statistics: { min_precip: 0 }, - outStatistics: [{ - statisticType: 'MIN', - onStatisticField: 'total precip', - outStatisticFieldName: 'min_precip' - }] - } - ]); - }); -}); diff --git a/packages/featureserver/src/response-handler.spec.js b/packages/featureserver/src/response-handler.spec.js deleted file mode 100644 index b8d2dfd27..000000000 --- a/packages/featureserver/src/response-handler.spec.js +++ /dev/null @@ -1,64 +0,0 @@ -const should = require('should') // eslint-disable-line -const sinon = require('sinon'); -const responseHandler = require('./response-handler'); - -describe('request handler', () => { - const res = { - json: () => { return res; }, - send: () => { return res; }, - set: () => { return res; }, - status: () => { return res; } - }; - - const req = { - query: {} - }; - - beforeEach(() => { - sinon.spy(res); - }); - - afterEach(() => { - sinon.restore(); - }); - - it('return 200 and json', () => { - responseHandler(req, res, 200, { test: true }); - res.send.notCalled.should.equal(true); - res.status.firstCall.args[0].should.be.exactly(200); - res.json.firstCall.args[0].should.deepEqual({ test: true }); - }); - - it('return 500 and json', () => { - responseHandler(req, res, 500, { test: true }); - res.send.notCalled.should.equal(true); - res.status.firstCall.args[0].should.be.exactly(500); - res.json.firstCall.args[0].should.deepEqual({ test: true }); - }); - - it('return 200 and callback', () => { - const reqCallback = { - query: { - callback: 'test' - } - }; - responseHandler(reqCallback, res, 200, { test: true }); - res.send.firstCall.args[0].should.equal('test({"test":true})'); - res.status.firstCall.args[0].should.be.exactly(200); - res.json.notCalled.should.equal(true); - }); - - it('return 200 and pjson', () => { - const reqPretty = { - query: { - f: 'pjson' - } - }; - responseHandler(reqPretty, res, 200, { test: true }); - res.send.firstCall.args[0].should.equal(`{ - "test": true -}`); - res.status.firstCall.args[0].should.be.exactly(200); - res.json.notCalled.should.equal(true); - }); -}); diff --git a/packages/featureserver/src/rest-info-route-handler.spec.js b/packages/featureserver/src/rest-info-route-handler.spec.js deleted file mode 100644 index 447bfd693..000000000 --- a/packages/featureserver/src/rest-info-route-handler.spec.js +++ /dev/null @@ -1,60 +0,0 @@ -const should = require('should') // eslint-disable-line -const restInfo = require('./rest-info-route-handler'); -const CURRENT_VERSION = 11.1; -const FULL_VERSION = '11.1.0'; - -describe('rest/info handler', () => { - it('should return default info', () => { - const req = { - app: { - locals: {} - } - }; - const result = restInfo(undefined, req); - result.should.deepEqual({ - currentVersion: CURRENT_VERSION, - fullVersion: FULL_VERSION - }); - }); - - it('should return default plus supplied info', () => { - const data = { - hello: { - world: true - } - }; - const req = { - app: { - locals: {} - } - }; - const result = restInfo(data, req); - result.should.deepEqual({ - currentVersion: CURRENT_VERSION, - fullVersion: FULL_VERSION, - hello: { - world: true - } - }); - }); - - it('should return versions from app.locals', () => { - const req = { - app: { - locals: { - config: { - featureServer: { - currentVersion: 10.81, - fullVersion: '10.8.1' - } - } - } - } - }; - const result = restInfo({}, req); - result.should.deepEqual({ - currentVersion: 10.81, - fullVersion: '10.8.1' - }); - }); -}); diff --git a/packages/featureserver/src/route.spec.js b/packages/featureserver/src/route.spec.js deleted file mode 100644 index 61e5ef1bd..000000000 --- a/packages/featureserver/src/route.spec.js +++ /dev/null @@ -1,536 +0,0 @@ -const should = require('should'); // eslint-disable-line -const sinon = require('sinon'); -require('should-sinon'); -const proxyquire = require('proxyquire'); - -describe('Route module unit tests', () => { - describe('/query route', () => { - const querySpy = sinon.spy(function () { - return { - features: [], - }; - }); - - const responseHandlerSpy = sinon.spy(); - - const route = proxyquire('./route', { - './query': querySpy, - './response-handler': responseHandlerSpy, - }); - - it('should use query handler and return 200', () => { - route( - { - params: { method: 'query' }, - query: {}, - url: '/FeatureServer/0/query', - }, - {}, - {}, - ); - querySpy.calledOnce.should.equal(true); - querySpy.firstCall.args.should.deepEqual([ - { - metadata: { maxRecordCount: 2000 }, - }, - { - resultRecordCount: 2000, - }, - ]); - responseHandlerSpy.calledOnce.should.equal(true); - responseHandlerSpy.firstCall.args.should.deepEqual([ - { - params: { method: 'query' }, - query: { resultRecordCount: 2000 }, - url: '/FeatureServer/0/query', - }, - {}, - 200, - { features: [] }, - ]); - }); - - it('should use query handler and handle error', () => { - const querySpy = sinon.spy(function () { - throw new Error('Fool bar'); - }); - - const route = proxyquire('./route', { - './query': querySpy, - './response-handler': responseHandlerSpy, - }); - - route( - { - params: { method: 'query' }, - query: {}, - url: '/FeatureServer/0/query', - }, - {}, - {}, - ); - querySpy.calledOnce.should.equal(true); - responseHandlerSpy.calledOnce.should.equal(true); - responseHandlerSpy.firstCall.args.should.deepEqual([ - { - params: { method: 'query' }, - query: { resultRecordCount: 2000 }, - url: '/FeatureServer/0/query', - }, - {}, - 200, - { - error: { - code: 500, - message: 'Fool bar', - details: ['Fool bar'], - }, - }, - ]); - }); - afterEach(() => { - querySpy.resetHistory(); - responseHandlerSpy.resetHistory(); - }); - }); - - describe('/rest/info route', () => { - const restInfoSpy = sinon.spy(function () { - return { restInfo: true }; - }); - - const responseHandlerSpy = sinon.spy(); - - const route = proxyquire('./route', { - './rest-info-route-handler': restInfoSpy, - './response-handler': responseHandlerSpy, - }); - - it('should use restInfo handler and return 200', () => { - route( - { - params: {}, - query: {}, - url: '/rest/info', - }, - {}, - {}, - ); - restInfoSpy.calledOnce.should.equal(true); - restInfoSpy.firstCall.args.should.deepEqual([ - { - metadata: { maxRecordCount: 2000 }, - }, - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/info', - }, - ]); - - responseHandlerSpy.calledOnce.should.equal(true); - responseHandlerSpy.firstCall.args.should.deepEqual([ - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/info', - }, - {}, - 200, - { restInfo: true }, - ]); - }); - - it('should use restInfo handler and return 500', () => { - const restInfoSpy = sinon.spy(function () { - throw new Error('Fool bar'); - }); - const route = proxyquire('./route', { - './rest-info-route-handler': restInfoSpy, - './response-handler': responseHandlerSpy, - }); - - route( - { - params: {}, - query: {}, - url: '/rest/info', - }, - {}, - {}, - ); - restInfoSpy.calledOnce.should.equal(true); - restInfoSpy.firstCall.args.should.deepEqual([ - { - metadata: { maxRecordCount: 2000 }, - }, - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/info', - }, - ]); - - responseHandlerSpy.calledOnce.should.equal(true); - responseHandlerSpy.firstCall.args.should.deepEqual([ - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/info', - }, - {}, - 200, - { - error: { - code: 500, - message: 'Fool bar', - details: ['Fool bar'], - }, - }, - ]); - }); - - afterEach(() => { - restInfoSpy.resetHistory(); - responseHandlerSpy.resetHistory(); - }); - }); - - describe('/FeatureServer route', () => { - const serverInfoSpy = sinon.spy(function () { - return { serverInfo: true }; - }); - - const responseHandlerSpy = sinon.spy(); - - const route = proxyquire('./route', { - './server-info-route-handler': serverInfoSpy, - './response-handler': responseHandlerSpy, - }); - - it('should use serverInfo handler and return 200', () => { - route( - { - params: {}, - query: {}, - url: '/rest/services/test/FeatureServer', - }, - {}, - {}, - ); - serverInfoSpy.calledOnce.should.equal(true); - serverInfoSpy.firstCall.args.should.deepEqual([ - { - metadata: { maxRecordCount: 2000 }, - }, - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/services/test/FeatureServer', - }, - ]); - - responseHandlerSpy.calledOnce.should.equal(true); - responseHandlerSpy.firstCall.args.should.deepEqual([ - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/services/test/FeatureServer', - }, - {}, - 200, - { serverInfo: true }, - ]); - }); - - it('should use serverInfo handler and return 500', () => { - const serverInfoSpy = sinon.spy(function () { - throw new Error('Fool bar'); - }); - const route = proxyquire('./route', { - './server-info-route-handler': serverInfoSpy, - './response-handler': responseHandlerSpy, - }); - - route( - { - params: {}, - query: {}, - url: '/rest/services/test/FeatureServer', - }, - {}, - {}, - ); - serverInfoSpy.calledOnce.should.equal(true); - serverInfoSpy.firstCall.args.should.deepEqual([ - { - metadata: { maxRecordCount: 2000 }, - }, - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/services/test/FeatureServer', - }, - ]); - - responseHandlerSpy.calledOnce.should.equal(true); - responseHandlerSpy.firstCall.args.should.deepEqual([ - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/services/test/FeatureServer', - }, - {}, - 200, - { - error: { - code: 500, - message: 'Fool bar', - details: ['Fool bar'], - }, - }, - ]); - }); - - afterEach(() => { - serverInfoSpy.resetHistory(); - responseHandlerSpy.resetHistory(); - }); - }); - - describe('/FeatureServer/layers route', () => { - const layersInfoSpy = sinon.spy(function () { - return { layersInfo: true }; - }); - - const responseHandlerSpy = sinon.spy(); - - const route = proxyquire('./route', { - './layers-metadata': layersInfoSpy, - './response-handler': responseHandlerSpy, - }); - - it('should use layersInfo handler and return 200', () => { - route( - { - params: {}, - query: {}, - url: '/rest/services/test/FeatureServer/layers', - }, - {}, - {}, - ); - layersInfoSpy.calledOnce.should.equal(true); - layersInfoSpy.firstCall.args.should.deepEqual([ - { - metadata: { maxRecordCount: 2000 }, - }, - { - resultRecordCount: 2000, - }, - ]); - - responseHandlerSpy.calledOnce.should.equal(true); - responseHandlerSpy.firstCall.args.should.deepEqual([ - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/services/test/FeatureServer/layers', - }, - {}, - 200, - { layersInfo: true }, - ]); - }); - - it('should use layersInfo handler and return 500', () => { - const layersInfoSpy = sinon.spy(function () { - throw new Error('Fool bar'); - }); - const route = proxyquire('./route', { - './layers-metadata': layersInfoSpy, - './response-handler': responseHandlerSpy, - }); - - route( - { - params: {}, - query: {}, - url: '/rest/services/test/FeatureServer/layers', - }, - {}, - {}, - ); - layersInfoSpy.calledOnce.should.equal(true); - layersInfoSpy.firstCall.args.should.deepEqual([ - { - metadata: { maxRecordCount: 2000 }, - }, - { - resultRecordCount: 2000, - }, - ]); - - responseHandlerSpy.calledOnce.should.equal(true); - responseHandlerSpy.firstCall.args.should.deepEqual([ - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/services/test/FeatureServer/layers', - }, - {}, - 200, - { - error: { - code: 500, - message: 'Fool bar', - details: ['Fool bar'], - }, - }, - ]); - }); - - afterEach(() => { - layersInfoSpy.resetHistory(); - responseHandlerSpy.resetHistory(); - }); - }); - - describe('/FeatureServer/0 route', () => { - const layerInfoSpy = sinon.spy(function () { - return 'layer-metadata'; - }); - - const responseHandlerSpy = sinon.spy(); - - const route = proxyquire('./route', { - './layer-metadata': layerInfoSpy, - './response-handler': responseHandlerSpy, - }); - - it('should use layerInfo handler and return 200', () => { - route( - { - params: {}, - query: {}, - url: '/rest/services/test/FeatureServer/0', - }, - {}, - {}, - ); - layerInfoSpy.calledOnce.should.equal(true); - layerInfoSpy.firstCall.args.should.deepEqual([ - { - metadata: { maxRecordCount: 2000 }, - }, - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/services/test/FeatureServer/0', - }, - ]); - - responseHandlerSpy.calledOnce.should.equal(true); - responseHandlerSpy.firstCall.args.should.deepEqual([ - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/services/test/FeatureServer/0', - }, - {}, - 200, - 'layer-metadata', - ]); - }); - - it('should use layerInfo handler and return 500', () => { - const layerInfoSpy = sinon.spy(function () { - throw new Error('Fool bar'); - }); - const route = proxyquire('./route', { - './layer-metadata': layerInfoSpy, - './response-handler': responseHandlerSpy, - }); - - route( - { - params: {}, - query: {}, - url: '/rest/services/test/FeatureServer/0', - }, - {}, - {}, - ); - layerInfoSpy.calledOnce.should.equal(true); - layerInfoSpy.firstCall.args.should.deepEqual([ - { - metadata: { maxRecordCount: 2000 }, - }, - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/services/test/FeatureServer/0', - }, - ]); - - responseHandlerSpy.calledOnce.should.equal(true); - responseHandlerSpy.firstCall.args.should.deepEqual([ - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/rest/services/test/FeatureServer/0', - }, - {}, - 200, - { - error: { - code: 500, - message: 'Fool bar', - details: ['Fool bar'], - }, - }, - ]); - }); - - afterEach(() => { - layerInfoSpy.resetHistory(); - responseHandlerSpy.resetHistory(); - }); - }); - - describe('unknown route', () => { - it('should handle unknown route', () => { - const responseHandlerSpy = sinon.spy(); - const route = proxyquire('./route', { - './response-handler': responseHandlerSpy, - }); - - route( - { - params: {}, - query: {}, - url: '/hello/world', - }, - {}, - {}, - ); - responseHandlerSpy.calledOnce.should.equal(true); - responseHandlerSpy.firstCall.args.should.deepEqual([ - { - params: {}, - query: { resultRecordCount: 2000 }, - url: '/hello/world', - }, - {}, - 200, - { - error: { - code: 404, - message: 'Not Found', - details: ['Not Found'], - }, - }, - ]); - }); - }); -}); diff --git a/packages/featureserver/src/server-info-route-handler.spec.js b/packages/featureserver/src/server-info-route-handler.spec.js deleted file mode 100644 index 1790ea236..000000000 --- a/packages/featureserver/src/server-info-route-handler.spec.js +++ /dev/null @@ -1,564 +0,0 @@ -const should = require('should'); // eslint-disable-line -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); - -describe('server info', () => { - const sandbox = sinon.createSandbox(); - const serverMetadataCreateSpy = sandbox.spy(() => { - return { - server: 'metadata', - }; - }); - const serverInfoHandler = proxyquire('./server-info-route-handler', { - './helpers/server-metadata': { - create: serverMetadataCreateSpy, - }, - }); - - beforeEach(() => { - sandbox.resetHistory(); - }); - - it('should construct options from empty geojson and no settings', () => { - const serverInfo = serverInfoHandler({}); - - serverInfo.should.deepEqual({ server: 'metadata' }); - - serverMetadataCreateSpy.firstCall.args.should.deepEqual([ - { - currentVersion: undefined, - fullVersion: undefined, - initialExtent: undefined, - fullExtent: undefined, - layers: [], - tables: [], - relationships: [], - }, - ]); - }); - - - it('should construct options from empty geojson and app config', () => { - const serverInfo = serverInfoHandler({}, { app: { locals: { config: { featureServer: { currentVersion: 101.1 } } } }}); - - serverInfo.should.deepEqual({ server: 'metadata' }); - - serverMetadataCreateSpy.firstCall.args.should.deepEqual([ - { - currentVersion: 101.1, - fullVersion: undefined, - initialExtent: undefined, - fullExtent: undefined, - layers: [], - tables: [], - relationships: [], - }, - ]); - }); - - it('should construct options from empty feature collection and no settings', () => { - const simpleCollectionFixture = { type: 'FeatureCollection', features: [] }; - const serverInfo = serverInfoHandler(simpleCollectionFixture); - - serverInfo.should.deepEqual({ server: 'metadata' }); - - serverMetadataCreateSpy.firstCall.args.should.deepEqual([ - { - currentVersion: undefined, - fullVersion: undefined, - initialExtent: undefined, - fullExtent: undefined, - layers: [], - tables: [ - { - id: 0, - name: 'Table_0', - parentLayerId: -1, - defaultVisibility: true, - subLayerIds: null, - minScale: 0, - maxScale: 0, - }, - ], - relationships: [], - }, - ]); - }); - - it('should construct options from feature collection with no geometry and no settings', () => { - const simpleCollectionFixture = { - type: 'FeatureCollection', - features: [ - { type: 'Feature', properties: {}, geometry: null }, - { type: 'Feature', properties: {}, geometry: null }, - { type: 'Feature', properties: {}, geometry: null }, - ], - }; - - const serverInfo = serverInfoHandler(simpleCollectionFixture); - - serverInfo.should.deepEqual({ - server: 'metadata', - }); - - serverMetadataCreateSpy.firstCall.args.should.deepEqual([ - { - currentVersion: undefined, - fullVersion: undefined, - initialExtent: undefined, - fullExtent: undefined, - layers: [], - tables: [ - { - id: 0, - name: 'Table_0', - parentLayerId: -1, - defaultVisibility: true, - subLayerIds: null, - minScale: 0, - maxScale: 0, - }, - ], - relationships: [], - }, - ]); - }); - - it('should construct options from feature collection with CRS and features, no settings', () => { - const simpleCollectionFixture = { - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - features: [ - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-100, 40] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-101, 41] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-99, 39] }, - }, - ], - }; - - const serverInfo = serverInfoHandler(simpleCollectionFixture); - - serverInfo.should.deepEqual({ - server: 'metadata', - }); - - serverMetadataCreateSpy.firstCall.args.should.deepEqual([ - { - currentVersion: undefined, - fullVersion: undefined, - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - fullExtent: { - spatialReference: { wkid: 4326, latestWkid: 4326 }, - xmin: -101, - xmax: -99, - ymin: 39, - ymax: 41, - }, - initialExtent: { - spatialReference: { wkid: 4326, latestWkid: 4326 }, - xmin: -101, - xmax: -99, - ymin: 39, - ymax: 41, - }, - layers: [ - { - id: 0, - name: 'Layer_0', - parentLayerId: -1, - defaultVisibility: true, - subLayerIds: null, - minScale: 0, - maxScale: 0, - geometryType: 'esriGeometryPoint', - }, - ], - tables: [], - relationships: [], - }, - ]); - }); - - it('should construct options using metadata where defined, no settings', () => { - const layer1 = { - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - features: [ - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-100, 40] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-101, 41] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-99, 39] }, - }, - ], - }; - const layer2 = { - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - features: [ - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-122, 49] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-121, 20] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-110, 43] }, - }, - ], - }; - const tables = [ - { - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - features: [ - { type: 'Feature', properties: {}, geometry: null }, - { type: 'Feature', properties: {}, geometry: null }, - { type: 'Feature', properties: {}, geometry: null }, - ], - }, - ]; - const input = { - maxRecordCount: 5000, - hasStaticData: true, - serviceDescription: 'A service description from provider metadata', - description: 'Defined in provider metadata', - copyrightText: 'Custom Copyright Text', - name: 'Foobar', - extent: [-110, -90, 180, 90], - initialExtent: [-110, -80, 180, 90], - geometryType: 'set by metadata', - layers: [layer1, layer2], - tables, - }; - - const serverInfo = serverInfoHandler(input); - - serverInfo.should.deepEqual({ - server: 'metadata', - }); - - serverMetadataCreateSpy.firstCall.args.should.deepEqual([ - { - currentVersion: undefined, - fullVersion: undefined, - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - maxRecordCount: 5000, - hasStaticData: true, - serviceDescription: 'A service description from provider metadata', - description: 'Defined in provider metadata', - copyrightText: 'Custom Copyright Text', - name: 'Foobar', - extent: [-110, -90, 180, 90], - initialExtent: { - xmin: -110, - ymin: -80, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }, - geometryType: 'set by metadata', - layers: [ - { - id: 0, - name: 'Layer_0', - parentLayerId: -1, - defaultVisibility: true, - subLayerIds: null, - minScale: 0, - maxScale: 0, - geometryType: 'esriGeometryPoint', - }, - { - id: 1, - name: 'Layer_1', - parentLayerId: -1, - defaultVisibility: true, - subLayerIds: null, - minScale: 0, - maxScale: 0, - geometryType: 'esriGeometryPoint', - }, - ], - tables: [ - { - id: 2, - name: 'Table_2', - parentLayerId: -1, - defaultVisibility: true, - subLayerIds: null, - minScale: 0, - maxScale: 0, - }, - ], - fullExtent: { - xmin: -110, - ymin: -90, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }, - relationships: [], - }, - ]); - }); - - it('should construct options with relationships', () => { - const layer1 = { - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - features: [ - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-100, 40] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-101, 41] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-99, 39] }, - }, - ], - }; - const layer2 = { - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - features: [ - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-122, 49] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-121, 20] }, - }, - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: [-110, 43] }, - }, - ], - }; - const tables = [ - { - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - features: [ - { type: 'Feature', properties: {}, geometry: null }, - { type: 'Feature', properties: {}, geometry: null }, - { type: 'Feature', properties: {}, geometry: null }, - ], - }, - ]; - const relationships = [ - { id: 0, name: 'Relationship_0' }, - { id: 1 }, - ]; - const input = { - maxRecordCount: 5000, - hasStaticData: true, - serviceDescription: 'A service description from provider metadata', - description: 'Defined in provider metadata', - copyrightText: 'Custom Copyright Text', - name: 'Foobar', - extent: [-110, -90, 180, 90], - initialExtent: [-110, -80, 180, 90], - geometryType: 'set by metadata', - layers: [layer1, layer2], - tables, - relationships, - }; - - const serverInfo = serverInfoHandler(input); - - serverInfo.should.deepEqual({ - server: 'metadata', - }); - - serverMetadataCreateSpy.firstCall.args.should.deepEqual([ - { - currentVersion: undefined, - fullVersion: undefined, - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - maxRecordCount: 5000, - hasStaticData: true, - serviceDescription: 'A service description from provider metadata', - description: 'Defined in provider metadata', - copyrightText: 'Custom Copyright Text', - name: 'Foobar', - extent: [-110, -90, 180, 90], - initialExtent: { - xmin: -110, - ymin: -80, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }, - geometryType: 'set by metadata', - layers: [ - { - id: 0, - name: 'Layer_0', - parentLayerId: -1, - defaultVisibility: true, - subLayerIds: null, - minScale: 0, - maxScale: 0, - geometryType: 'esriGeometryPoint', - }, - { - id: 1, - name: 'Layer_1', - parentLayerId: -1, - defaultVisibility: true, - subLayerIds: null, - minScale: 0, - maxScale: 0, - geometryType: 'esriGeometryPoint', - }, - ], - tables: [ - { - id: 2, - name: 'Table_2', - parentLayerId: -1, - defaultVisibility: true, - subLayerIds: null, - minScale: 0, - maxScale: 0, - }, - ], - fullExtent: { - xmin: -110, - ymin: -90, - xmax: 180, - ymax: 90, - spatialReference: { wkid: 4326, latestWkid: 4326 }, - }, - relationships: [ - { - id: 0, - name: 'Relationship_0', - }, - { - id: 1, - name: 'Relationship_1', - }, - ], - }, - ]); - }); - - it('should fail to construct extents from layers, log error', () => { - const simpleCollectionFixture = { - type: 'FeatureCollection', - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - features: [ - { - type: 'Feature', - properties: {}, - geometry: { type: 'Point', coordinates: ['test', 40] }, - }, - ], - }; - - const serverInfo = serverInfoHandler(simpleCollectionFixture); - - serverInfo.should.deepEqual({ - server: 'metadata', - }); - - serverMetadataCreateSpy.firstCall.args.should.deepEqual([ - { - currentVersion: undefined, - fullVersion: undefined, - crs: { - type: 'name', - properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' }, - }, - fullExtent: undefined, - initialExtent: undefined, - layers: [ - { - id: 0, - name: 'Layer_0', - parentLayerId: -1, - defaultVisibility: true, - subLayerIds: null, - minScale: 0, - maxScale: 0, - geometryType: 'esriGeometryPoint', - }, - ], - tables: [], - relationships: [], - }, - ]); - }); -}); diff --git a/packages/featureserver/test/integration/fixtures/budget-table.json b/packages/featureserver/test/integration/fixtures/budget-table.json deleted file mode 100644 index e05a7488b..000000000 --- a/packages/featureserver/test/integration/fixtures/budget-table.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"FeatureCollection","features":[{"type":"Feature","id":0,"properties":{"Name":"Nichols,Pennie R","Unit":"Aviation","Dept":"Admin - Administrative Service","Job_Title":"Administrative Officer I","Annual_Rt":"$49,453.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":0},"geometry":null},{"type":"Feature","id":1,"properties":{"Name":"Evans,Kari Ann","Unit":"Aviation","Dept":"Admin - Administrative Service","Job_Title":"Administrative Officer II","Annual_Rt":"$49,897.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1},"geometry":null},{"type":"Feature","id":2,"properties":{"Name":"Clemens,Denise Chitatma","Unit":"Aviation","Dept":"Admin - Administrative Service","Job_Title":"Administrative Officer III","Annual_Rt":"$60,278.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2},"geometry":null},{"type":"Feature","id":3,"properties":{"Name":"Proctor,Phyllis Gail","Unit":"Aviation","Dept":"Admin - Administrative Service","Job_Title":"Administrative Officer III","Annual_Rt":"$60,600.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3},"geometry":null},{"type":"Feature","id":4,"properties":{"Name":"Caldwell,Sonya Denise","Unit":"Aviation","Dept":"Admin - Administrative Service","Job_Title":"Administrative Officer IV","Annual_Rt":"$71,888.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4},"geometry":null},{"type":"Feature","id":5,"properties":{"Name":"Negash,Feven Michael","Unit":"Aviation","Dept":"Admin - Administrative Service","Job_Title":"Office Assistant IV","Annual_Rt":"$33,181.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5},"geometry":null},{"type":"Feature","id":6,"properties":{"Name":"Boone,Babette T","Unit":"Aviation","Dept":"Admin - Administrative Service","Job_Title":"Administrative Officer V","Annual_Rt":"$84,850.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6},"geometry":null},{"type":"Feature","id":7,"properties":{"Name":"Hunt,Alice Grace","Unit":"Aviation","Dept":"Admin - Administrative Service","Job_Title":"Office Assistant III","Annual_Rt":"$31,859.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":7},"geometry":null},{"type":"Feature","id":8,"properties":{"Name":"Nichols,Lauren S","Unit":"Aviation","Dept":"Admin - Administrative Service","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$13.67 ","RegTemp":"T","Full/Part":"P","OBJECTID":8},"geometry":null},{"type":"Feature","id":9,"properties":{"Name":"Ledbetter,Deanna L","Unit":"Aviation","Dept":"Admin - Executive","Job_Title":"Administrative Officer II","Annual_Rt":"$47,142.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":9},"geometry":null},{"type":"Feature","id":10,"properties":{"Name":"Cagle,Brent D","Unit":"Aviation","Dept":"Admin - Executive","Job_Title":"Ast Aviation Dir Development","Annual_Rt":"$152,640.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":10},"geometry":null},{"type":"Feature","id":11,"properties":{"Name":"Christine Jr,John L","Unit":"Aviation","Dept":"Admin - Executive","Job_Title":"Ast Aviation Dir Development","Annual_Rt":"$146,280.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":11},"geometry":null},{"type":"Feature","id":12,"properties":{"Name":"Lopez,Jaqueline","Unit":"Aviation","Dept":"Admin - Executive","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$15.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":12},"geometry":null},{"type":"Feature","id":13,"properties":{"Name":"Smith,Stuart William","Unit":"Aviation","Dept":"Admin - Executive","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":13},"geometry":null},{"type":"Feature","id":14,"properties":{"Name":"Moore,Phillip Stuart","Unit":"Aviation","Dept":"Admin - Executive","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":14},"geometry":null},{"type":"Feature","id":15,"properties":{"Name":"Smithers,Allison Elizabeth","Unit":"Aviation","Dept":"Admin - Legal Affairs","Job_Title":"Assistant City Attorney I","Annual_Rt":"$76,658.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":15},"geometry":null},{"type":"Feature","id":16,"properties":{"Name":"Kaplan,Theodore Austin","Unit":"Aviation","Dept":"Admin - Legal Affairs","Job_Title":"Assistant City Attorney II","Annual_Rt":"$102,260.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":16},"geometry":null},{"type":"Feature","id":17,"properties":{"Name":"Lahbabi,Leila Amal","Unit":"Aviation","Dept":"Admin - Legal Affairs","Job_Title":"Senior Attorney","Annual_Rt":"$129,527.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":17},"geometry":null},{"type":"Feature","id":18,"properties":{"Name":"Manning,Ryan Allen","Unit":"Aviation","Dept":"Admin-Public Affairs/Media Rel","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":18},"geometry":null},{"type":"Feature","id":19,"properties":{"Name":"Helm,Erika Loren","Unit":"Aviation","Dept":"Admin-Public Affairs/Media Rel","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$57,574.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":19},"geometry":null},{"type":"Feature","id":20,"properties":{"Name":"Dahlberg,Laura","Unit":"Aviation","Dept":"Admin - Legal Affairs","Job_Title":"Administrative Officer II","Annual_Rt":"$53,177.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":20},"geometry":null},{"type":"Feature","id":21,"properties":{"Name":"Davis,Sarah L","Unit":"Aviation","Dept":"Admin-Public Affairs/Media Rel","Job_Title":"Public Service Coordinator","Annual_Rt":"$75,522.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":21},"geometry":null},{"type":"Feature","id":22,"properties":{"Name":"Lynch,Carrie E.","Unit":"Aviation","Dept":"Admin-Public Affairs/Media Rel","Job_Title":"Public Information Specialist","Annual_Rt":"$50,754.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":22},"geometry":null},{"type":"Feature","id":23,"properties":{"Name":"Clark,Olivia Kathleen","Unit":"Aviation","Dept":"Bus Offic -CommercialSvs/Aviat","Job_Title":"Administrative Officer I","Annual_Rt":"$44,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":23},"geometry":null},{"type":"Feature","id":24,"properties":{"Name":"Carter,Diane D","Unit":"Aviation","Dept":"Bus Offic -CommercialSvs/Aviat","Job_Title":"Revenue Division Manager","Annual_Rt":"$75,115.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":24},"geometry":null},{"type":"Feature","id":25,"properties":{"Name":"Long,Jennifer Shouse","Unit":"Aviation","Dept":"Bus Offic -CommercialSvs/Aviat","Job_Title":"Contracts Admin Coordinator","Annual_Rt":"$69,964.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":25},"geometry":null},{"type":"Feature","id":26,"properties":{"Name":"Hughes,Donna D","Unit":"Aviation","Dept":"Bus Offic -CommercialSvs/Aviat","Job_Title":"Administrative Officer II","Annual_Rt":"$58,178.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":26},"geometry":null},{"type":"Feature","id":27,"properties":{"Name":"Golden,Lauri Frances","Unit":"Aviation","Dept":"Bus Offic -CommercialSvs/Aviat","Job_Title":"Administrative Officer III","Annual_Rt":"$60,454.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":27},"geometry":null},{"type":"Feature","id":28,"properties":{"Name":"Friar,Jeffery Edward","Unit":"Aviation","Dept":"Dev - Airport Design","Job_Title":"Airport Oper Mgr Bld Maint","Annual_Rt":"$85,410.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":28},"geometry":null},{"type":"Feature","id":29,"properties":{"Name":"Cerri,Patrick L","Unit":"Aviation","Dept":"Dev - Airport Planning","Job_Title":"Administrative Officer II","Annual_Rt":"$49,913.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":29},"geometry":null},{"type":"Feature","id":30,"properties":{"Name":"Scott,Lauren Matthews","Unit":"Aviation","Dept":"Dev - Airport Planning","Job_Title":"Associate Planner","Annual_Rt":"$47,620.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":30},"geometry":null},{"type":"Feature","id":31,"properties":{"Name":"Dennis,Katherine Phipps-Mills","Unit":"Aviation","Dept":"Dev - Airport Planning","Job_Title":"Sr Principal Planner","Annual_Rt":"$72,055.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":31},"geometry":null},{"type":"Feature","id":32,"properties":{"Name":"Hughes,John P","Unit":"Aviation","Dept":"Dev - Engineering","Job_Title":"Airport Oper Mgr Bld Maint","Annual_Rt":"$102,109.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":32},"geometry":null},{"type":"Feature","id":33,"properties":{"Name":"Norton,Keith Kermit","Unit":"Aviation","Dept":"Dev - Engineering","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$62,541.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":33},"geometry":null},{"type":"Feature","id":34,"properties":{"Name":"Hennessey,Kevin Michael","Unit":"Aviation","Dept":"Dev - Community Programs","Job_Title":"Community Programs Coord","Annual_Rt":"$84,307.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":34},"geometry":null},{"type":"Feature","id":35,"properties":{"Name":"Doby,John M","Unit":"Aviation","Dept":"Dev - Engineering","Job_Title":"Chief Airport Constr Inspector","Annual_Rt":"$91,814.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":35},"geometry":null},{"type":"Feature","id":36,"properties":{"Name":"Houser,Scott L","Unit":"Aviation","Dept":"Dev - Engineering","Job_Title":"Chief Airport Constr Inspector","Annual_Rt":"$63,855.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":36},"geometry":null},{"type":"Feature","id":37,"properties":{"Name":"McMahan,Brian K","Unit":"Aviation","Dept":"Dev - Engineering","Job_Title":"Chief Airport Constr Inspector","Annual_Rt":"$70,417.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":37},"geometry":null},{"type":"Feature","id":38,"properties":{"Name":"Yeager,Steven R","Unit":"Aviation","Dept":"Dev - Engineering","Job_Title":"Chief Airport Constr Inspector","Annual_Rt":"$69,981.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":38},"geometry":null},{"type":"Feature","id":39,"properties":{"Name":"Miller,William Harry","Unit":"Aviation","Dept":"Dev - Engineering","Job_Title":"Construction Inspector","Annual_Rt":"$48,393.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":39},"geometry":null},{"type":"Feature","id":40,"properties":{"Name":"Combis,Deborah A","Unit":"Aviation","Dept":"Dev - Engineering","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$58,555.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":40},"geometry":null},{"type":"Feature","id":41,"properties":{"Name":"Ballard,Hunter Blake","Unit":"Aviation","Dept":"Dev - Engineering","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":41},"geometry":null},{"type":"Feature","id":42,"properties":{"Name":"Clemmer,Christopher Bryan","Unit":"Aviation","Dept":"Dev - Engineering","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":42},"geometry":null},{"type":"Feature","id":43,"properties":{"Name":"Scott,Monique Chanel","Unit":"Aviation","Dept":"Dev - Engineering","Job_Title":"Office Assistant III","Annual_Rt":"$29,996.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":43},"geometry":null},{"type":"Feature","id":44,"properties":{"Name":"Watson,Ashton Bryan","Unit":"Aviation","Dept":"Dev - Engineering","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$81,430.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":44},"geometry":null},{"type":"Feature","id":45,"properties":{"Name":"Jordan,Jimmy D","Unit":"Aviation","Dept":"Dev - Environmental","Job_Title":"Engineering Project Manager","Annual_Rt":"$73,418.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":45},"geometry":null},{"type":"Feature","id":46,"properties":{"Name":"McSwain,Jeffrey W.","Unit":"Aviation","Dept":"Dev - Executive","Job_Title":"Airport Engineer","Annual_Rt":"$118,113.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":46},"geometry":null},{"type":"Feature","id":47,"properties":{"Name":"Johnson,Stanley Freeman","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Airport Electronics Tech Ld","Annual_Rt":"$54,510.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":47},"geometry":null},{"type":"Feature","id":48,"properties":{"Name":"Clark Jr,Calvin R","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Airport Electronics Tech Sr","Annual_Rt":"$52,142.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":48},"geometry":null},{"type":"Feature","id":49,"properties":{"Name":"Huskins,Jonathan Chad","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Airport Oper Mgr Field Maint","Annual_Rt":"$79,969.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":49},"geometry":null},{"type":"Feature","id":50,"properties":{"Name":"Evans,James E","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Chief Maintenance Mechanic","Annual_Rt":"$70,707.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":50},"geometry":null},{"type":"Feature","id":51,"properties":{"Name":"Campbell,Terry Edward","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator I","Annual_Rt":"$29,172.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":51},"geometry":null},{"type":"Feature","id":52,"properties":{"Name":"Chovit,Alexis J","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator I","Annual_Rt":"$30,722.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":52},"geometry":null},{"type":"Feature","id":53,"properties":{"Name":"Cope,Robert G","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator I","Annual_Rt":"$30,424.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":53},"geometry":null},{"type":"Feature","id":54,"properties":{"Name":"Gearhart,James Howard","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator I","Annual_Rt":"$29,120.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":54},"geometry":null},{"type":"Feature","id":55,"properties":{"Name":"Johnson,Larry W","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator I","Annual_Rt":"$31,381.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":55},"geometry":null},{"type":"Feature","id":56,"properties":{"Name":"Kettenburg,Joshua Edward","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator I","Annual_Rt":"$29,106.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":56},"geometry":null},{"type":"Feature","id":57,"properties":{"Name":"Langdon,Tracy Sean","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator I","Annual_Rt":"$29,116.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":57},"geometry":null},{"type":"Feature","id":58,"properties":{"Name":"Scott,Garry L","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator I","Annual_Rt":"$32,998.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":58},"geometry":null},{"type":"Feature","id":59,"properties":{"Name":"Emery,James Kenneth","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator II","Annual_Rt":"$34,932.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":59},"geometry":null},{"type":"Feature","id":60,"properties":{"Name":"Ferrell,Shawn A","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator II","Annual_Rt":"$37,617.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":60},"geometry":null},{"type":"Feature","id":61,"properties":{"Name":"Haley,John T","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator II","Annual_Rt":"$36,889.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":61},"geometry":null},{"type":"Feature","id":62,"properties":{"Name":"Mason,Robert F","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator II","Annual_Rt":"$38,385.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":62},"geometry":null},{"type":"Feature","id":63,"properties":{"Name":"McCall,Thomas Kelly","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator II","Annual_Rt":"$36,359.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":63},"geometry":null},{"type":"Feature","id":64,"properties":{"Name":"Ritchie,Chad Michael","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator II","Annual_Rt":"$34,624.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":64},"geometry":null},{"type":"Feature","id":65,"properties":{"Name":"Tallmon,Lawrence Lee","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator II","Annual_Rt":"$33,363.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":65},"geometry":null},{"type":"Feature","id":66,"properties":{"Name":"Hassett,Donald W","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator III","Annual_Rt":"$42,323.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":66},"geometry":null},{"type":"Feature","id":67,"properties":{"Name":"Hubert,Norman V","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator III","Annual_Rt":"$37,613.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":67},"geometry":null},{"type":"Feature","id":68,"properties":{"Name":"Kelly,James Junior","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator III","Annual_Rt":"$43,189.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":68},"geometry":null},{"type":"Feature","id":69,"properties":{"Name":"Seymour,Robert M","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator III","Annual_Rt":"$43,186.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":69},"geometry":null},{"type":"Feature","id":70,"properties":{"Name":"Whisnant,James Robert","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Equipment Operator III","Annual_Rt":"$43,188.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":70},"geometry":null},{"type":"Feature","id":71,"properties":{"Name":"Courtney,Maxwell Franklin","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$11.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":71},"geometry":null},{"type":"Feature","id":72,"properties":{"Name":"Gonzalez,Raul R","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":72},"geometry":null},{"type":"Feature","id":73,"properties":{"Name":"Fabbiano,Michael","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Labor Crew Chief II","Annual_Rt":"$51,510.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":73},"geometry":null},{"type":"Feature","id":74,"properties":{"Name":"Ivey,Roy Sampson","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,780.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":74},"geometry":null},{"type":"Feature","id":75,"properties":{"Name":"Rathbone,Ervin R","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Labor Crew Chief II","Annual_Rt":"$45,157.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":75},"geometry":null},{"type":"Feature","id":76,"properties":{"Name":"Tucker,Jeffrey C","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Labor Crew Chief II","Annual_Rt":"$48,691.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":76},"geometry":null},{"type":"Feature","id":77,"properties":{"Name":"Douglas,Brittany Michelle","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Laborer","Annual_Rt":"$25,230.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":77},"geometry":null},{"type":"Feature","id":78,"properties":{"Name":"Entrekin,Benny E","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Laborer","Annual_Rt":"$25,231.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":78},"geometry":null},{"type":"Feature","id":79,"properties":{"Name":"Gabriel,Charles D","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Laborer","Annual_Rt":"$25,230.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":79},"geometry":null},{"type":"Feature","id":80,"properties":{"Name":"Pool,Timothy Lee","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Laborer","Annual_Rt":"$25,230.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":80},"geometry":null},{"type":"Feature","id":81,"properties":{"Name":"Tillman,Maurice","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Laborer","Annual_Rt":"$25,253.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":81},"geometry":null},{"type":"Feature","id":82,"properties":{"Name":"Self,Matthew David","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Landscape Crew Member","Annual_Rt":"$29,969.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":82},"geometry":null},{"type":"Feature","id":83,"properties":{"Name":"Bryan,Jennifer Victoria","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Landscape Supervisor","Annual_Rt":"$58,942.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":83},"geometry":null},{"type":"Feature","id":84,"properties":{"Name":"Jarman,Martin Adam","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Operations Supervisor","Annual_Rt":"$67,063.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":84},"geometry":null},{"type":"Feature","id":85,"properties":{"Name":"Wright Jr,Joseph R.","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$45,507.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":85},"geometry":null},{"type":"Feature","id":86,"properties":{"Name":"Young,David Charles","Unit":"Aviation","Dept":"Facil - Airside Maintenance (F","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$45,059.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":86},"geometry":null},{"type":"Feature","id":87,"properties":{"Name":"King Jr,Charles H","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Airport Electronics Tech Ld","Annual_Rt":"$62,740.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":87},"geometry":null},{"type":"Feature","id":88,"properties":{"Name":"Pittman,Paul Otis","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Airport Electronics Tech Ld","Annual_Rt":"$54,531.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":88},"geometry":null},{"type":"Feature","id":89,"properties":{"Name":"Boyett,Stanley A","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Airport Electronics Tech Sr","Annual_Rt":"$52,144.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":89},"geometry":null},{"type":"Feature","id":90,"properties":{"Name":"Clatworthy,Jason Daniel","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Airport Electronics Tech Sr","Annual_Rt":"$52,163.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":90},"geometry":null},{"type":"Feature","id":91,"properties":{"Name":"Grice,John R","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Airport Electronics Tech Sr","Annual_Rt":"$52,139.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":91},"geometry":null},{"type":"Feature","id":92,"properties":{"Name":"Halbedel,Joseph L","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Airport Electronics Tech Sr","Annual_Rt":"$52,144.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":92},"geometry":null},{"type":"Feature","id":93,"properties":{"Name":"Helms,Louis S","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Airport Electronics Tech Sr","Annual_Rt":"$58,528.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":93},"geometry":null},{"type":"Feature","id":94,"properties":{"Name":"Kelly,Dennis Jerome","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Airport Electronics Tech Sr","Annual_Rt":"$52,140.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":94},"geometry":null},{"type":"Feature","id":95,"properties":{"Name":"Nixon,LeeVester D","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Airport Electronics Tech Sr","Annual_Rt":"$62,081.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":95},"geometry":null},{"type":"Feature","id":96,"properties":{"Name":"Sisk,Alan Benjamin","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Airport Electronics Tech Sr","Annual_Rt":"$52,142.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":96},"geometry":null},{"type":"Feature","id":97,"properties":{"Name":"Williams,Terry Floyd","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Airport Electronics Tech Sr","Annual_Rt":"$52,144.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":97},"geometry":null},{"type":"Feature","id":98,"properties":{"Name":"Pridgen,Michael R","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Airport Oper Mgr Bld Maint","Annual_Rt":"$85,411.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":98},"geometry":null},{"type":"Feature","id":99,"properties":{"Name":"Cookson,Carl William","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Asst Maintenance Mechanic","Annual_Rt":"$30,503.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":99},"geometry":null},{"type":"Feature","id":100,"properties":{"Name":"MacMillan,Mark Saywala Courage","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Asst Maintenance Mechanic","Annual_Rt":null,"Hrly_Rate":"$13.85 ","RegTemp":"T","Full/Part":"P","OBJECTID":100},"geometry":null},{"type":"Feature","id":101,"properties":{"Name":"Sullivan,Tom D.","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Asst Maintenance Mechanic","Annual_Rt":"$30,504.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":101},"geometry":null},{"type":"Feature","id":102,"properties":{"Name":"Langley,Shawn Lee","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Building Maintenance Asst","Annual_Rt":"$30,186.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":102},"geometry":null},{"type":"Feature","id":103,"properties":{"Name":"Nallo,Abibatu A.","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Building Maintenance Asst","Annual_Rt":"$30,186.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":103},"geometry":null},{"type":"Feature","id":104,"properties":{"Name":"Starnes,Jonathan Daniel","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Building Maintenance Asst","Annual_Rt":"$30,186.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":104},"geometry":null},{"type":"Feature","id":105,"properties":{"Name":"Weaver,Norman James","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Building Maintenance Asst","Annual_Rt":"$30,188.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":105},"geometry":null},{"type":"Feature","id":106,"properties":{"Name":"Stanton,Todd M","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Carpenter","Annual_Rt":"$40,298.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":106},"geometry":null},{"type":"Feature","id":107,"properties":{"Name":"Karnes,Patricia L","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Building Maintenance Supv","Annual_Rt":"$39,076.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":107},"geometry":null},{"type":"Feature","id":108,"properties":{"Name":"Bolin,Eddie Wayne","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Carpenter Senior","Annual_Rt":"$44,343.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":108},"geometry":null},{"type":"Feature","id":109,"properties":{"Name":"Potts,David J","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Carpenter Senior","Annual_Rt":"$51,059.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":109},"geometry":null},{"type":"Feature","id":110,"properties":{"Name":"Edwards,Lloyd","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Chief Maintenance Mechanic","Annual_Rt":"$75,860.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":110},"geometry":null},{"type":"Feature","id":111,"properties":{"Name":"Deal,John Michael","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Chief Maintenance Mechanic","Annual_Rt":"$66,460.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":111},"geometry":null},{"type":"Feature","id":112,"properties":{"Name":"Almond,William M","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Chief Maintenance Mechanic","Annual_Rt":"$67,789.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":112},"geometry":null},{"type":"Feature","id":113,"properties":{"Name":"Linder,Franklin G","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Chief Maintenance Mechanic","Annual_Rt":"$63,855.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":113},"geometry":null},{"type":"Feature","id":114,"properties":{"Name":"Thomas,Timothy Allen","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Chief Maintenance Mechanic","Annual_Rt":"$64,465.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":114},"geometry":null},{"type":"Feature","id":115,"properties":{"Name":"Bacogeorge,Alex C","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"HVAC Technician Senior","Annual_Rt":"$54,899.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":115},"geometry":null},{"type":"Feature","id":116,"properties":{"Name":"Kennedy,Terence P","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"HVAC Technician Senior","Annual_Rt":"$56,766.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":116},"geometry":null},{"type":"Feature","id":117,"properties":{"Name":"Kyaw,William P","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"HVAC Technician Senior","Annual_Rt":"$57,949.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":117},"geometry":null},{"type":"Feature","id":118,"properties":{"Name":"Perault,Cordell","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"HVAC Technician Senior","Annual_Rt":"$54,899.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":118},"geometry":null},{"type":"Feature","id":119,"properties":{"Name":"Vlahos,Deonisios T","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"HVAC Technician Senior","Annual_Rt":"$56,403.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":119},"geometry":null},{"type":"Feature","id":120,"properties":{"Name":"Whittey,Joseph A","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"HVAC Technician Senior","Annual_Rt":"$57,949.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":120},"geometry":null},{"type":"Feature","id":121,"properties":{"Name":"Garrell,Randall Lee","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Operations Supervisor","Annual_Rt":"$74,548.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":121},"geometry":null},{"type":"Feature","id":122,"properties":{"Name":"Bullard,William S","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$60,541.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":122},"geometry":null},{"type":"Feature","id":123,"properties":{"Name":"Campbell,Jamie A.","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$48,433.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":123},"geometry":null},{"type":"Feature","id":124,"properties":{"Name":"Carter,Barry C","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$55,162.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":124},"geometry":null},{"type":"Feature","id":125,"properties":{"Name":"Christenbury Jr,Robert Wilson","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$48,411.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":125},"geometry":null},{"type":"Feature","id":126,"properties":{"Name":"Cooper Jr,Ivory","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$48,414.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":126},"geometry":null},{"type":"Feature","id":127,"properties":{"Name":"Gallyon,Johnson Matthew","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$48,422.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":127},"geometry":null},{"type":"Feature","id":128,"properties":{"Name":"Johnson,Terrence Todd","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$48,433.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":128},"geometry":null},{"type":"Feature","id":129,"properties":{"Name":"Martinez,Edwin Freddy","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$48,413.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":129},"geometry":null},{"type":"Feature","id":130,"properties":{"Name":"Putnam,Jonathan Carroll","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$48,413.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":130},"geometry":null},{"type":"Feature","id":131,"properties":{"Name":"Sanderson Jr,Charles Ray","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$48,422.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":131},"geometry":null},{"type":"Feature","id":132,"properties":{"Name":"Sarro,Louis Anthony","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$48,431.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":132},"geometry":null},{"type":"Feature","id":133,"properties":{"Name":"Stone,Ronald L.","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$51,123.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":133},"geometry":null},{"type":"Feature","id":134,"properties":{"Name":"Taylor,Angela Y","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$49,509.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":134},"geometry":null},{"type":"Feature","id":135,"properties":{"Name":"Waters,Nelson Todd","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$48,432.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":135},"geometry":null},{"type":"Feature","id":136,"properties":{"Name":"Worley,John A","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$48,431.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":136},"geometry":null},{"type":"Feature","id":137,"properties":{"Name":"Boone Jr,Ted P","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":null,"Hrly_Rate":"$15.69 ","RegTemp":"T","Full/Part":"P","OBJECTID":137},"geometry":null},{"type":"Feature","id":138,"properties":{"Name":"Burgin Jr,Walter Dean","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$44,011.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":138},"geometry":null},{"type":"Feature","id":139,"properties":{"Name":"Daniels,Mark Gregory","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$45,508.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":139},"geometry":null},{"type":"Feature","id":140,"properties":{"Name":"Daphness,Reynold T","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$44,013.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":140},"geometry":null},{"type":"Feature","id":141,"properties":{"Name":"Haskett,Robert Earl","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$44,014.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":141},"geometry":null},{"type":"Feature","id":142,"properties":{"Name":"Hayes Jr,Francis Reid","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$45,509.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":142},"geometry":null},{"type":"Feature","id":143,"properties":{"Name":"Henderson,Christopher Adam","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$44,028.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":143},"geometry":null},{"type":"Feature","id":144,"properties":{"Name":"Holloway,Gregory Demond","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$44,012.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":144},"geometry":null},{"type":"Feature","id":145,"properties":{"Name":"Huff,Tab W","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$44,028.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":145},"geometry":null},{"type":"Feature","id":146,"properties":{"Name":"Raulerson,Paul D","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$51,406.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":146},"geometry":null},{"type":"Feature","id":147,"properties":{"Name":"Rodriguez,Herodutus Pastor","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$44,012.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":147},"geometry":null},{"type":"Feature","id":148,"properties":{"Name":"Santos,Rudy Allianigui","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$44,010.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":148},"geometry":null},{"type":"Feature","id":149,"properties":{"Name":"Schneider,Gunter","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$44,012.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":149},"geometry":null},{"type":"Feature","id":150,"properties":{"Name":"Stillwell,James Sidney","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$44,012.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":150},"geometry":null},{"type":"Feature","id":151,"properties":{"Name":"Whittaker,Scott G","Unit":"Aviation","Dept":"Facil - Building Maintenance","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$44,013.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":151},"geometry":null},{"type":"Feature","id":152,"properties":{"Name":"Wiebke,Mark D","Unit":"Aviation","Dept":"Facil - Executive","Job_Title":"Ast Aviation Dir Development","Annual_Rt":"$141,423.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":152},"geometry":null},{"type":"Feature","id":153,"properties":{"Name":"McEachern,Robert C","Unit":"Aviation","Dept":"Facil - Fleet Maintenance","Job_Title":"Chief Automotive Mechanic","Annual_Rt":"$66,200.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":153},"geometry":null},{"type":"Feature","id":154,"properties":{"Name":"Bunker,Christopher R","Unit":"Aviation","Dept":"Facil - Fleet Maintenance","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$48,003.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":154},"geometry":null},{"type":"Feature","id":155,"properties":{"Name":"Krebs,David LeRoy","Unit":"Aviation","Dept":"Facil - Fleet Maintenance","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$43,739.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":155},"geometry":null},{"type":"Feature","id":156,"properties":{"Name":"Krebs,Frank John","Unit":"Aviation","Dept":"Facil - Fleet Maintenance","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$43,750.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":156},"geometry":null},{"type":"Feature","id":157,"properties":{"Name":"Nelson Jr,James A","Unit":"Aviation","Dept":"Facil - Fleet Maintenance","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$42,314.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":157},"geometry":null},{"type":"Feature","id":158,"properties":{"Name":"Price,Juronne Andrew","Unit":"Aviation","Dept":"Facil - Fleet Maintenance","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$47,013.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":158},"geometry":null},{"type":"Feature","id":159,"properties":{"Name":"Wallace,David Evans","Unit":"Aviation","Dept":"Facil - Fleet Maintenance","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$43,753.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":159},"geometry":null},{"type":"Feature","id":160,"properties":{"Name":"Lehman,John Anthony","Unit":"Aviation","Dept":"Facil - Fleet Maintenance","Job_Title":"Heavy Equipment Svc Technician","Annual_Rt":"$44,678.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":160},"geometry":null},{"type":"Feature","id":161,"properties":{"Name":"Vellio,Mikile Tamrat","Unit":"Aviation","Dept":"Facil - Fleet Maintenance","Job_Title":"Heavy Equipment Svc Technician","Annual_Rt":"$42,328.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":161},"geometry":null},{"type":"Feature","id":162,"properties":{"Name":"Kenion,Grayson Mitchell","Unit":"Aviation","Dept":"Facil - Fleet Maintenance","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":162},"geometry":null},{"type":"Feature","id":163,"properties":{"Name":"Young,Willie","Unit":"Aviation","Dept":"Facil - Fleet Maintenance","Job_Title":"Light Equipment Service Tech","Annual_Rt":null,"Hrly_Rate":"$14.50 ","RegTemp":"T","Full/Part":"F","OBJECTID":163},"geometry":null},{"type":"Feature","id":164,"properties":{"Name":"Lucas,Robert W","Unit":"Aviation","Dept":"Facil - Janitorial/Housekeepin","Job_Title":"Airport Janitorial Manager","Annual_Rt":"$75,447.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":164},"geometry":null},{"type":"Feature","id":165,"properties":{"Name":"Smith,Ervin Terrell","Unit":"Aviation","Dept":"Facil - Logistics","Job_Title":"Administrative Officer II","Annual_Rt":"$56,752.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":165},"geometry":null},{"type":"Feature","id":166,"properties":{"Name":"Morris,Johnny L","Unit":"Aviation","Dept":"Facil - Logistics","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,766.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":166},"geometry":null},{"type":"Feature","id":167,"properties":{"Name":"Sanders,Eric Scott","Unit":"Aviation","Dept":"Facil - Logistics","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,783.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":167},"geometry":null},{"type":"Feature","id":168,"properties":{"Name":"Bellamy,Charles E","Unit":"Aviation","Dept":"Facil - Logistics","Job_Title":"Storekeeper","Annual_Rt":"$33,306.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":168},"geometry":null},{"type":"Feature","id":169,"properties":{"Name":"Cromwell,Damon R","Unit":"Aviation","Dept":"Finance - Accounts Receivable","Job_Title":"Accountant II","Annual_Rt":"$58,777.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":169},"geometry":null},{"type":"Feature","id":170,"properties":{"Name":"Bowman,Veronica","Unit":"Aviation","Dept":"Finance - Accounts Receivable","Job_Title":"Accounting Clerk II","Annual_Rt":"$37,037.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":170},"geometry":null},{"type":"Feature","id":171,"properties":{"Name":"Simensen,Rebecca Michelle","Unit":"Aviation","Dept":"Finance - Budget","Job_Title":"Administrative Officer III","Annual_Rt":"$58,641.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":171},"geometry":null},{"type":"Feature","id":172,"properties":{"Name":"Schmoyer,Melanie Kristine","Unit":"Aviation","Dept":"Finance - Executive","Job_Title":"Administrative Officer I","Annual_Rt":"$49,446.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":172},"geometry":null},{"type":"Feature","id":173,"properties":{"Name":"Hill Jr,Michael David","Unit":"Aviation","Dept":"Finance - Executive","Job_Title":"Airport Operations Mgr Admin","Annual_Rt":"$98,830.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":173},"geometry":null},{"type":"Feature","id":174,"properties":{"Name":"DeSilva,Janice W","Unit":"Aviation","Dept":"Finance - Financial Reporting","Job_Title":"Accountant II","Annual_Rt":"$58,799.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":174},"geometry":null},{"type":"Feature","id":175,"properties":{"Name":"Schlick,Ayanna Connor","Unit":"Aviation","Dept":"Finance - Financial Reporting","Job_Title":"Accountant II","Annual_Rt":"$58,800.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":175},"geometry":null},{"type":"Feature","id":176,"properties":{"Name":"Botchwey,Kamalita Parrott","Unit":"Aviation","Dept":"Finance - Financial Reporting","Job_Title":"Accountant III","Annual_Rt":"$67,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":176},"geometry":null},{"type":"Feature","id":177,"properties":{"Name":"Lescott,Tashiek C","Unit":"Aviation","Dept":"Finance - Procurement","Job_Title":"Const Contracts Admin Coord Ld","Annual_Rt":"$76,615.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":177},"geometry":null},{"type":"Feature","id":178,"properties":{"Name":"Bailey,Crystal Italiayanette","Unit":"Aviation","Dept":"Finance - Procurement","Job_Title":"Contracts Admin Specialist","Annual_Rt":"$55,251.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":178},"geometry":null},{"type":"Feature","id":179,"properties":{"Name":"Peeples Jr,Gary H","Unit":"Aviation","Dept":"Finance - Procurement","Job_Title":"Contracts Admin Specialist","Annual_Rt":"$51,315.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":179},"geometry":null},{"type":"Feature","id":180,"properties":{"Name":"Benedikovicova,Martina","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airport Oper Mgr Landside","Annual_Rt":"$83,951.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":180},"geometry":null},{"type":"Feature","id":181,"properties":{"Name":"Anders,Daniel H","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,766.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":181},"geometry":null},{"type":"Feature","id":182,"properties":{"Name":"Anderson,Quiana Christine","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,781.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":182},"geometry":null},{"type":"Feature","id":183,"properties":{"Name":"Curtis,Tracy L","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,783.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":183},"geometry":null},{"type":"Feature","id":184,"properties":{"Name":"Sharp,William Arlington","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,765.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":184},"geometry":null},{"type":"Feature","id":185,"properties":{"Name":"Thompkins,Marc","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,765.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":185},"geometry":null},{"type":"Feature","id":186,"properties":{"Name":"Johnson,Billie J.","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$51,186.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":186},"geometry":null},{"type":"Feature","id":187,"properties":{"Name":"Miller,Tracy L.","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$55,261.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":187},"geometry":null},{"type":"Feature","id":188,"properties":{"Name":"Wooten IV,Oscar","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$52,100.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":188},"geometry":null},{"type":"Feature","id":189,"properties":{"Name":"Covington,Taurus Sentell","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":189},"geometry":null},{"type":"Feature","id":190,"properties":{"Name":"Brown,Marciashia Demekia","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":190},"geometry":null},{"type":"Feature","id":191,"properties":{"Name":"Banks,Branden Lamar","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":191},"geometry":null},{"type":"Feature","id":192,"properties":{"Name":"Brown,Jacorian Rashawn","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":192},"geometry":null},{"type":"Feature","id":193,"properties":{"Name":"Crawford,Shanice Alexandra","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":193},"geometry":null},{"type":"Feature","id":194,"properties":{"Name":"Allen,Natobian","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":194},"geometry":null},{"type":"Feature","id":195,"properties":{"Name":"Danquah,Matthew","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":195},"geometry":null},{"type":"Feature","id":196,"properties":{"Name":"Delgrosso,Nicholas Cristopher","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":196},"geometry":null},{"type":"Feature","id":197,"properties":{"Name":"Digsby,Harlon Christopher","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":197},"geometry":null},{"type":"Feature","id":198,"properties":{"Name":"Driver,Shawn P","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":198},"geometry":null},{"type":"Feature","id":199,"properties":{"Name":"Francis,Jason","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":199},"geometry":null},{"type":"Feature","id":200,"properties":{"Name":"Gibson,Michael Germaine","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":200},"geometry":null},{"type":"Feature","id":201,"properties":{"Name":"Held,Elizabeth Ann","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":201},"geometry":null},{"type":"Feature","id":202,"properties":{"Name":"Hutchison,Anthony Joseph","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":202},"geometry":null},{"type":"Feature","id":203,"properties":{"Name":"Ingram Jr,Tracey Fritzgerald","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":203},"geometry":null},{"type":"Feature","id":204,"properties":{"Name":"Johnson,Bryant Christopher","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":204},"geometry":null},{"type":"Feature","id":205,"properties":{"Name":"Jones,Joe Louis","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":205},"geometry":null},{"type":"Feature","id":206,"properties":{"Name":"Lee,David DeBerry","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":206},"geometry":null},{"type":"Feature","id":207,"properties":{"Name":"Lloyd,Jarron","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":207},"geometry":null},{"type":"Feature","id":208,"properties":{"Name":"Lopez,Frank","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":208},"geometry":null},{"type":"Feature","id":209,"properties":{"Name":"Mason,Latasha M.","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":209},"geometry":null},{"type":"Feature","id":210,"properties":{"Name":"McAlister,Dustin Lee","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":210},"geometry":null},{"type":"Feature","id":211,"properties":{"Name":"Putman,Glenn Franklin","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":211},"geometry":null},{"type":"Feature","id":212,"properties":{"Name":"Riddick,Cheryn G","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":212},"geometry":null},{"type":"Feature","id":213,"properties":{"Name":"Robinson Jr,Billy Eugene","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":213},"geometry":null},{"type":"Feature","id":214,"properties":{"Name":"Sanders,Autumn Nicole","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":214},"geometry":null},{"type":"Feature","id":215,"properties":{"Name":"Sexton,James R","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":215},"geometry":null},{"type":"Feature","id":216,"properties":{"Name":"Snow,Steven","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":216},"geometry":null},{"type":"Feature","id":217,"properties":{"Name":"Spry,Krystal Joy","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":217},"geometry":null},{"type":"Feature","id":218,"properties":{"Name":"Sturdivant,Shanda Regina","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":218},"geometry":null},{"type":"Feature","id":219,"properties":{"Name":"Walker,Rodger William","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Airports Services Representati","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":219},"geometry":null},{"type":"Feature","id":220,"properties":{"Name":"Picerno,Christopher T","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Chief Locksmith","Annual_Rt":"$65,983.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":220},"geometry":null},{"type":"Feature","id":221,"properties":{"Name":"Brooks,Robert Samuel","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Locksmith","Annual_Rt":"$46,025.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":221},"geometry":null},{"type":"Feature","id":222,"properties":{"Name":"Hayes Jr,Winford D","Unit":"Aviation","Dept":"Oper - Airport Security","Job_Title":"Locksmith","Annual_Rt":"$46,964.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":222},"geometry":null},{"type":"Feature","id":223,"properties":{"Name":"Gentry,Haley H","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Mgr Admin","Annual_Rt":"$96,855.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":223},"geometry":null},{"type":"Feature","id":224,"properties":{"Name":"Mynatt II,James Edwin","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Mgr Airside","Annual_Rt":"$82,238.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":224},"geometry":null},{"type":"Feature","id":225,"properties":{"Name":"Ayala,Frances Maegen","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,783.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":225},"geometry":null},{"type":"Feature","id":226,"properties":{"Name":"Blackwell,Brandon D","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,783.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":226},"geometry":null},{"type":"Feature","id":227,"properties":{"Name":"Castaneda,David Jesse","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,767.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":227},"geometry":null},{"type":"Feature","id":228,"properties":{"Name":"Clark,John C","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$45,506.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":228},"geometry":null},{"type":"Feature","id":229,"properties":{"Name":"Davis,Cory Alan","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,768.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":229},"geometry":null},{"type":"Feature","id":230,"properties":{"Name":"Davis,Kevin Michael","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,783.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":230},"geometry":null},{"type":"Feature","id":231,"properties":{"Name":"Elder,Brian Thomas","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,765.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":231},"geometry":null},{"type":"Feature","id":232,"properties":{"Name":"Eller,Joshua Gray","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,766.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":232},"geometry":null},{"type":"Feature","id":233,"properties":{"Name":"Herron,Raymond Anthony","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,768.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":233},"geometry":null},{"type":"Feature","id":234,"properties":{"Name":"Hubbard,Wayne R","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,783.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":234},"geometry":null},{"type":"Feature","id":235,"properties":{"Name":"Kirk,Khristyne Marie","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,768.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":235},"geometry":null},{"type":"Feature","id":236,"properties":{"Name":"Madenford,Lindsay Erin","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,768.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":236},"geometry":null},{"type":"Feature","id":237,"properties":{"Name":"Mitchell Jr,Elbert Troy","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,768.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":237},"geometry":null},{"type":"Feature","id":238,"properties":{"Name":"Neal Jr,David W","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$42,617.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":238},"geometry":null},{"type":"Feature","id":239,"properties":{"Name":"Pilarski,Michael","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,767.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":239},"geometry":null},{"type":"Feature","id":240,"properties":{"Name":"Robinson,Cavolzea","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,759.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":240},"geometry":null},{"type":"Feature","id":241,"properties":{"Name":"Sellers,Trent Ross","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,764.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":241},"geometry":null},{"type":"Feature","id":242,"properties":{"Name":"Shanus,Joel M","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,768.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":242},"geometry":null},{"type":"Feature","id":243,"properties":{"Name":"Sharpe,Haskell B","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,765.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":243},"geometry":null},{"type":"Feature","id":244,"properties":{"Name":"Unterstein,Jeffrey Michael","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,767.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":244},"geometry":null},{"type":"Feature","id":245,"properties":{"Name":"Walaszek,Michael James","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$43,043.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":245},"geometry":null},{"type":"Feature","id":246,"properties":{"Name":"White,Nathaniel Edward","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,766.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":246},"geometry":null},{"type":"Feature","id":247,"properties":{"Name":"Williams,Phillip Eugene","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,765.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":247},"geometry":null},{"type":"Feature","id":248,"properties":{"Name":"Almond,Coy Ricky","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$50,841.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":248},"geometry":null},{"type":"Feature","id":249,"properties":{"Name":"Ayd,Daniel Jerome","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$49,353.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":249},"geometry":null},{"type":"Feature","id":250,"properties":{"Name":"Clark,Jonathan E. D.","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$49,339.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":250},"geometry":null},{"type":"Feature","id":251,"properties":{"Name":"Edwards,David Michael","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$51,347.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":251},"geometry":null},{"type":"Feature","id":252,"properties":{"Name":"Hounshell,Charles Joseph","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$49,331.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":252},"geometry":null},{"type":"Feature","id":253,"properties":{"Name":"Leathers,Amber Lynn","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$49,351.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":253},"geometry":null},{"type":"Feature","id":254,"properties":{"Name":"Freeman,Daniel Oliver","Unit":"Aviation","Dept":"Oper - Airside","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":254},"geometry":null},{"type":"Feature","id":255,"properties":{"Name":"Judon Jr,Herbert L.","Unit":"Aviation","Dept":"Oper - Executive","Job_Title":"Ast Aviation Dir Development","Annual_Rt":"$138,649.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":255},"geometry":null},{"type":"Feature","id":256,"properties":{"Name":"Topel,Robert William","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Oper Mgr Landside","Annual_Rt":"$83,947.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":256},"geometry":null},{"type":"Feature","id":257,"properties":{"Name":"Ali,Hassan","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,781.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":257},"geometry":null},{"type":"Feature","id":258,"properties":{"Name":"Burney,Gregory Marshalle","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,782.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":258},"geometry":null},{"type":"Feature","id":259,"properties":{"Name":"Fox,Tijuana Monique","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,768.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":259},"geometry":null},{"type":"Feature","id":260,"properties":{"Name":"Pappas,Dennis Anthony","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,782.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":260},"geometry":null},{"type":"Feature","id":261,"properties":{"Name":"Settles,Vincent Wayne","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,782.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":261},"geometry":null},{"type":"Feature","id":262,"properties":{"Name":"Toro,Heriberto","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,783.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":262},"geometry":null},{"type":"Feature","id":263,"properties":{"Name":"Tyson Jr,Oscar Anthony","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Operations Officer","Annual_Rt":"$41,783.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":263},"geometry":null},{"type":"Feature","id":264,"properties":{"Name":"Nwokocha,Ifeanyi Don","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$49,334.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":264},"geometry":null},{"type":"Feature","id":265,"properties":{"Name":"Regeis,John Anton","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$50,845.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":265},"geometry":null},{"type":"Feature","id":266,"properties":{"Name":"Richmond,Vanessa Lynn","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$51,736.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":266},"geometry":null},{"type":"Feature","id":267,"properties":{"Name":"Taylor,Susan M","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$57,953.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":267},"geometry":null},{"type":"Feature","id":268,"properties":{"Name":"Wingo,Derek J","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Operations Supervisor","Annual_Rt":"$49,353.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":268},"geometry":null},{"type":"Feature","id":269,"properties":{"Name":"Aaron,Tracey Renard","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":269},"geometry":null},{"type":"Feature","id":270,"properties":{"Name":"Adams,Eric Lamont","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":270},"geometry":null},{"type":"Feature","id":271,"properties":{"Name":"Alamirew,Getachew","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":"$31,585.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":271},"geometry":null},{"type":"Feature","id":272,"properties":{"Name":"Alexis,Frankie Gerard","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":272},"geometry":null},{"type":"Feature","id":273,"properties":{"Name":"Allen,Laurence Edward","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":273},"geometry":null},{"type":"Feature","id":274,"properties":{"Name":"Alvarado,Carlos Edgar","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":"$31,586.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":274},"geometry":null},{"type":"Feature","id":275,"properties":{"Name":"Anderson Jr,Leroy","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":275},"geometry":null},{"type":"Feature","id":276,"properties":{"Name":"Andrews,Willie","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":276},"geometry":null},{"type":"Feature","id":277,"properties":{"Name":"Asfaha,Tebe","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":"$31,599.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":277},"geometry":null},{"type":"Feature","id":278,"properties":{"Name":"Auty,Robert E","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":278},"geometry":null},{"type":"Feature","id":279,"properties":{"Name":"Barkley,John Stephen","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":279},"geometry":null},{"type":"Feature","id":280,"properties":{"Name":"Barksdale-Byfield,LaShawn Shere","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":280},"geometry":null},{"type":"Feature","id":281,"properties":{"Name":"Belk Jr,Raynard Louis","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":281},"geometry":null},{"type":"Feature","id":282,"properties":{"Name":"Benjamin,Samuel","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":282},"geometry":null},{"type":"Feature","id":283,"properties":{"Name":"Black,Celeste Louise","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":283},"geometry":null},{"type":"Feature","id":284,"properties":{"Name":"Brentley,Tristan Breyale","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":284},"geometry":null},{"type":"Feature","id":285,"properties":{"Name":"Brereton II,Earl","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":285},"geometry":null},{"type":"Feature","id":286,"properties":{"Name":"Broadie,Eric M","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":286},"geometry":null},{"type":"Feature","id":287,"properties":{"Name":"Brown II,Paul","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":287},"geometry":null},{"type":"Feature","id":288,"properties":{"Name":"Brown,Dawn Louise","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":288},"geometry":null},{"type":"Feature","id":289,"properties":{"Name":"Brown,Ivory Wilson","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":"$31,578.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":289},"geometry":null},{"type":"Feature","id":290,"properties":{"Name":"Bruku,Kwasi","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":290},"geometry":null},{"type":"Feature","id":291,"properties":{"Name":"Callender Jr,Thomas Eugene","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":291},"geometry":null},{"type":"Feature","id":292,"properties":{"Name":"Campbell,Charnisa","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":292},"geometry":null},{"type":"Feature","id":293,"properties":{"Name":"Cartus,Ronald Reginald","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":293},"geometry":null},{"type":"Feature","id":294,"properties":{"Name":"Cedeno,Jimmy H","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":294},"geometry":null},{"type":"Feature","id":295,"properties":{"Name":"Clemmer,Nancy Randolph","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":295},"geometry":null},{"type":"Feature","id":296,"properties":{"Name":"Collins,Zina Bonita","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":296},"geometry":null},{"type":"Feature","id":297,"properties":{"Name":"Connor,Larry Darnell","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":297},"geometry":null},{"type":"Feature","id":298,"properties":{"Name":"Crawford,Cynthia Womack","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":298},"geometry":null},{"type":"Feature","id":299,"properties":{"Name":"Curry Jones,Whitney Simone","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":299},"geometry":null},{"type":"Feature","id":300,"properties":{"Name":"Davis,Albert","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":300},"geometry":null},{"type":"Feature","id":301,"properties":{"Name":"Dollard,Sylvia","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":301},"geometry":null},{"type":"Feature","id":302,"properties":{"Name":"Dublin,LaTasha Antoinette","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":302},"geometry":null},{"type":"Feature","id":303,"properties":{"Name":"Duncan,Lillie M","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":"$32,229.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":303},"geometry":null},{"type":"Feature","id":304,"properties":{"Name":"Earl,William Sanders","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":304},"geometry":null},{"type":"Feature","id":305,"properties":{"Name":"Foster Sr,Johnny","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":305},"geometry":null},{"type":"Feature","id":306,"properties":{"Name":"Fox,Jimmy Lee","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":306},"geometry":null},{"type":"Feature","id":307,"properties":{"Name":"Fryer,Henry Bernard","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":307},"geometry":null},{"type":"Feature","id":308,"properties":{"Name":"Funderburk,Kenneth DeShawn","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":308},"geometry":null},{"type":"Feature","id":309,"properties":{"Name":"Gary,Victoria Dykes","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":309},"geometry":null},{"type":"Feature","id":310,"properties":{"Name":"Gaskins,Archie Lee","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":310},"geometry":null},{"type":"Feature","id":311,"properties":{"Name":"Gaston,Fritz G","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":311},"geometry":null},{"type":"Feature","id":312,"properties":{"Name":"Gilmore,Tammy M","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":312},"geometry":null},{"type":"Feature","id":313,"properties":{"Name":"Glenn,Carla Lanette","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":313},"geometry":null},{"type":"Feature","id":314,"properties":{"Name":"Glispie,Wayne Steven","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":314},"geometry":null},{"type":"Feature","id":315,"properties":{"Name":"Goodwin,Little John","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":315},"geometry":null},{"type":"Feature","id":316,"properties":{"Name":"Grace,Nekeya Antionette","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":316},"geometry":null},{"type":"Feature","id":317,"properties":{"Name":"Graham,Tanya L","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":317},"geometry":null},{"type":"Feature","id":318,"properties":{"Name":"Grier,Rickey","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":"$36,522.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":318},"geometry":null},{"type":"Feature","id":319,"properties":{"Name":"Grogan,William Lee","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":319},"geometry":null},{"type":"Feature","id":320,"properties":{"Name":"Gunn,Gwendolyn","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":320},"geometry":null},{"type":"Feature","id":321,"properties":{"Name":"Hailu,Sebsbie Dege","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":321},"geometry":null},{"type":"Feature","id":322,"properties":{"Name":"Hamilton,Rondal Samuel","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":322},"geometry":null},{"type":"Feature","id":323,"properties":{"Name":"Hammonds,Lena Crittington","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":323},"geometry":null},{"type":"Feature","id":324,"properties":{"Name":"Harris,Ronald","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":324},"geometry":null},{"type":"Feature","id":325,"properties":{"Name":"Harris,Shauna Catrece","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":"$31,585.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":325},"geometry":null},{"type":"Feature","id":326,"properties":{"Name":"Henderson Jr,George Wesley","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":326},"geometry":null},{"type":"Feature","id":327,"properties":{"Name":"Hojnacki,Frank Alois","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":327},"geometry":null},{"type":"Feature","id":328,"properties":{"Name":"Holmes,Hazel","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":328},"geometry":null},{"type":"Feature","id":329,"properties":{"Name":"Holmes,John J","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":329},"geometry":null},{"type":"Feature","id":330,"properties":{"Name":"Holmes,Tabatha Marietta","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":330},"geometry":null},{"type":"Feature","id":331,"properties":{"Name":"Ingram,Lola Trenell","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":331},"geometry":null},{"type":"Feature","id":332,"properties":{"Name":"Jackson,Louis William","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":332},"geometry":null},{"type":"Feature","id":333,"properties":{"Name":"James,Sandra Robertson","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":333},"geometry":null},{"type":"Feature","id":334,"properties":{"Name":"Jenkins,Eugene Samuel","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":334},"geometry":null},{"type":"Feature","id":335,"properties":{"Name":"Jennings Jr,Vernon Elvis","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":335},"geometry":null},{"type":"Feature","id":336,"properties":{"Name":"Johnson,Tomekya Shirell","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":336},"geometry":null},{"type":"Feature","id":337,"properties":{"Name":"Jones,Christine","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":337},"geometry":null},{"type":"Feature","id":338,"properties":{"Name":"June,Frankie Ann","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":338},"geometry":null},{"type":"Feature","id":339,"properties":{"Name":"Key,Malissa Evetta","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":339},"geometry":null},{"type":"Feature","id":340,"properties":{"Name":"King,Vonell E.","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":340},"geometry":null},{"type":"Feature","id":341,"properties":{"Name":"Knotts,Sonya Leshon","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":341},"geometry":null},{"type":"Feature","id":342,"properties":{"Name":"Lahay,Kenneth E","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":342},"geometry":null},{"type":"Feature","id":343,"properties":{"Name":"Lawrence,Kip Shabazz","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":343},"geometry":null},{"type":"Feature","id":344,"properties":{"Name":"Lee Sr,Rodney Antonia","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":344},"geometry":null},{"type":"Feature","id":345,"properties":{"Name":"Lewis,John Edward","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":345},"geometry":null},{"type":"Feature","id":346,"properties":{"Name":"Ligenza II,John","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":346},"geometry":null},{"type":"Feature","id":347,"properties":{"Name":"Lofton,Phillip Andrew","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":347},"geometry":null},{"type":"Feature","id":348,"properties":{"Name":"Long,Tiffany Deon","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":348},"geometry":null},{"type":"Feature","id":349,"properties":{"Name":"Martin,Norris DeVonde","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":349},"geometry":null},{"type":"Feature","id":350,"properties":{"Name":"Massey,B F","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":350},"geometry":null},{"type":"Feature","id":351,"properties":{"Name":"McAlister,Gert Raymond","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":351},"geometry":null},{"type":"Feature","id":352,"properties":{"Name":"McNeal,John","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":352},"geometry":null},{"type":"Feature","id":353,"properties":{"Name":"Melton,Brenda","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":353},"geometry":null},{"type":"Feature","id":354,"properties":{"Name":"Merritt,Ruth","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":354},"geometry":null},{"type":"Feature","id":355,"properties":{"Name":"Moore,Gia Tia Mia Mya","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":355},"geometry":null},{"type":"Feature","id":356,"properties":{"Name":"Morais,Michael Milton","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":356},"geometry":null},{"type":"Feature","id":357,"properties":{"Name":"Morgan,Priscilla Nell","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":"$32,551.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":357},"geometry":null},{"type":"Feature","id":358,"properties":{"Name":"Murillo,Manuel","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":358},"geometry":null},{"type":"Feature","id":359,"properties":{"Name":"Ngiruwonsanga,Jean Marie V M","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":359},"geometry":null},{"type":"Feature","id":360,"properties":{"Name":"Outen,Louis Levern","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":360},"geometry":null},{"type":"Feature","id":361,"properties":{"Name":"Phillips,Ronald Alan","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":361},"geometry":null},{"type":"Feature","id":362,"properties":{"Name":"Poindexter,Yonnette c","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":362},"geometry":null},{"type":"Feature","id":363,"properties":{"Name":"Powell,Christina K","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":363},"geometry":null},{"type":"Feature","id":364,"properties":{"Name":"Powell-White,Sonya Yvette","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":364},"geometry":null},{"type":"Feature","id":365,"properties":{"Name":"Robinson,Annie Ruth","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":365},"geometry":null},{"type":"Feature","id":366,"properties":{"Name":"Robinson,Benny Tywann","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":366},"geometry":null},{"type":"Feature","id":367,"properties":{"Name":"Shields,Robert Wayne","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":367},"geometry":null},{"type":"Feature","id":368,"properties":{"Name":"Simmons,Tirzah Vedette","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":368},"geometry":null},{"type":"Feature","id":369,"properties":{"Name":"Simpson,LaVerne Darlene","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":369},"geometry":null},{"type":"Feature","id":370,"properties":{"Name":"Singletary,Cornielus","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":370},"geometry":null},{"type":"Feature","id":371,"properties":{"Name":"Smith,Carriett","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":371},"geometry":null},{"type":"Feature","id":372,"properties":{"Name":"Smith,Cassandra F","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":372},"geometry":null},{"type":"Feature","id":373,"properties":{"Name":"Sowell,Shunda Renee","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":373},"geometry":null},{"type":"Feature","id":374,"properties":{"Name":"Stevenson,Patrice Monchelle","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":374},"geometry":null},{"type":"Feature","id":375,"properties":{"Name":"Taylor,Timothy D","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":375},"geometry":null},{"type":"Feature","id":376,"properties":{"Name":"Thompson,Tony Lee","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":376},"geometry":null},{"type":"Feature","id":377,"properties":{"Name":"Turner,Kendall Lamont","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":377},"geometry":null},{"type":"Feature","id":378,"properties":{"Name":"Vaughan,Sandra Anna","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":378},"geometry":null},{"type":"Feature","id":379,"properties":{"Name":"Washington,Angela Renee","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":379},"geometry":null},{"type":"Feature","id":380,"properties":{"Name":"Washington,Germaine M.","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":380},"geometry":null},{"type":"Feature","id":381,"properties":{"Name":"Washington,Shantal Monique","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":381},"geometry":null},{"type":"Feature","id":382,"properties":{"Name":"Wilson,Barbara Denise","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":"$31,586.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":382},"geometry":null},{"type":"Feature","id":383,"properties":{"Name":"Wilson,Bobbie Jean","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":383},"geometry":null},{"type":"Feature","id":384,"properties":{"Name":"Wilson,Marjorie Cecelia","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"F","OBJECTID":384},"geometry":null},{"type":"Feature","id":385,"properties":{"Name":"Winston,David C.","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":385},"geometry":null},{"type":"Feature","id":386,"properties":{"Name":"Wynnberry,Ronald","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":null,"Hrly_Rate":"$14.54 ","RegTemp":"T","Full/Part":"P","OBJECTID":386},"geometry":null},{"type":"Feature","id":387,"properties":{"Name":"Young,Alicia Jean","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Airport Shuttlebus Driver","Annual_Rt":"$31,584.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":387},"geometry":null},{"type":"Feature","id":388,"properties":{"Name":"Blackmoore Jr,Sylvester","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Equipment Operator II","Annual_Rt":"$36,889.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":388},"geometry":null},{"type":"Feature","id":389,"properties":{"Name":"Damon Jr,Lewis","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Equipment Operator II","Annual_Rt":"$38,387.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":389},"geometry":null},{"type":"Feature","id":390,"properties":{"Name":"Davis,Charles Harold","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Equipment Operator II","Annual_Rt":"$37,617.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":390},"geometry":null},{"type":"Feature","id":391,"properties":{"Name":"Garner,David Scott","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Equipment Operator II","Annual_Rt":"$37,509.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":391},"geometry":null},{"type":"Feature","id":392,"properties":{"Name":"Mills Jr,Bernard","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Equipment Operator II","Annual_Rt":"$36,166.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":392},"geometry":null},{"type":"Feature","id":393,"properties":{"Name":"Palmer,James Laffenus","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Equipment Operator II","Annual_Rt":"$37,847.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":393},"geometry":null},{"type":"Feature","id":394,"properties":{"Name":"Wray,Terry L","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Equipment Operator II","Annual_Rt":null,"Hrly_Rate":"$17.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":394},"geometry":null},{"type":"Feature","id":395,"properties":{"Name":"Orr,Lea Smith","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Field Operations Supervisor","Annual_Rt":"$54,413.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":395},"geometry":null},{"type":"Feature","id":396,"properties":{"Name":"Boston,Valerie M.","Unit":"Aviation","Dept":"Oper - Parking","Job_Title":"Operations Supervisor","Annual_Rt":"$67,090.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":396},"geometry":null},{"type":"Feature","id":397,"properties":{"Name":"Edge,Martha Todd","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Mgr Airside","Annual_Rt":"$77,113.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":397},"geometry":null},{"type":"Feature","id":398,"properties":{"Name":"Akovi,Adje K","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Officer","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":398},"geometry":null},{"type":"Feature","id":399,"properties":{"Name":"Avila,Ambrosia Martinez","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Officer","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":399},"geometry":null},{"type":"Feature","id":400,"properties":{"Name":"Clark,Lonna L","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Officer","Annual_Rt":null,"Hrly_Rate":"$11.25 ","RegTemp":"T","Full/Part":"P","OBJECTID":400},"geometry":null},{"type":"Feature","id":401,"properties":{"Name":"Duarte,Hozana F","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Officer","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":401},"geometry":null},{"type":"Feature","id":402,"properties":{"Name":"Holtsclaw,Helen R.","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Officer","Annual_Rt":null,"Hrly_Rate":"$11.25 ","RegTemp":"T","Full/Part":"P","OBJECTID":402},"geometry":null},{"type":"Feature","id":403,"properties":{"Name":"Lasheb,Dihya Kahina","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Officer","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":403},"geometry":null},{"type":"Feature","id":404,"properties":{"Name":"Le,Dai Si","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Officer","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":404},"geometry":null},{"type":"Feature","id":405,"properties":{"Name":"Marques,Luiza de Melo","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Officer","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":405},"geometry":null},{"type":"Feature","id":406,"properties":{"Name":"Sharpe,Paris","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Officer","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":406},"geometry":null},{"type":"Feature","id":407,"properties":{"Name":"Silva,Lucas","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Officer","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":407},"geometry":null},{"type":"Feature","id":408,"properties":{"Name":"Suter,Frank Joseph","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Officer","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":408},"geometry":null},{"type":"Feature","id":409,"properties":{"Name":"Sydney,Karl","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Officer","Annual_Rt":null,"Hrly_Rate":"$10.50 ","RegTemp":"T","Full/Part":"P","OBJECTID":409},"geometry":null},{"type":"Feature","id":410,"properties":{"Name":"Taylor,Daniela Ilse","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Airport Operations Officer","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":410},"geometry":null},{"type":"Feature","id":411,"properties":{"Name":"Brucker,Mark William","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$11.88 ","RegTemp":"T","Full/Part":"P","OBJECTID":411},"geometry":null},{"type":"Feature","id":412,"properties":{"Name":"Lamb,John Douglas","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$11.88 ","RegTemp":"T","Full/Part":"P","OBJECTID":412},"geometry":null},{"type":"Feature","id":413,"properties":{"Name":"Mitchell,Joan Elizabeth","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$11.88 ","RegTemp":"T","Full/Part":"P","OBJECTID":413},"geometry":null},{"type":"Feature","id":414,"properties":{"Name":"Mitchell,Joanerry Elizabeth","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$11.88 ","RegTemp":"T","Full/Part":"P","OBJECTID":414},"geometry":null},{"type":"Feature","id":415,"properties":{"Name":"Roddey,Annie","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$11.88 ","RegTemp":"T","Full/Part":"P","OBJECTID":415},"geometry":null},{"type":"Feature","id":416,"properties":{"Name":"Twisdale,Barbara Edmonds","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$11.88 ","RegTemp":"T","Full/Part":"P","OBJECTID":416},"geometry":null},{"type":"Feature","id":417,"properties":{"Name":"Hightower,Doretta","Unit":"Aviation","Dept":"Oper - Terminal Ops","Job_Title":"Office Assistant IV","Annual_Rt":"$35,004.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":417},"geometry":null},{"type":"Feature","id":418,"properties":{"Name":"Cleckner,Haley Leanna","Unit":"Aviation","Dept":"Tech - Customer Svc & App","Job_Title":"GIS Analyst","Annual_Rt":"$58,251.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":418},"geometry":null},{"type":"Feature","id":419,"properties":{"Name":"Goins,Ashley D","Unit":"Aviation","Dept":"Tech - Customer Svc & App","Job_Title":"Information Tech Administrator","Annual_Rt":"$78,202.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":419},"geometry":null},{"type":"Feature","id":420,"properties":{"Name":"Caudle,Stacy L","Unit":"Aviation","Dept":"Tech - Customer Svc & App","Job_Title":"Software Developer Intermediat","Annual_Rt":"$67,934.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":420},"geometry":null},{"type":"Feature","id":421,"properties":{"Name":"Drum,Grey L","Unit":"Aviation","Dept":"Tech - Engineering & Operation","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$82,099.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":421},"geometry":null},{"type":"Feature","id":422,"properties":{"Name":"Roberts,David","Unit":"Aviation","Dept":"Tech - Engineering & Operation","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$79,488.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":422},"geometry":null},{"type":"Feature","id":423,"properties":{"Name":"Cisine,Ted","Unit":"Aviation","Dept":"Tech - Engineering & Operation","Job_Title":"Business Systems Manager","Annual_Rt":"$93,901.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":423},"geometry":null},{"type":"Feature","id":424,"properties":{"Name":"Hobbs,Justin W","Unit":"Aviation","Dept":"Tech - Engineering & Operation","Job_Title":"IT Communications Technician","Annual_Rt":"$56,100.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":424},"geometry":null},{"type":"Feature","id":425,"properties":{"Name":"Reece,Brandy Lee","Unit":"Aviation","Dept":"Tech - Engineering & Operation","Job_Title":"IT Communications Technician","Annual_Rt":"$52,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":425},"geometry":null},{"type":"Feature","id":426,"properties":{"Name":"Judd,Daniel","Unit":"Aviation","Dept":"Tech - Engineering & Operation","Job_Title":"Network Commun Integrator","Annual_Rt":"$70,380.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":426},"geometry":null},{"type":"Feature","id":427,"properties":{"Name":"Schwinghammer,Gerard J.","Unit":"Aviation","Dept":"Tech - Executive","Job_Title":"Administrative Officer V","Annual_Rt":"$112,200.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":427},"geometry":null},{"type":"Feature","id":428,"properties":{"Name":"Burris,Bonnie Jo","Unit":"Budget and Evaluation","Dept":"Budget & Evaluation","Job_Title":"Administrative Officer II","Annual_Rt":"$46,429.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":428},"geometry":null},{"type":"Feature","id":429,"properties":{"Name":"Smith,Pamela B","Unit":"Budget and Evaluation","Dept":"Budget & Evaluation","Job_Title":"Administrative Officer III","Annual_Rt":"$54,658.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":429},"geometry":null},{"type":"Feature","id":430,"properties":{"Name":"Amos,Justin M","Unit":"Budget and Evaluation","Dept":"Budget & Evaluation","Job_Title":"Budget & Evaluation Analyst","Annual_Rt":"$72,450.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":430},"geometry":null},{"type":"Feature","id":431,"properties":{"Name":"Dasch,Alicia Renee","Unit":"Budget and Evaluation","Dept":"Budget & Evaluation","Job_Title":"Budget & Evaluation Analyst","Annual_Rt":"$72,260.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":431},"geometry":null},{"type":"Feature","id":432,"properties":{"Name":"Gordon,Melia T J","Unit":"Budget and Evaluation","Dept":"Budget & Evaluation","Job_Title":"Budget & Evaluation Analyst","Annual_Rt":"$72,450.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":432},"geometry":null},{"type":"Feature","id":433,"properties":{"Name":"Heath,Phyllis Walls","Unit":"Budget and Evaluation","Dept":"Budget & Evaluation","Job_Title":"Budget & Evaluation Analyst","Annual_Rt":"$74,595.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":433},"geometry":null},{"type":"Feature","id":434,"properties":{"Name":"Richards,Sarah R","Unit":"Budget and Evaluation","Dept":"Budget & Evaluation","Job_Title":"Budget & Evaluation Analyst","Annual_Rt":"$84,660.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":434},"geometry":null},{"type":"Feature","id":435,"properties":{"Name":"Whichard,Karen","Unit":"Budget and Evaluation","Dept":"Budget & Evaluation","Job_Title":"Budget & Evaluation Analyst","Annual_Rt":"$72,450.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":435},"geometry":null},{"type":"Feature","id":436,"properties":{"Name":"Wood,Rachel Smithson","Unit":"Budget and Evaluation","Dept":"Budget & Evaluation","Job_Title":"Budget & Evaluation Analyst","Annual_Rt":"$70,844.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":436},"geometry":null},{"type":"Feature","id":437,"properties":{"Name":"Harrington,Randy J","Unit":"Budget and Evaluation","Dept":"Budget & Evaluation","Job_Title":"Budget & Evaluation Dir","Annual_Rt":"$151,368.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":437},"geometry":null},{"type":"Feature","id":438,"properties":{"Name":"Hershberger,Eric A","Unit":"Budget and Evaluation","Dept":"Budget & Evaluation","Job_Title":"Budget & Evaluation Manager","Annual_Rt":"$107,432.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":438},"geometry":null},{"type":"Feature","id":439,"properties":{"Name":"McCoy,Kathryn Susan Densford","Unit":"Budget and Evaluation","Dept":"Budget & Evaluation","Job_Title":"Budget & Evaluation Manager","Annual_Rt":"$101,018.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":439},"geometry":null},{"type":"Feature","id":440,"properties":{"Name":"Parks,William E","Unit":"Budget and Evaluation","Dept":"Budget & Evaluation","Job_Title":"Budget & Evaluation Manager","Annual_Rt":"$97,229.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":440},"geometry":null},{"type":"Feature","id":441,"properties":{"Name":"Smith,Ethan Taft","Unit":"CATS","Dept":"Administration Division","Job_Title":"Accountant II","Annual_Rt":"$64,515.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":441},"geometry":null},{"type":"Feature","id":442,"properties":{"Name":"Spadafora,Paul","Unit":"CATS","Dept":"Administration Division","Job_Title":"Accountant II","Annual_Rt":"$65,306.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":442},"geometry":null},{"type":"Feature","id":443,"properties":{"Name":"Morris,Tiffany","Unit":"CATS","Dept":"Administration Division","Job_Title":"Accountant IV","Annual_Rt":"$91,800.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":443},"geometry":null},{"type":"Feature","id":444,"properties":{"Name":"Joyner,Shirell Denise","Unit":"CATS","Dept":"Administration Division","Job_Title":"Administrative Officer III","Annual_Rt":"$58,014.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":444},"geometry":null},{"type":"Feature","id":445,"properties":{"Name":"Faulk,Austin Price","Unit":"CATS","Dept":"Administration Division","Job_Title":"Administrative Officer V","Annual_Rt":"$97,594.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":445},"geometry":null},{"type":"Feature","id":446,"properties":{"Name":"Hunt,Shawn","Unit":"CATS","Dept":"Administration Division","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$71,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":446},"geometry":null},{"type":"Feature","id":447,"properties":{"Name":"Rowland,Laura Michelle","Unit":"CATS","Dept":"Administration Division","Job_Title":"Management Analyst","Annual_Rt":"$55,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":447},"geometry":null},{"type":"Feature","id":448,"properties":{"Name":"Hawkins,Genell T.","Unit":"CATS","Dept":"Administration Division","Job_Title":"Office Assistant V","Annual_Rt":"$42,106.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":448},"geometry":null},{"type":"Feature","id":449,"properties":{"Name":"Decker,Brandy Kirsch","Unit":"CATS","Dept":"Administration Division","Job_Title":"Transit Budget Manager","Annual_Rt":"$76,846.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":449},"geometry":null},{"type":"Feature","id":450,"properties":{"Name":"Hershberger,Melissa Ann","Unit":"CATS","Dept":"Administration Division","Job_Title":"Transit Budget Manager","Annual_Rt":"$77,916.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":450},"geometry":null},{"type":"Feature","id":451,"properties":{"Name":"Pereira,Dymphna P","Unit":"CATS","Dept":"Administration Division","Job_Title":"Transit Bus Svcs Manager","Annual_Rt":"$124,433.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":451},"geometry":null},{"type":"Feature","id":452,"properties":{"Name":"Lanier,Jessica Robinson","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv Asst Sr","Annual_Rt":"$39,187.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":452},"geometry":null},{"type":"Feature","id":453,"properties":{"Name":"Alston,Donna Miller","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$32,038.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":453},"geometry":null},{"type":"Feature","id":454,"properties":{"Name":"Alvarado,Ruth Del Carmen","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$30,534.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":454},"geometry":null},{"type":"Feature","id":455,"properties":{"Name":"Blakeney,Zaccorey E","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$30,534.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":455},"geometry":null},{"type":"Feature","id":456,"properties":{"Name":"Christopher,Kerry Marie","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$34,363.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":456},"geometry":null},{"type":"Feature","id":457,"properties":{"Name":"Escalante,Milagro Ana Paola","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,144.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":457},"geometry":null},{"type":"Feature","id":458,"properties":{"Name":"Fletcher,Robin Tranell","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$39,667.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":458},"geometry":null},{"type":"Feature","id":459,"properties":{"Name":"Francis,Deidre Camille","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,602.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":459},"geometry":null},{"type":"Feature","id":460,"properties":{"Name":"Grier-Robinson,Leigh-Ashley Elaine","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,144.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":460},"geometry":null},{"type":"Feature","id":461,"properties":{"Name":"Griffin,Sherrilynn O","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$32,038.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":461},"geometry":null},{"type":"Feature","id":462,"properties":{"Name":"Hickling,Kurt Antoine","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,450.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":462},"geometry":null},{"type":"Feature","id":463,"properties":{"Name":"Lee,Kayla Denea","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,144.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":463},"geometry":null},{"type":"Feature","id":464,"properties":{"Name":"Miller,Bridgette K","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,144.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":464},"geometry":null},{"type":"Feature","id":465,"properties":{"Name":"ONele,Kimberly Amelia","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,602.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":465},"geometry":null},{"type":"Feature","id":466,"properties":{"Name":"Simmons,Donald R","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,965.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":466},"geometry":null},{"type":"Feature","id":467,"properties":{"Name":"Washington,Roberta Lynne","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$32,879.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":467},"geometry":null},{"type":"Feature","id":468,"properties":{"Name":"Young,Pierre T","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$32,079.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":468},"geometry":null},{"type":"Feature","id":469,"properties":{"Name":"Carter,Shirley M.","Unit":"CATS","Dept":"Customer Service","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$52,622.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":469},"geometry":null},{"type":"Feature","id":470,"properties":{"Name":"Cote,Grace OCallaghan","Unit":"CATS","Dept":"Development Administration","Job_Title":"Administrative Officer I","Annual_Rt":null,"Hrly_Rate":"$20.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":470},"geometry":null},{"type":"Feature","id":471,"properties":{"Name":"Lombardi,Pallas Christine","Unit":"CATS","Dept":"Development Administration","Job_Title":"Transit Arts Program Manager","Annual_Rt":"$77,667.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":471},"geometry":null},{"type":"Feature","id":472,"properties":{"Name":"Muth,John M","Unit":"CATS","Dept":"Development Administration","Job_Title":"Transit Dep Dir of Development","Annual_Rt":"$161,522.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":472},"geometry":null},{"type":"Feature","id":473,"properties":{"Name":"McDonald II,E D","Unit":"CATS","Dept":"Development Administration","Job_Title":"Transit Planning Manager","Annual_Rt":"$104,193.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":473},"geometry":null},{"type":"Feature","id":474,"properties":{"Name":"Feltman,J. David","Unit":"CATS","Dept":"Development Administration","Job_Title":"Transit Project Dev Manager","Annual_Rt":"$103,626.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":474},"geometry":null},{"type":"Feature","id":475,"properties":{"Name":"Rose Jr,John E","Unit":"CATS","Dept":"Development Administration","Job_Title":"Transportation Planner II","Annual_Rt":"$73,511.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":475},"geometry":null},{"type":"Feature","id":476,"properties":{"Name":"Votaw,Martine M","Unit":"CATS","Dept":"Development Administration","Job_Title":"Transportation Planner II","Annual_Rt":"$79,844.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":476},"geometry":null},{"type":"Feature","id":477,"properties":{"Name":"Traywick,Penny Lee","Unit":"CATS","Dept":"Development Engineering","Job_Title":"Office Assistant IV","Annual_Rt":"$38,673.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":477},"geometry":null},{"type":"Feature","id":478,"properties":{"Name":"Stegall,Kathryn Mills","Unit":"CATS","Dept":"Development NE Corridor","Job_Title":"Administrative Officer II","Annual_Rt":"$48,775.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":478},"geometry":null},{"type":"Feature","id":479,"properties":{"Name":"Recher,William K.","Unit":"CATS","Dept":"Development NE Corridor","Job_Title":"Construction Manager","Annual_Rt":null,"Hrly_Rate":"$33.40 ","RegTemp":"T","Full/Part":"F","OBJECTID":479},"geometry":null},{"type":"Feature","id":480,"properties":{"Name":"Thomson,Theodosia C","Unit":"CATS","Dept":"Development NE Corridor","Job_Title":"Office Assistant IV","Annual_Rt":"$39,091.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":480},"geometry":null},{"type":"Feature","id":481,"properties":{"Name":"Brim,Jill Marie","Unit":"CATS","Dept":"Development NE Corridor","Job_Title":"Senior Engineer","Annual_Rt":"$83,723.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":481},"geometry":null},{"type":"Feature","id":482,"properties":{"Name":"Thorne,William T","Unit":"CATS","Dept":"Development NE Corridor","Job_Title":"Senior Engineer","Annual_Rt":"$80,743.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":482},"geometry":null},{"type":"Feature","id":483,"properties":{"Name":"Vang,Tou B","Unit":"CATS","Dept":"Development NE Corridor","Job_Title":"Senior Engineer","Annual_Rt":"$84,538.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":483},"geometry":null},{"type":"Feature","id":484,"properties":{"Name":"Mock,Andrew","Unit":"CATS","Dept":"Development NE Corridor","Job_Title":"Transit Corridor Asst Proj Mgr","Annual_Rt":"$81,352.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":484},"geometry":null},{"type":"Feature","id":485,"properties":{"Name":"Rogers,M Daniel","Unit":"CATS","Dept":"Development NE Corridor","Job_Title":"Transit Corridor Sen Proj Mgr","Annual_Rt":"$115,440.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":485},"geometry":null},{"type":"Feature","id":486,"properties":{"Name":"Goforth,Kelly R","Unit":"CATS","Dept":"Development NE Corridor","Job_Title":"Transit Project Dev Manager","Annual_Rt":"$102,295.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":486},"geometry":null},{"type":"Feature","id":487,"properties":{"Name":"Lawrence,Jason B","Unit":"CATS","Dept":"Development NE Corridor","Job_Title":"Transportation Planner II","Annual_Rt":"$69,415.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":487},"geometry":null},{"type":"Feature","id":488,"properties":{"Name":"Nadolny,Brian M","Unit":"CATS","Dept":"Development North Corridor","Job_Title":"Transit Corridor Asst Proj Mgr","Annual_Rt":"$84,753.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":488},"geometry":null},{"type":"Feature","id":489,"properties":{"Name":"Braswell,Wanda G","Unit":"CATS","Dept":"Executive","Job_Title":"Administrative Officer II","Annual_Rt":"$55,932.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":489},"geometry":null},{"type":"Feature","id":490,"properties":{"Name":"Flowers,Carolyn A","Unit":"CATS","Dept":"Executive","Job_Title":"Transit Director","Annual_Rt":"$217,807.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":490},"geometry":null},{"type":"Feature","id":491,"properties":{"Name":"Burrill,Phyllis A.","Unit":"CATS","Dept":"Facilities","Job_Title":"Administrative Officer I","Annual_Rt":"$42,666.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":491},"geometry":null},{"type":"Feature","id":492,"properties":{"Name":"Holden,Robert J","Unit":"CATS","Dept":"Facilities","Job_Title":"Asst Field Operations Supv","Annual_Rt":"$49,157.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":492},"geometry":null},{"type":"Feature","id":493,"properties":{"Name":"Mayfield,Frederick","Unit":"CATS","Dept":"Facilities","Job_Title":"Building Maintenance Asst","Annual_Rt":"$30,887.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":493},"geometry":null},{"type":"Feature","id":494,"properties":{"Name":"Modrak,Nicholas James","Unit":"CATS","Dept":"Facilities","Job_Title":"Building Maintenance Asst","Annual_Rt":"$30,442.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":494},"geometry":null},{"type":"Feature","id":495,"properties":{"Name":"Booker,Bobby T","Unit":"CATS","Dept":"Facilities","Job_Title":"Equipment Operator I","Annual_Rt":"$31,326.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":495},"geometry":null},{"type":"Feature","id":496,"properties":{"Name":"Rice,Lucious M","Unit":"CATS","Dept":"Facilities","Job_Title":"Equipment Operator I","Annual_Rt":"$26,472.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":496},"geometry":null},{"type":"Feature","id":497,"properties":{"Name":"Wallace,Kevin Allen","Unit":"CATS","Dept":"Facilities","Job_Title":"Equipment Operator I","Annual_Rt":"$30,430.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":497},"geometry":null},{"type":"Feature","id":498,"properties":{"Name":"Early III,Anderson C","Unit":"CATS","Dept":"Facilities","Job_Title":"Facilities Services Coordinato","Annual_Rt":"$49,629.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":498},"geometry":null},{"type":"Feature","id":499,"properties":{"Name":"Pierson,John R","Unit":"CATS","Dept":"Facilities","Job_Title":"Facilities/Property Supervisor","Annual_Rt":"$63,219.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":499},"geometry":null},{"type":"Feature","id":500,"properties":{"Name":"Roland,Brent Kevin","Unit":"CATS","Dept":"Facilities","Job_Title":"Facilities/Property Supervisor","Annual_Rt":"$59,081.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":500},"geometry":null},{"type":"Feature","id":501,"properties":{"Name":"Washington,Laura Denise","Unit":"CATS","Dept":"Facilities","Job_Title":"Office Assistant IV","Annual_Rt":"$35,759.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":501},"geometry":null},{"type":"Feature","id":502,"properties":{"Name":"Warren,Mark Steven","Unit":"CATS","Dept":"Facilities","Job_Title":"Transit Oper Svc Mgr","Annual_Rt":"$89,250.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":502},"geometry":null},{"type":"Feature","id":503,"properties":{"Name":"McCauley,Iris","Unit":"CATS","Dept":"HR/CR","Job_Title":"Administrative Officer II","Annual_Rt":"$53,533.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":503},"geometry":null},{"type":"Feature","id":504,"properties":{"Name":"Phillips,Zettie Chunn","Unit":"CATS","Dept":"HR/CR","Job_Title":"Administrative Officer II","Annual_Rt":"$59,033.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":504},"geometry":null},{"type":"Feature","id":505,"properties":{"Name":"Watson,Terrence E.","Unit":"CATS","Dept":"HR/CR","Job_Title":"Administrative Officer II","Annual_Rt":"$54,256.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":505},"geometry":null},{"type":"Feature","id":506,"properties":{"Name":"Myers,Gracie P.","Unit":"CATS","Dept":"HR/CR","Job_Title":"Administrative Officer IV","Annual_Rt":"$84,203.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":506},"geometry":null},{"type":"Feature","id":507,"properties":{"Name":"Rouse Jr,Arlanda","Unit":"CATS","Dept":"HR/CR","Job_Title":"Administrative Officer IV","Annual_Rt":"$73,537.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":507},"geometry":null},{"type":"Feature","id":508,"properties":{"Name":"Fisher-Lee,Carmelita","Unit":"CATS","Dept":"HR/CR","Job_Title":"Office Assistant IV","Annual_Rt":"$36,469.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":508},"geometry":null},{"type":"Feature","id":509,"properties":{"Name":"Blackwell,Melissa M","Unit":"CATS","Dept":"Light Rail Administration","Job_Title":"Administrative Officer I","Annual_Rt":"$44,465.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":509},"geometry":null},{"type":"Feature","id":510,"properties":{"Name":"Lacagnina,Michael","Unit":"CATS","Dept":"Light Rail Administration","Job_Title":"Equipment Parts Manager","Annual_Rt":"$60,615.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":510},"geometry":null},{"type":"Feature","id":511,"properties":{"Name":"Candarini,Anthony Patrick","Unit":"CATS","Dept":"Light Rail Administration","Job_Title":"Light Rail Trans Sys Engineer","Annual_Rt":"$91,800.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":511},"geometry":null},{"type":"Feature","id":512,"properties":{"Name":"Levy,Anthony C","Unit":"CATS","Dept":"Light Rail Administration","Job_Title":"Management Analyst","Annual_Rt":"$58,821.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":512},"geometry":null},{"type":"Feature","id":513,"properties":{"Name":"Anthony,Robert Michael","Unit":"CATS","Dept":"Light Rail Administration","Job_Title":"Office Assistant IV","Annual_Rt":"$36,734.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":513},"geometry":null},{"type":"Feature","id":514,"properties":{"Name":"Roy,Lori A.","Unit":"CATS","Dept":"Light Rail Administration","Job_Title":"Purchasing Agent","Annual_Rt":"$49,168.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":514},"geometry":null},{"type":"Feature","id":515,"properties":{"Name":"Jenifer,Eric George","Unit":"CATS","Dept":"Light Rail Administration","Job_Title":"Storekeeper","Annual_Rt":"$33,931.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":515},"geometry":null},{"type":"Feature","id":516,"properties":{"Name":"Sickles,Jeffrey F","Unit":"CATS","Dept":"Light Rail Administration","Job_Title":"Storekeeper","Annual_Rt":"$36,434.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":516},"geometry":null},{"type":"Feature","id":517,"properties":{"Name":"Smith III,Allen Clinton","Unit":"CATS","Dept":"Light Rail Administration","Job_Title":"Transit Operations Manager","Annual_Rt":"$149,940.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":517},"geometry":null},{"type":"Feature","id":518,"properties":{"Name":"Jackson,Jimmy L","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Laborer","Annual_Rt":"$26,808.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":518},"geometry":null},{"type":"Feature","id":519,"properties":{"Name":"Lubejko,Nadine Marie","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Office Assistant IV","Annual_Rt":"$36,508.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":519},"geometry":null},{"type":"Feature","id":520,"properties":{"Name":"Daley,Michael Landon","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Car Maintenance Superviso","Annual_Rt":"$60,732.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":520},"geometry":null},{"type":"Feature","id":521,"properties":{"Name":"Eckridge,Nathaniel","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Car Maintenance Superviso","Annual_Rt":"$60,301.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":521},"geometry":null},{"type":"Feature","id":522,"properties":{"Name":"Fulmore,Silvester C","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Car Maintenance Superviso","Annual_Rt":"$60,724.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":522},"geometry":null},{"type":"Feature","id":523,"properties":{"Name":"Moulliet Jr,Charles Richard","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Car Maintenance Superviso","Annual_Rt":"$57,887.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":523},"geometry":null},{"type":"Feature","id":524,"properties":{"Name":"Cadiang,Frederick Fama","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Maintenance Assistant","Annual_Rt":"$30,161.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":524},"geometry":null},{"type":"Feature","id":525,"properties":{"Name":"Johnson,Eric K","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Maintenance Assistant","Annual_Rt":"$34,680.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":525},"geometry":null},{"type":"Feature","id":526,"properties":{"Name":"Stewart,Norma L. F.","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Maintenance Assistant","Annual_Rt":"$30,597.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":526},"geometry":null},{"type":"Feature","id":527,"properties":{"Name":"White,Gwendolyn J","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Maintenance Assistant","Annual_Rt":"$30,044.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":527},"geometry":null},{"type":"Feature","id":528,"properties":{"Name":"White,Leslie M.","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Maintenance Assistant","Annual_Rt":"$29,169.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":528},"geometry":null},{"type":"Feature","id":529,"properties":{"Name":"Flanders,Norman Robert","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Maintenance Of Way Superv","Annual_Rt":"$60,233.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":529},"geometry":null},{"type":"Feature","id":530,"properties":{"Name":"Gowan,Earl H","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Maintenance Of Way Superv","Annual_Rt":"$67,826.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":530},"geometry":null},{"type":"Feature","id":531,"properties":{"Name":"Lawrence II,Norman Richard","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Maintenance Of Way Superv","Annual_Rt":"$58,824.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":531},"geometry":null},{"type":"Feature","id":532,"properties":{"Name":"Williams,Larcenaous Leroy","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Maintenance Of Way Superv","Annual_Rt":"$65,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":532},"geometry":null},{"type":"Feature","id":533,"properties":{"Name":"Lee,Gary Raymond","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Operations Manager","Annual_Rt":"$93,527.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":533},"geometry":null},{"type":"Feature","id":534,"properties":{"Name":"Frelow,Tarik","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Track Maintainer","Annual_Rt":"$43,556.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":534},"geometry":null},{"type":"Feature","id":535,"properties":{"Name":"Lainis,Christopher E.","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Track Maintainer","Annual_Rt":"$48,943.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":535},"geometry":null},{"type":"Feature","id":536,"properties":{"Name":"Suydam,Randy Levorn","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Rail Track Maintainer","Annual_Rt":"$41,753.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":536},"geometry":null},{"type":"Feature","id":537,"properties":{"Name":"Bartos,Gary Edward","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$49,647.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":537},"geometry":null},{"type":"Feature","id":538,"properties":{"Name":"Berens,Rick D","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$52,681.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":538},"geometry":null},{"type":"Feature","id":539,"properties":{"Name":"Botello,Pedro A","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$51,048.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":539},"geometry":null},{"type":"Feature","id":540,"properties":{"Name":"Bradley,Clark","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$49,112.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":540},"geometry":null},{"type":"Feature","id":541,"properties":{"Name":"Caltabiano,Anthony Philip","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$43,492.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":541},"geometry":null},{"type":"Feature","id":542,"properties":{"Name":"Capote,Eugene","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$46,439.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":542},"geometry":null},{"type":"Feature","id":543,"properties":{"Name":"Cherry,Terrence Radford","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$45,271.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":543},"geometry":null},{"type":"Feature","id":544,"properties":{"Name":"Chichersky,Michael John","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$43,513.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":544},"geometry":null},{"type":"Feature","id":545,"properties":{"Name":"Ennis,Sylvan Anthony","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$51,385.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":545},"geometry":null},{"type":"Feature","id":546,"properties":{"Name":"Fields,Richard Earl","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$49,180.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":546},"geometry":null},{"type":"Feature","id":547,"properties":{"Name":"Fletcher,John","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$44,383.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":547},"geometry":null},{"type":"Feature","id":548,"properties":{"Name":"Hawkins,Adam Mark","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$42,952.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":548},"geometry":null},{"type":"Feature","id":549,"properties":{"Name":"Hunter,Easton","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$50,856.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":549},"geometry":null},{"type":"Feature","id":550,"properties":{"Name":"Jones III,John Alfred","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$42,952.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":550},"geometry":null},{"type":"Feature","id":551,"properties":{"Name":"Kling,Jeffrey E","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$44,383.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":551},"geometry":null},{"type":"Feature","id":552,"properties":{"Name":"Lee,Avery Marcel","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$42,952.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":552},"geometry":null},{"type":"Feature","id":553,"properties":{"Name":"Lindsay II,Jerry L","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$49,840.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":553},"geometry":null},{"type":"Feature","id":554,"properties":{"Name":"Matthews,William Richard","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$43,492.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":554},"geometry":null},{"type":"Feature","id":555,"properties":{"Name":"McRae Jr,Robert L","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$49,503.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":555},"geometry":null},{"type":"Feature","id":556,"properties":{"Name":"Pohlman,Wayne F","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$52,579.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":556},"geometry":null},{"type":"Feature","id":557,"properties":{"Name":"Pruitt,Jimmy Dwayne","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$42,952.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":557},"geometry":null},{"type":"Feature","id":558,"properties":{"Name":"Roberts,Christopher Pernell","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$42,952.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":558},"geometry":null},{"type":"Feature","id":559,"properties":{"Name":"Scammell,Michael Martin","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$50,753.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":559},"geometry":null},{"type":"Feature","id":560,"properties":{"Name":"Skeete,Leroy","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$45,715.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":560},"geometry":null},{"type":"Feature","id":561,"properties":{"Name":"Sonpon,Alex Weah","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":null,"Hrly_Rate":"$20.91 ","RegTemp":"T","Full/Part":"F","OBJECTID":561},"geometry":null},{"type":"Feature","id":562,"properties":{"Name":"Tat,Eric Chum","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$49,647.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":562},"geometry":null},{"type":"Feature","id":563,"properties":{"Name":"Truong,Charles Phi","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$48,272.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":563},"geometry":null},{"type":"Feature","id":564,"properties":{"Name":"Woodward,William Henry","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$50,620.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":564},"geometry":null},{"type":"Feature","id":565,"properties":{"Name":"Hudgins,Robert A.","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect.Tech II L","Annual_Rt":"$48,818.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":565},"geometry":null},{"type":"Feature","id":566,"properties":{"Name":"Hutchins,Leo M","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect.Tech II L","Annual_Rt":"$54,864.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":566},"geometry":null},{"type":"Feature","id":567,"properties":{"Name":"Mills,Patrick S.","Unit":"CATS","Dept":"Light Rail Maintenance","Job_Title":"Transportation Elect.Tech II L","Annual_Rt":"$51,064.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":567},"geometry":null},{"type":"Feature","id":568,"properties":{"Name":"Dixon,Richard L","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Field Operations Supervisor","Annual_Rt":"$55,616.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":568},"geometry":null},{"type":"Feature","id":569,"properties":{"Name":"Fisher Jr,Steven Douglas","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Field Operations Supervisor","Annual_Rt":"$60,478.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":569},"geometry":null},{"type":"Feature","id":570,"properties":{"Name":"Frazier,Joe H.","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Field Operations Supervisor","Annual_Rt":"$63,379.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":570},"geometry":null},{"type":"Feature","id":571,"properties":{"Name":"Gregory,Lonnie Lee","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Field Operations Supervisor","Annual_Rt":"$53,229.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":571},"geometry":null},{"type":"Feature","id":572,"properties":{"Name":"Lambrecht,Patrick M","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Field Operations Supervisor","Annual_Rt":"$60,488.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":572},"geometry":null},{"type":"Feature","id":573,"properties":{"Name":"Mack,Demetrius Bernard","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Field Operations Supervisor","Annual_Rt":"$54,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":573},"geometry":null},{"type":"Feature","id":574,"properties":{"Name":"Mancato,Peter Joseph","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Field Operations Supervisor","Annual_Rt":"$55,080.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":574},"geometry":null},{"type":"Feature","id":575,"properties":{"Name":"Pena,Christian","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Field Operations Supervisor","Annual_Rt":"$58,669.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":575},"geometry":null},{"type":"Feature","id":576,"properties":{"Name":"Wolfe,Gretchen Ann","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Field Operations Supervisor","Annual_Rt":"$62,408.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":576},"geometry":null},{"type":"Feature","id":577,"properties":{"Name":"Darby,Marie E.","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Operations Supervisor","Annual_Rt":"$76,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":577},"geometry":null},{"type":"Feature","id":578,"properties":{"Name":"Fields,Vincent Philip","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Controller","Annual_Rt":"$58,140.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":578},"geometry":null},{"type":"Feature","id":579,"properties":{"Name":"Huntington,John D","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Controller","Annual_Rt":"$59,581.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":579},"geometry":null},{"type":"Feature","id":580,"properties":{"Name":"Jones,Nicole Renae","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Controller","Annual_Rt":"$57,680.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":580},"geometry":null},{"type":"Feature","id":581,"properties":{"Name":"McCourt,Paul R","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Controller","Annual_Rt":"$59,542.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":581},"geometry":null},{"type":"Feature","id":582,"properties":{"Name":"Porter,Jamie","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Controller","Annual_Rt":"$55,999.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":582},"geometry":null},{"type":"Feature","id":583,"properties":{"Name":"Warren,Tiffany","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Controller","Annual_Rt":"$57,120.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":583},"geometry":null},{"type":"Feature","id":584,"properties":{"Name":"Williams,Christopher Mark","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Controller","Annual_Rt":"$56,100.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":584},"geometry":null},{"type":"Feature","id":585,"properties":{"Name":"Baxter,Karien Morrison","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$43,224.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":585},"geometry":null},{"type":"Feature","id":586,"properties":{"Name":"Bethea,Wilhemena Jane","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$44,808.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":586},"geometry":null},{"type":"Feature","id":587,"properties":{"Name":"Billingsley,Julie Anne","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$45,247.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":587},"geometry":null},{"type":"Feature","id":588,"properties":{"Name":"Boyd,Cheonna Onise","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$41,965.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":588},"geometry":null},{"type":"Feature","id":589,"properties":{"Name":"Carter,Tremayne","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$44,721.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":589},"geometry":null},{"type":"Feature","id":590,"properties":{"Name":"Coston,Metro","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$45,792.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":590},"geometry":null},{"type":"Feature","id":591,"properties":{"Name":"Cunningham,Deborah Mechelle","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$44,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":591},"geometry":null},{"type":"Feature","id":592,"properties":{"Name":"Daly,Tara Stinson","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$44,851.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":592},"geometry":null},{"type":"Feature","id":593,"properties":{"Name":"Head,Curtis","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$44,894.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":593},"geometry":null},{"type":"Feature","id":594,"properties":{"Name":"Hooks,Kevin","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$46,510.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":594},"geometry":null},{"type":"Feature","id":595,"properties":{"Name":"Howard,B Lorraine","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$43,764.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":595},"geometry":null},{"type":"Feature","id":596,"properties":{"Name":"Howard,Florence Gale","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$46,152.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":596},"geometry":null},{"type":"Feature","id":597,"properties":{"Name":"Jones Jr,Charles Edward","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$46,151.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":597},"geometry":null},{"type":"Feature","id":598,"properties":{"Name":"Lewis IV,Frank Edward","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$44,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":598},"geometry":null},{"type":"Feature","id":599,"properties":{"Name":"Little,Vonda Generia","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$44,808.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":599},"geometry":null},{"type":"Feature","id":600,"properties":{"Name":"Love Jr,Danny","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$44,634.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":600},"geometry":null},{"type":"Feature","id":601,"properties":{"Name":"Mathieu,Michael Charles","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$44,808.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":601},"geometry":null},{"type":"Feature","id":602,"properties":{"Name":"McKinney,Richard","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$42,170.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":602},"geometry":null},{"type":"Feature","id":603,"properties":{"Name":"McQueen,Denish L.","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$44,056.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":603},"geometry":null},{"type":"Feature","id":604,"properties":{"Name":"Murdock,Kelly E.","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$45,025.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":604},"geometry":null},{"type":"Feature","id":605,"properties":{"Name":"Outing,Tiffany Chanell","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$42,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":605},"geometry":null},{"type":"Feature","id":606,"properties":{"Name":"Reeves,Cheryl Lynn","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$42,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":606},"geometry":null},{"type":"Feature","id":607,"properties":{"Name":"Robbins,Cheryl Elaine","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$41,965.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":607},"geometry":null},{"type":"Feature","id":608,"properties":{"Name":"Ruiz,Harry","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$44,764.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":608},"geometry":null},{"type":"Feature","id":609,"properties":{"Name":"Smith,Darryl D","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$46,421.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":609},"geometry":null},{"type":"Feature","id":610,"properties":{"Name":"Thomson,Deborah Ruth","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$43,764.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":610},"geometry":null},{"type":"Feature","id":611,"properties":{"Name":"Turner,Michael T","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$43,764.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":611},"geometry":null},{"type":"Feature","id":612,"properties":{"Name":"Wheeler Jr,Martin L.","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Rail Operator","Annual_Rt":"$46,152.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":612},"geometry":null},{"type":"Feature","id":613,"properties":{"Name":"Ruffner,Marshall","Unit":"CATS","Dept":"Light Rail Operations","Job_Title":"Transit Oper Svc Mgr","Annual_Rt":"$91,800.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":613},"geometry":null},{"type":"Feature","id":614,"properties":{"Name":"Weicken,Duretta L.","Unit":"CATS","Dept":"Planning & Special Operations","Job_Title":"Office Assistant V","Annual_Rt":"$42,598.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":614},"geometry":null},{"type":"Feature","id":615,"properties":{"Name":"Broome,Bryon J","Unit":"CATS","Dept":"Planning & Special Operations","Job_Title":"Traffic Counter I","Annual_Rt":"$26,962.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":615},"geometry":null},{"type":"Feature","id":616,"properties":{"Name":"Frost,Veronica R.","Unit":"CATS","Dept":"Planning & Special Operations","Job_Title":"Traffic Counter I","Annual_Rt":"$27,342.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":616},"geometry":null},{"type":"Feature","id":617,"properties":{"Name":"Huntley,Amesia","Unit":"CATS","Dept":"Planning & Special Operations","Job_Title":"Traffic Counter II","Annual_Rt":"$31,077.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":617},"geometry":null},{"type":"Feature","id":618,"properties":{"Name":"Kopf,Lawrence J.","Unit":"CATS","Dept":"Planning & Special Operations","Job_Title":"Transit Operations Manager","Annual_Rt":"$116,486.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":618},"geometry":null},{"type":"Feature","id":619,"properties":{"Name":"Collins,Erin N.","Unit":"CATS","Dept":"Planning & Special Operations","Job_Title":"Transit Scheduling Analyst","Annual_Rt":"$52,020.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":619},"geometry":null},{"type":"Feature","id":620,"properties":{"Name":"Hoskins,Patrick T","Unit":"CATS","Dept":"Planning & Special Operations","Job_Title":"Transit Scheduling Manager","Annual_Rt":"$71,616.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":620},"geometry":null},{"type":"Feature","id":621,"properties":{"Name":"White,Pamela Seward","Unit":"CATS","Dept":"Planning & Special Operations","Job_Title":"Transit Scheduling Manager","Annual_Rt":"$78,795.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":621},"geometry":null},{"type":"Feature","id":622,"properties":{"Name":"Cerrato Jr,Robert Joseph","Unit":"CATS","Dept":"Planning & Special Operations","Job_Title":"Transportation Planner I","Annual_Rt":"$46,473.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":622},"geometry":null},{"type":"Feature","id":623,"properties":{"Name":"Spry,Christopher Shawn","Unit":"CATS","Dept":"Planning & Special Operations","Job_Title":"Transportation Planner I","Annual_Rt":"$50,472.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":623},"geometry":null},{"type":"Feature","id":624,"properties":{"Name":"Horton,Brian David","Unit":"CATS","Dept":"Planning & Special Operations","Job_Title":"Transportation Planner II","Annual_Rt":"$72,277.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":624},"geometry":null},{"type":"Feature","id":625,"properties":{"Name":"Pullan,Edward J.","Unit":"CATS","Dept":"Procurement Services","Job_Title":"Const Contracts Admin Coord Ld","Annual_Rt":"$64,826.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":625},"geometry":null},{"type":"Feature","id":626,"properties":{"Name":"McLeod,James T","Unit":"CATS","Dept":"Procurement Services","Job_Title":"Contracts Admin Coordinator","Annual_Rt":"$62,758.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":626},"geometry":null},{"type":"Feature","id":627,"properties":{"Name":"Scott,Crystal Dania","Unit":"CATS","Dept":"Procurement Services","Job_Title":"Contracts Admin Coordinator","Annual_Rt":null,"Hrly_Rate":"$28.85 ","RegTemp":"T","Full/Part":"F","OBJECTID":627},"geometry":null},{"type":"Feature","id":628,"properties":{"Name":"Newcomb,Larry Christopher","Unit":"CATS","Dept":"Procurement Services","Job_Title":"Contracts Admin Specialist","Annual_Rt":"$49,433.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":628},"geometry":null},{"type":"Feature","id":629,"properties":{"Name":"Simmons,Debbie James","Unit":"CATS","Dept":"Procurement Services","Job_Title":"Contracts Admin Specialist","Annual_Rt":"$47,576.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":629},"geometry":null},{"type":"Feature","id":630,"properties":{"Name":"Stevenson,Vanessa R","Unit":"CATS","Dept":"Procurement Services","Job_Title":"Office Assistant V","Annual_Rt":"$42,142.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":630},"geometry":null},{"type":"Feature","id":631,"properties":{"Name":"Edes,Daniel J.","Unit":"CATS","Dept":"Procurement Services","Job_Title":"Transit Procure&Contracts Admi","Annual_Rt":"$84,150.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":631},"geometry":null},{"type":"Feature","id":632,"properties":{"Name":"Boyd,Lavernia V.","Unit":"CATS","Dept":"Public & Community Relations","Job_Title":"Administrative Officer I","Annual_Rt":"$50,269.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":632},"geometry":null},{"type":"Feature","id":633,"properties":{"Name":"Ohlson,Doreen M","Unit":"CATS","Dept":"Public & Community Relations","Job_Title":"Administrative Officer I","Annual_Rt":"$45,335.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":633},"geometry":null},{"type":"Feature","id":634,"properties":{"Name":"Banahene,Demetric","Unit":"CATS","Dept":"Public & Community Relations","Job_Title":"Content Webmaster","Annual_Rt":"$60,180.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":634},"geometry":null},{"type":"Feature","id":635,"properties":{"Name":"Karner,James P","Unit":"CATS","Dept":"Public & Community Relations","Job_Title":"Graphic Artist","Annual_Rt":"$41,350.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":635},"geometry":null},{"type":"Feature","id":636,"properties":{"Name":"Green,Larina L.","Unit":"CATS","Dept":"Public & Community Relations","Job_Title":"Graphic Artist Senior","Annual_Rt":"$54,721.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":636},"geometry":null},{"type":"Feature","id":637,"properties":{"Name":"Green,Krystel McCray","Unit":"CATS","Dept":"Public & Community Relations","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$63,340.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":637},"geometry":null},{"type":"Feature","id":638,"properties":{"Name":"Batchelor,Gail M.","Unit":"CATS","Dept":"Public & Community Relations","Job_Title":"Public Information Specialist","Annual_Rt":"$59,289.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":638},"geometry":null},{"type":"Feature","id":639,"properties":{"Name":"Dellert-OKeef,Judith M.","Unit":"CATS","Dept":"Public & Community Relations","Job_Title":"Public Information Specialist","Annual_Rt":"$57,541.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":639},"geometry":null},{"type":"Feature","id":640,"properties":{"Name":"Ryan,Hillary Renee","Unit":"CATS","Dept":"Public & Community Relations","Job_Title":"Public Information Specialist","Annual_Rt":"$55,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":640},"geometry":null},{"type":"Feature","id":641,"properties":{"Name":"Leier,Jean Antonette","Unit":"CATS","Dept":"Public & Community Relations","Job_Title":"Public Service Coordinator","Annual_Rt":"$79,829.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":641},"geometry":null},{"type":"Feature","id":642,"properties":{"Name":"Taylor,Kimberly H.","Unit":"CATS","Dept":"Public & Community Relations","Job_Title":"Public Service Coordinator","Annual_Rt":"$86,803.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":642},"geometry":null},{"type":"Feature","id":643,"properties":{"Name":"Kinard,Karl O","Unit":"CATS","Dept":"Public & Community Relations","Job_Title":"Transit Marketing & Tech Mgr","Annual_Rt":"$106,446.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":643},"geometry":null},{"type":"Feature","id":644,"properties":{"Name":"Johnson,Laura L","Unit":"CATS","Dept":"Quality Assurance","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$76,169.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":644},"geometry":null},{"type":"Feature","id":645,"properties":{"Name":"Snelgrove,Donald C","Unit":"CATS","Dept":"Quality Assurance","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$77,005.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":645},"geometry":null},{"type":"Feature","id":646,"properties":{"Name":"Balose,Kecia Satterfield","Unit":"CATS","Dept":"Quality Assurance","Job_Title":"Office Assistant V","Annual_Rt":"$40,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":646},"geometry":null},{"type":"Feature","id":647,"properties":{"Name":"Parker,Marjorie","Unit":"CATS","Dept":"Quality Assurance","Job_Title":"Quality Assurance Analyst","Annual_Rt":"$66,896.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":647},"geometry":null},{"type":"Feature","id":648,"properties":{"Name":"Gray,Celia Anne","Unit":"CATS","Dept":"Quality Assurance","Job_Title":"Transit Quality Assurance Mgr","Annual_Rt":"$110,980.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":648},"geometry":null},{"type":"Feature","id":649,"properties":{"Name":"Daniels,Audrey L","Unit":"CATS","Dept":"Revenues","Job_Title":"Accountant II","Annual_Rt":"$60,218.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":649},"geometry":null},{"type":"Feature","id":650,"properties":{"Name":"Melendez,Johnallan","Unit":"CATS","Dept":"Revenues","Job_Title":"Accountant III","Annual_Rt":null,"Hrly_Rate":"$36.68 ","RegTemp":"T","Full/Part":"F","OBJECTID":650},"geometry":null},{"type":"Feature","id":651,"properties":{"Name":"Robinson,Michelle Renee","Unit":"CATS","Dept":"Revenues","Job_Title":"Administrative Officer II","Annual_Rt":"$54,880.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":651},"geometry":null},{"type":"Feature","id":652,"properties":{"Name":"Gonzalez,Kenneth A","Unit":"CATS","Dept":"Revenues","Job_Title":"Administrative Officer IV","Annual_Rt":"$70,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":652},"geometry":null},{"type":"Feature","id":653,"properties":{"Name":"Bardlavens,Demetrius LaChelle","Unit":"CATS","Dept":"Revenues","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$34,253.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":653},"geometry":null},{"type":"Feature","id":654,"properties":{"Name":"Carvajal,Carlos Andres","Unit":"CATS","Dept":"Revenues","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$30,763.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":654},"geometry":null},{"type":"Feature","id":655,"properties":{"Name":"Cohen,Derick J","Unit":"CATS","Dept":"Revenues","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$29,445.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":655},"geometry":null},{"type":"Feature","id":656,"properties":{"Name":"Ellington,Josephine Sinclair","Unit":"CATS","Dept":"Revenues","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$30,034.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":656},"geometry":null},{"type":"Feature","id":657,"properties":{"Name":"Gatling Jr,Harry","Unit":"CATS","Dept":"Revenues","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":null,"Hrly_Rate":"$14.28 ","RegTemp":"T","Full/Part":"P","OBJECTID":657},"geometry":null},{"type":"Feature","id":658,"properties":{"Name":"Hadden,Lori Ann","Unit":"CATS","Dept":"Revenues","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":null,"Hrly_Rate":"$14.28 ","RegTemp":"T","Full/Part":"P","OBJECTID":658},"geometry":null},{"type":"Feature","id":659,"properties":{"Name":"Kwiagaye Jr,Jon-Alexander","Unit":"CATS","Dept":"Revenues","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":null,"Hrly_Rate":"$14.16 ","RegTemp":"T","Full/Part":"P","OBJECTID":659},"geometry":null},{"type":"Feature","id":660,"properties":{"Name":"Myers II,Kenneth","Unit":"CATS","Dept":"Revenues","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":null,"Hrly_Rate":"$15.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":660},"geometry":null},{"type":"Feature","id":661,"properties":{"Name":"Taylor,Charles","Unit":"CATS","Dept":"Revenues","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$29,445.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":661},"geometry":null},{"type":"Feature","id":662,"properties":{"Name":"Collins,Marvin O.","Unit":"CATS","Dept":"Revenues","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$41,227.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":662},"geometry":null},{"type":"Feature","id":663,"properties":{"Name":"Hawkins,Jon-Keith","Unit":"CATS","Dept":"Safety & Security","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$38,591.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":663},"geometry":null},{"type":"Feature","id":664,"properties":{"Name":"Wood,Lisa K","Unit":"CATS","Dept":"Safety & Security","Job_Title":"Office Assistant V","Annual_Rt":"$43,352.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":664},"geometry":null},{"type":"Feature","id":665,"properties":{"Name":"Bellinger,Patricia Leander","Unit":"CATS","Dept":"Safety & Security","Job_Title":"Safety Coordinator","Annual_Rt":"$56,699.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":665},"geometry":null},{"type":"Feature","id":666,"properties":{"Name":"Moskowitz,David","Unit":"CATS","Dept":"Safety & Security","Job_Title":"Safety Coordinator","Annual_Rt":"$63,240.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":666},"geometry":null},{"type":"Feature","id":667,"properties":{"Name":"Thompson Jr,Ray Alan","Unit":"CATS","Dept":"Safety & Security","Job_Title":"Safety Coordinator","Annual_Rt":"$52,798.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":667},"geometry":null},{"type":"Feature","id":668,"properties":{"Name":"McCall Jr,Harry Albert","Unit":"CATS","Dept":"Safety & Security","Job_Title":"Safety Coordinator-Senior","Annual_Rt":"$88,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":668},"geometry":null},{"type":"Feature","id":669,"properties":{"Name":"Staten Sr,Henry Lewis","Unit":"CATS","Dept":"Safety & Security","Job_Title":"Safety Coordinator-Senior","Annual_Rt":"$65,545.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":669},"geometry":null},{"type":"Feature","id":670,"properties":{"Name":"Cripps,Louis D","Unit":"CATS","Dept":"Safety & Security","Job_Title":"Safety Supervisor","Annual_Rt":"$77,520.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":670},"geometry":null},{"type":"Feature","id":671,"properties":{"Name":"Faggart,Robert Sterling","Unit":"CATS","Dept":"Safety & Security","Job_Title":"Safety Supervisor","Annual_Rt":"$77,520.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":671},"geometry":null},{"type":"Feature","id":672,"properties":{"Name":"McElveen,Levern","Unit":"CATS","Dept":"Safety & Security","Job_Title":"Transit Safety & Security Mgr","Annual_Rt":"$125,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":672},"geometry":null},{"type":"Feature","id":673,"properties":{"Name":"Feaster,Deborah K","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Administrative Officer I","Annual_Rt":"$51,871.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":673},"geometry":null},{"type":"Feature","id":674,"properties":{"Name":"McClellan,Jeffrey A","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Customer Service Supervisor","Annual_Rt":"$66,882.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":674},"geometry":null},{"type":"Feature","id":675,"properties":{"Name":"Clyburn,Harriett W","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$48,759.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":675},"geometry":null},{"type":"Feature","id":676,"properties":{"Name":"Land,Janicia","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Equipment Operator II","Annual_Rt":"$22,913.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":676},"geometry":null},{"type":"Feature","id":677,"properties":{"Name":"Pride,Frederick Eugene","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Equipment Operator II","Annual_Rt":"$29,952.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":677},"geometry":null},{"type":"Feature","id":678,"properties":{"Name":"Amos,Andre Lenea","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Labor Crew Chief II","Annual_Rt":"$39,520.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":678},"geometry":null},{"type":"Feature","id":679,"properties":{"Name":"Ardrey,Terrence P.","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,978.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":679},"geometry":null},{"type":"Feature","id":680,"properties":{"Name":"Boucher,Joseph R.","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,777.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":680},"geometry":null},{"type":"Feature","id":681,"properties":{"Name":"Burton,Raymond Rapheal","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Labor Crew Chief II","Annual_Rt":"$40,957.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":681},"geometry":null},{"type":"Feature","id":682,"properties":{"Name":"Eason,Phoebe Jamell","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,061.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":682},"geometry":null},{"type":"Feature","id":683,"properties":{"Name":"Felder,Crystal D","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,061.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":683},"geometry":null},{"type":"Feature","id":684,"properties":{"Name":"Grier,Thelma W","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,161.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":684},"geometry":null},{"type":"Feature","id":685,"properties":{"Name":"McCray,Nicole M","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Labor Crew Chief II","Annual_Rt":"$40,310.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":685},"geometry":null},{"type":"Feature","id":686,"properties":{"Name":"Williams,Robin D","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,856.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":686},"geometry":null},{"type":"Feature","id":687,"properties":{"Name":"English,Angela","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Office Assistant III","Annual_Rt":"$29,661.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":687},"geometry":null},{"type":"Feature","id":688,"properties":{"Name":"Fowler,Linda Ann","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$11.30 ","RegTemp":"T","Full/Part":"P","OBJECTID":688},"geometry":null},{"type":"Feature","id":689,"properties":{"Name":"Grantham,Mary L","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$11.53 ","RegTemp":"T","Full/Part":"P","OBJECTID":689},"geometry":null},{"type":"Feature","id":690,"properties":{"Name":"Mathis,Jonathan Aaron","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$11.30 ","RegTemp":"T","Full/Part":"P","OBJECTID":690},"geometry":null},{"type":"Feature","id":691,"properties":{"Name":"Perry,Paul Leo","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$11.30 ","RegTemp":"T","Full/Part":"P","OBJECTID":691},"geometry":null},{"type":"Feature","id":692,"properties":{"Name":"Roberts,Frances Burch","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$11.30 ","RegTemp":"T","Full/Part":"P","OBJECTID":692},"geometry":null},{"type":"Feature","id":693,"properties":{"Name":"Thomas,Denise","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$11.30 ","RegTemp":"T","Full/Part":"P","OBJECTID":693},"geometry":null},{"type":"Feature","id":694,"properties":{"Name":"Williams,Brandon Jamal","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$12.11 ","RegTemp":"T","Full/Part":"P","OBJECTID":694},"geometry":null},{"type":"Feature","id":695,"properties":{"Name":"Wilson,Nancetta Louise","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$11.30 ","RegTemp":"T","Full/Part":"P","OBJECTID":695},"geometry":null},{"type":"Feature","id":696,"properties":{"Name":"Pickett,Jack F","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Office Assistant IV","Annual_Rt":"$36,168.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":696},"geometry":null},{"type":"Feature","id":697,"properties":{"Name":"Brown,Dietrich","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Operations Supervisor","Annual_Rt":"$75,269.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":697},"geometry":null},{"type":"Feature","id":698,"properties":{"Name":"Alexander,Katrina Y","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$35,754.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":698},"geometry":null},{"type":"Feature","id":699,"properties":{"Name":"Beckham,Eureka Nicole","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,913.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":699},"geometry":null},{"type":"Feature","id":700,"properties":{"Name":"Belk,Stephanie L","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,106.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":700},"geometry":null},{"type":"Feature","id":701,"properties":{"Name":"Bennett,Lakisha Michelle","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,464.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":701},"geometry":null},{"type":"Feature","id":702,"properties":{"Name":"Bennett,Leonard","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,100.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":702},"geometry":null},{"type":"Feature","id":703,"properties":{"Name":"Bentley,Debbie Cheryl","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$38,261.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":703},"geometry":null},{"type":"Feature","id":704,"properties":{"Name":"Benton,Laura Alice","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,389.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":704},"geometry":null},{"type":"Feature","id":705,"properties":{"Name":"Black,Sharon L.","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,197.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":705},"geometry":null},{"type":"Feature","id":706,"properties":{"Name":"Bowens,Samuel R","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$34,515.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":706},"geometry":null},{"type":"Feature","id":707,"properties":{"Name":"Brown,Karen Yvonne","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,464.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":707},"geometry":null},{"type":"Feature","id":708,"properties":{"Name":"Buckhalter,Twanda Shree","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,905.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":708},"geometry":null},{"type":"Feature","id":709,"properties":{"Name":"Burch-Vann,Kimberlee C","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,810.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":709},"geometry":null},{"type":"Feature","id":710,"properties":{"Name":"Burney,Bonita A","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$29,952.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":710},"geometry":null},{"type":"Feature","id":711,"properties":{"Name":"Burns,Albert B","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$31,471.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":711},"geometry":null},{"type":"Feature","id":712,"properties":{"Name":"Byers,Inger Bridgette","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,388.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":712},"geometry":null},{"type":"Feature","id":713,"properties":{"Name":"Caldwell,LaTera","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$31,463.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":713},"geometry":null},{"type":"Feature","id":714,"properties":{"Name":"Campbell,Stephanie Maxzida","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,261.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":714},"geometry":null},{"type":"Feature","id":715,"properties":{"Name":"Cofield,Kennon J M","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,079.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":715},"geometry":null},{"type":"Feature","id":716,"properties":{"Name":"Drayton,Timmy","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$41,011.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":716},"geometry":null},{"type":"Feature","id":717,"properties":{"Name":"Dunlap,JaLonda Nichel","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,464.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":717},"geometry":null},{"type":"Feature","id":718,"properties":{"Name":"Dunlap,LaTasha Rochelle-Ann","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,913.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":718},"geometry":null},{"type":"Feature","id":719,"properties":{"Name":"Ervin,Dorothy Linnette","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$29,952.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":719},"geometry":null},{"type":"Feature","id":720,"properties":{"Name":"Evans III,Levi J","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$23,486.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":720},"geometry":null},{"type":"Feature","id":721,"properties":{"Name":"Forney,Albina M","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,229.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":721},"geometry":null},{"type":"Feature","id":722,"properties":{"Name":"Fox,Richard K","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$39,674.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":722},"geometry":null},{"type":"Feature","id":723,"properties":{"Name":"Garnes,Sheryl L","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,748.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":723},"geometry":null},{"type":"Feature","id":724,"properties":{"Name":"Girault,Gregory E","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$31,314.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":724},"geometry":null},{"type":"Feature","id":725,"properties":{"Name":"Greenwood,Cathy Turner","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$30,551.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":725},"geometry":null},{"type":"Feature","id":726,"properties":{"Name":"Hall,Phyllis M","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,905.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":726},"geometry":null},{"type":"Feature","id":727,"properties":{"Name":"Harris,DrayTonya Maria","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,464.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":727},"geometry":null},{"type":"Feature","id":728,"properties":{"Name":"Hicklen,Angela M","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,673.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":728},"geometry":null},{"type":"Feature","id":729,"properties":{"Name":"Hill,Angela M","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,070.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":729},"geometry":null},{"type":"Feature","id":730,"properties":{"Name":"Hinson,Jannell Denise","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,095.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":730},"geometry":null},{"type":"Feature","id":731,"properties":{"Name":"Hodge,Bryan Clay","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,100.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":731},"geometry":null},{"type":"Feature","id":732,"properties":{"Name":"Houser,Cathy S.","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,105.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":732},"geometry":null},{"type":"Feature","id":733,"properties":{"Name":"James,Cynthia A","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,228.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":733},"geometry":null},{"type":"Feature","id":734,"properties":{"Name":"Jenkins,William F","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$24,921.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":734},"geometry":null},{"type":"Feature","id":735,"properties":{"Name":"Johnson,April Marie","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,913.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":735},"geometry":null},{"type":"Feature","id":736,"properties":{"Name":"Johnson,Willey J.","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,893.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":736},"geometry":null},{"type":"Feature","id":737,"properties":{"Name":"Jones,LaTanya Albertina","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,464.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":737},"geometry":null},{"type":"Feature","id":738,"properties":{"Name":"Kelly,Charles Elliott","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$23,486.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":738},"geometry":null},{"type":"Feature","id":739,"properties":{"Name":"Lipsey,Rhonda Renee","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$30,551.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":739},"geometry":null},{"type":"Feature","id":740,"properties":{"Name":"Little,Sherneka N","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,100.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":740},"geometry":null},{"type":"Feature","id":741,"properties":{"Name":"Macedon Sr,Harold P","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,464.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":741},"geometry":null},{"type":"Feature","id":742,"properties":{"Name":"McCrary,James Edward","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,550.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":742},"geometry":null},{"type":"Feature","id":743,"properties":{"Name":"McLean,Lymon Monta","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,971.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":743},"geometry":null},{"type":"Feature","id":744,"properties":{"Name":"McLeod,Sharon Yvette","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,455.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":744},"geometry":null},{"type":"Feature","id":745,"properties":{"Name":"McNeil,Herbert","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$29,952.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":745},"geometry":null},{"type":"Feature","id":746,"properties":{"Name":"Miller,Janine","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,100.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":746},"geometry":null},{"type":"Feature","id":747,"properties":{"Name":"Minnet,Henry R","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$39,262.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":747},"geometry":null},{"type":"Feature","id":748,"properties":{"Name":"Mitchell,Shelley Antoinette","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$31,467.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":748},"geometry":null},{"type":"Feature","id":749,"properties":{"Name":"Montgomery,Alison Mae","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,102.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":749},"geometry":null},{"type":"Feature","id":750,"properties":{"Name":"Moore,Dennis Wayne","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,389.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":750},"geometry":null},{"type":"Feature","id":751,"properties":{"Name":"Murphy,Furtuesquier","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,003.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":751},"geometry":null},{"type":"Feature","id":752,"properties":{"Name":"Nance,Betty Elaine","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,293.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":752},"geometry":null},{"type":"Feature","id":753,"properties":{"Name":"Nash,Shante Francina","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$31,467.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":753},"geometry":null},{"type":"Feature","id":754,"properties":{"Name":"Obie,Melissa","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,228.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":754},"geometry":null},{"type":"Feature","id":755,"properties":{"Name":"Patterson,Dassie D","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,132.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":755},"geometry":null},{"type":"Feature","id":756,"properties":{"Name":"Peay,Bernice","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,293.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":756},"geometry":null},{"type":"Feature","id":757,"properties":{"Name":"Porter,George","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$31,944.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":757},"geometry":null},{"type":"Feature","id":758,"properties":{"Name":"Potts,Kelsey Jamil","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,913.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":758},"geometry":null},{"type":"Feature","id":759,"properties":{"Name":"Pressley,Scott Eugene","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$31,944.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":759},"geometry":null},{"type":"Feature","id":760,"properties":{"Name":"Rader,James L.","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,777.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":760},"geometry":null},{"type":"Feature","id":761,"properties":{"Name":"Richardson,Terry B","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$29,952.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":761},"geometry":null},{"type":"Feature","id":762,"properties":{"Name":"Roberts,Marian B","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$37,163.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":762},"geometry":null},{"type":"Feature","id":763,"properties":{"Name":"Robinson,Beverly Monet-Rochelle","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,464.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":763},"geometry":null},{"type":"Feature","id":764,"properties":{"Name":"Robinson,Caronda Nicole","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$31,467.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":764},"geometry":null},{"type":"Feature","id":765,"properties":{"Name":"Robinson,Patricia","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,913.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":765},"geometry":null},{"type":"Feature","id":766,"properties":{"Name":"Singleton,Tina Yvette","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$34,002.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":766},"geometry":null},{"type":"Feature","id":767,"properties":{"Name":"Stephens-Lindsey,Antrina Dequan","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,100.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":767},"geometry":null},{"type":"Feature","id":768,"properties":{"Name":"Stewart Sr,James Milton","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$31,467.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":768},"geometry":null},{"type":"Feature","id":769,"properties":{"Name":"Talford,William Eugene","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,464.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":769},"geometry":null},{"type":"Feature","id":770,"properties":{"Name":"Underwood,Philip B","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,067.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":770},"geometry":null},{"type":"Feature","id":771,"properties":{"Name":"Watson,Jerina Devonne","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$31,950.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":771},"geometry":null},{"type":"Feature","id":772,"properties":{"Name":"Weldon,Kimberly Latrice","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$32,938.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":772},"geometry":null},{"type":"Feature","id":773,"properties":{"Name":"Wheeler,Michael Riley","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$23,256.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":773},"geometry":null},{"type":"Feature","id":774,"properties":{"Name":"White,Vickey","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$22,464.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":774},"geometry":null},{"type":"Feature","id":775,"properties":{"Name":"Williams,Shalanda Deshelle","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$31,162.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":775},"geometry":null},{"type":"Feature","id":776,"properties":{"Name":"Williamson,Beatriz R.","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$31,887.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":776},"geometry":null},{"type":"Feature","id":777,"properties":{"Name":"Withers,Lionel A","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$33,391.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":777},"geometry":null},{"type":"Feature","id":778,"properties":{"Name":"Young,Nicole Steele","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Driver","Annual_Rt":"$31,467.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":778},"geometry":null},{"type":"Feature","id":779,"properties":{"Name":"Deese,Shannon Dabney","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportation Supv","Annual_Rt":"$64,260.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":779},"geometry":null},{"type":"Feature","id":780,"properties":{"Name":"Adams,Valerie R","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportn Dispatcher","Annual_Rt":"$37,517.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":780},"geometry":null},{"type":"Feature","id":781,"properties":{"Name":"Barringer,Maxine","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportn Dispatcher","Annual_Rt":"$37,157.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":781},"geometry":null},{"type":"Feature","id":782,"properties":{"Name":"Curry,Telphine Daisy","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportn Dispatcher","Annual_Rt":"$34,157.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":782},"geometry":null},{"type":"Feature","id":783,"properties":{"Name":"Inman,Georgianna D","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportn Dispatcher","Annual_Rt":"$37,310.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":783},"geometry":null},{"type":"Feature","id":784,"properties":{"Name":"Simms,Nicole E.","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportn Dispatcher","Annual_Rt":"$35,176.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":784},"geometry":null},{"type":"Feature","id":785,"properties":{"Name":"Truesdale,Juaquisha B","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportn Dispatcher","Annual_Rt":"$35,174.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":785},"geometry":null},{"type":"Feature","id":786,"properties":{"Name":"Tucker,Jacqueline","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportn Dispatcher","Annual_Rt":"$37,429.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":786},"geometry":null},{"type":"Feature","id":787,"properties":{"Name":"Williams,Mildred L.","Unit":"CATS","Dept":"Special Transportation Service","Job_Title":"Special Transportn Dispatcher","Annual_Rt":"$37,158.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":787},"geometry":null},{"type":"Feature","id":788,"properties":{"Name":"Ford,Paulus","Unit":"CATS","Dept":"Technology","Job_Title":"Administrative Officer I","Annual_Rt":"$42,104.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":788},"geometry":null},{"type":"Feature","id":789,"properties":{"Name":"Johnson,April Delores","Unit":"CATS","Dept":"Technology","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$63,027.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":789},"geometry":null},{"type":"Feature","id":790,"properties":{"Name":"Smith,Steven","Unit":"CATS","Dept":"Technology","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$84,047.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":790},"geometry":null},{"type":"Feature","id":791,"properties":{"Name":"Wilson,Frederick A","Unit":"CATS","Dept":"Technology","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$85,728.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":791},"geometry":null},{"type":"Feature","id":792,"properties":{"Name":"Taylor,Timothy","Unit":"CATS","Dept":"Technology","Job_Title":"Business System Spec Sr","Annual_Rt":"$79,127.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":792},"geometry":null},{"type":"Feature","id":793,"properties":{"Name":"Womer,Joseph D","Unit":"CATS","Dept":"Technology","Job_Title":"Business System Spec Sr","Annual_Rt":"$78,061.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":793},"geometry":null},{"type":"Feature","id":794,"properties":{"Name":"Winslow,James A.","Unit":"CATS","Dept":"Technology","Job_Title":"Business Systems Prog Manager","Annual_Rt":"$89,268.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":794},"geometry":null},{"type":"Feature","id":795,"properties":{"Name":"Cavalier,Anthony Jay","Unit":"CATS","Dept":"Technology","Job_Title":"Business Systems Supervisor","Annual_Rt":"$95,359.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":795},"geometry":null},{"type":"Feature","id":796,"properties":{"Name":"Haddad,Michael A","Unit":"CATS","Dept":"Technology","Job_Title":"Sr Business Systems Manager","Annual_Rt":"$119,857.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":796},"geometry":null},{"type":"Feature","id":797,"properties":{"Name":"Wiggins,Kimberley Nicole","Unit":"CATS","Dept":"Vanpool","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$36,264.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":797},"geometry":null},{"type":"Feature","id":798,"properties":{"Name":"Broussard-Hill,Cheryl D","Unit":"CATS","Dept":"Vanpool","Job_Title":"Equipment Operator I","Annual_Rt":"$32,487.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":798},"geometry":null},{"type":"Feature","id":799,"properties":{"Name":"Evans,Shayolanda Michele","Unit":"CATS","Dept":"Vanpool","Job_Title":"Equipment Operator I","Annual_Rt":"$30,448.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":799},"geometry":null},{"type":"Feature","id":800,"properties":{"Name":"Truitt II,Ralph","Unit":"CDOT","Dept":"CDOT Departmental Services","Job_Title":"Administrative Officer II","Annual_Rt":"$51,703.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":800},"geometry":null},{"type":"Feature","id":801,"properties":{"Name":"Westmoreland,Beverly D","Unit":"CDOT","Dept":"CDOT Departmental Services","Job_Title":"Administrative Officer II","Annual_Rt":"$58,977.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":801},"geometry":null},{"type":"Feature","id":802,"properties":{"Name":"Peterson,Jayne Andrews","Unit":"CDOT","Dept":"CDOT Departmental Services","Job_Title":"Administrative Officer IV","Annual_Rt":"$74,765.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":802},"geometry":null},{"type":"Feature","id":803,"properties":{"Name":"Littlejohn,Michelle D.","Unit":"CDOT","Dept":"CDOT Departmental Services","Job_Title":"Administrative Officer V","Annual_Rt":"$89,912.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":803},"geometry":null},{"type":"Feature","id":804,"properties":{"Name":"Reiger,Phillip Lee","Unit":"CDOT","Dept":"CDOT Departmental Services","Job_Title":"Assist Transportation Director","Annual_Rt":"$114,168.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":804},"geometry":null},{"type":"Feature","id":805,"properties":{"Name":"Milburn,Kathleen Jane","Unit":"CDOT","Dept":"CDOT Departmental Services","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$108,255.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":805},"geometry":null},{"type":"Feature","id":806,"properties":{"Name":"Shawver,Timothy S.","Unit":"CDOT","Dept":"CDOT Departmental Services","Job_Title":"Business System Spec Sr","Annual_Rt":"$87,678.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":806},"geometry":null},{"type":"Feature","id":807,"properties":{"Name":"Babson,Elizabeth B","Unit":"CDOT","Dept":"CDOT Departmental Services","Job_Title":"Deputy Transportation Dir","Annual_Rt":"$131,114.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":807},"geometry":null},{"type":"Feature","id":808,"properties":{"Name":"Van Tassell,Tracy E.","Unit":"CDOT","Dept":"CDOT Departmental Services","Job_Title":"Safety Coordinator","Annual_Rt":"$65,333.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":808},"geometry":null},{"type":"Feature","id":809,"properties":{"Name":"Schornak,John D","Unit":"CDOT","Dept":"CDOT Departmental Services","Job_Title":"Technology Support Coordinator","Annual_Rt":"$87,912.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":809},"geometry":null},{"type":"Feature","id":810,"properties":{"Name":"Khattak,Saleem Shah","Unit":"CDOT","Dept":"CDOT Departmental Services","Job_Title":"Trans Engineering Manager","Annual_Rt":"$111,384.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":810},"geometry":null},{"type":"Feature","id":811,"properties":{"Name":"Pleasant,Danny Craig","Unit":"CDOT","Dept":"CDOT Departmental Services","Job_Title":"Transportation Director","Annual_Rt":"$163,956.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":811},"geometry":null},{"type":"Feature","id":812,"properties":{"Name":"Humphrey,Jim G","Unit":"CDOT","Dept":"CDOT Departmental Services","Job_Title":"Transportation Planner III","Annual_Rt":null,"Hrly_Rate":"$50.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":812},"geometry":null},{"type":"Feature","id":813,"properties":{"Name":"Boenisch,Jeffrey S","Unit":"CDOT","Dept":"CDOT Development Services","Job_Title":"Engineering Assistant","Annual_Rt":"$52,128.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":813},"geometry":null},{"type":"Feature","id":814,"properties":{"Name":"Rodriguez,Alexander","Unit":"CDOT","Dept":"CDOT Development Services","Job_Title":"Engineering Assistant","Annual_Rt":"$51,403.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":814},"geometry":null},{"type":"Feature","id":815,"properties":{"Name":"Rorie,Dennis E","Unit":"CDOT","Dept":"CDOT Development Services","Job_Title":"Engineering Program Manager","Annual_Rt":"$86,683.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":815},"geometry":null},{"type":"Feature","id":816,"properties":{"Name":"Bryant,Keith Burgess","Unit":"CDOT","Dept":"CDOT Development Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$74,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":816},"geometry":null},{"type":"Feature","id":817,"properties":{"Name":"Leonard,Candice L","Unit":"CDOT","Dept":"CDOT Development Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$74,460.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":817},"geometry":null},{"type":"Feature","id":818,"properties":{"Name":"Yanicak,Joseph A","Unit":"CDOT","Dept":"CDOT Development Services","Job_Title":"Engineering Services Supv","Annual_Rt":"$57,887.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":818},"geometry":null},{"type":"Feature","id":819,"properties":{"Name":"King,Joann A","Unit":"CDOT","Dept":"CDOT Development Services","Job_Title":"Office Assistant IV","Annual_Rt":"$36,949.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":819},"geometry":null},{"type":"Feature","id":820,"properties":{"Name":"Grochoske,Rickey Henry","Unit":"CDOT","Dept":"CDOT Development Services","Job_Title":"Senior Engineer","Annual_Rt":"$95,407.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":820},"geometry":null},{"type":"Feature","id":821,"properties":{"Name":"Woolard,Susan Habina","Unit":"CDOT","Dept":"CDOT Development Services","Job_Title":"Senior Engineer","Annual_Rt":"$57,044.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":821},"geometry":null},{"type":"Feature","id":822,"properties":{"Name":"Davis,Michael Aidan","Unit":"CDOT","Dept":"CDOT Development Services","Job_Title":"Trans Engineering Manager","Annual_Rt":"$105,234.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":822},"geometry":null},{"type":"Feature","id":823,"properties":{"Name":"Christopher,David Walter","Unit":"CDOT","Dept":"CDOT Development Services","Job_Title":"Transportation Analyst","Annual_Rt":"$55,563.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":823},"geometry":null},{"type":"Feature","id":824,"properties":{"Name":"Rushen,Barbara D","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Administrative Officer I","Annual_Rt":"$48,168.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":824},"geometry":null},{"type":"Feature","id":825,"properties":{"Name":"Carpenter,David R","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Administrative Officer III","Annual_Rt":"$70,174.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":825},"geometry":null},{"type":"Feature","id":826,"properties":{"Name":"Baker,Troy L","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Construction Inspector","Annual_Rt":"$56,175.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":826},"geometry":null},{"type":"Feature","id":827,"properties":{"Name":"McGilton,Patrick W.","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Construction Inspector","Annual_Rt":"$53,897.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":827},"geometry":null},{"type":"Feature","id":828,"properties":{"Name":"Patel,Devendra","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Construction Inspector","Annual_Rt":"$55,080.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":828},"geometry":null},{"type":"Feature","id":829,"properties":{"Name":"Stewart,Travis Glenn","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Construction Inspector","Annual_Rt":"$54,757.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":829},"geometry":null},{"type":"Feature","id":830,"properties":{"Name":"Thackston III,James Nathaniel","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Construction Inspector","Annual_Rt":"$48,755.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":830},"geometry":null},{"type":"Feature","id":831,"properties":{"Name":"Vorech,Amy E","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Drafting Technician","Annual_Rt":"$54,470.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":831},"geometry":null},{"type":"Feature","id":832,"properties":{"Name":"Mangum,Joseph Walter","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Eng Services Investigator","Annual_Rt":"$50,740.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":832},"geometry":null},{"type":"Feature","id":833,"properties":{"Name":"Abel Jr,Charles W","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Engineering Program Manager","Annual_Rt":"$97,381.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":833},"geometry":null},{"type":"Feature","id":834,"properties":{"Name":"Jordi,Gus T","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Engineering Program Manager","Annual_Rt":"$100,051.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":834},"geometry":null},{"type":"Feature","id":835,"properties":{"Name":"Smith,Debbie R","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Engineering Program Manager","Annual_Rt":"$92,491.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":835},"geometry":null},{"type":"Feature","id":836,"properties":{"Name":"Boenisch,Ashley Morgan","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$71,257.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":836},"geometry":null},{"type":"Feature","id":837,"properties":{"Name":"Doman,Cecilia A","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$69,299.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":837},"geometry":null},{"type":"Feature","id":838,"properties":{"Name":"Shaben,Stephen J.","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$68,181.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":838},"geometry":null},{"type":"Feature","id":839,"properties":{"Name":"Shrewsbury,Stephen T","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$68,577.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":839},"geometry":null},{"type":"Feature","id":840,"properties":{"Name":"Wally,James Hampton","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$70,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":840},"geometry":null},{"type":"Feature","id":841,"properties":{"Name":"Barakzai,Saleem P K","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Engineering Project Manager","Annual_Rt":"$77,180.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":841},"geometry":null},{"type":"Feature","id":842,"properties":{"Name":"Berry,Angela M","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Engineering Project Manager","Annual_Rt":"$86,111.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":842},"geometry":null},{"type":"Feature","id":843,"properties":{"Name":"Greentaner,William J","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Engineering Project Manager","Annual_Rt":"$74,449.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":843},"geometry":null},{"type":"Feature","id":844,"properties":{"Name":"Horldt,Bruce Allen","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Engineering Project Manager","Annual_Rt":"$71,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":844},"geometry":null},{"type":"Feature","id":845,"properties":{"Name":"Cook,Andrew R","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":845},"geometry":null},{"type":"Feature","id":846,"properties":{"Name":"Lamont,Scott E","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"ITS Program Coordinator","Annual_Rt":"$62,131.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":846},"geometry":null},{"type":"Feature","id":847,"properties":{"Name":"Stegall,R A","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"ITS Program Coordinator","Annual_Rt":"$76,967.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":847},"geometry":null},{"type":"Feature","id":848,"properties":{"Name":"Love,Daisy M","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Office Assistant IV","Annual_Rt":"$41,652.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":848},"geometry":null},{"type":"Feature","id":849,"properties":{"Name":"Ashburner,Ronald G","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Operations Supervisor","Annual_Rt":"$72,472.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":849},"geometry":null},{"type":"Feature","id":850,"properties":{"Name":"Cosby,Michael K","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Senior Drafting Technician","Annual_Rt":"$55,367.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":850},"geometry":null},{"type":"Feature","id":851,"properties":{"Name":"Simpson Jr,Norman R","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Senior Drafting Technician","Annual_Rt":"$63,674.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":851},"geometry":null},{"type":"Feature","id":852,"properties":{"Name":"Cook,Mark A.","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Senior Engineer","Annual_Rt":"$76,059.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":852},"geometry":null},{"type":"Feature","id":853,"properties":{"Name":"Tagliaferri,Anthony P","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Senior Engineer","Annual_Rt":"$81,600.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":853},"geometry":null},{"type":"Feature","id":854,"properties":{"Name":"Rhyne Jr,James R","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$84,301.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":854},"geometry":null},{"type":"Feature","id":855,"properties":{"Name":"Boswell,Elizabeth D","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Signal Systems Specialist","Annual_Rt":"$51,113.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":855},"geometry":null},{"type":"Feature","id":856,"properties":{"Name":"Murphey,Daniel Glenn","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Signal Systems Specialist","Annual_Rt":"$49,006.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":856},"geometry":null},{"type":"Feature","id":857,"properties":{"Name":"Putnam,Scott L","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Trans Engineering Manager","Annual_Rt":"$113,825.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":857},"geometry":null},{"type":"Feature","id":858,"properties":{"Name":"Rayano,Joseph M","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Transportation Elect. Tech I","Annual_Rt":"$48,730.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":858},"geometry":null},{"type":"Feature","id":859,"properties":{"Name":"Thompson,William Jeffrey","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Transportation Elect. Tech I","Annual_Rt":"$45,642.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":859},"geometry":null},{"type":"Feature","id":860,"properties":{"Name":"Wright,David E","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Transportation Elect. Tech I","Annual_Rt":"$46,439.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":860},"geometry":null},{"type":"Feature","id":861,"properties":{"Name":"Bostic,Kenneth L","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$53,353.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":861},"geometry":null},{"type":"Feature","id":862,"properties":{"Name":"Boyles,Larry S","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$53,937.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":862},"geometry":null},{"type":"Feature","id":863,"properties":{"Name":"Lavien,Moses D","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$54,096.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":863},"geometry":null},{"type":"Feature","id":864,"properties":{"Name":"Odem,Mark William","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$55,710.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":864},"geometry":null},{"type":"Feature","id":865,"properties":{"Name":"Paysour,Bryan M","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$53,380.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":865},"geometry":null},{"type":"Feature","id":866,"properties":{"Name":"Vaught Jr,Lewis Wendell","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Transportation Elect. Tech II","Annual_Rt":"$54,469.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":866},"geometry":null},{"type":"Feature","id":867,"properties":{"Name":"Phifer,Steve H.","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Transportation Electronics Sup","Annual_Rt":"$60,452.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":867},"geometry":null},{"type":"Feature","id":868,"properties":{"Name":"Bost,David M","Unit":"CDOT","Dept":"CDOT Engineering and Operation","Job_Title":"Transportation Technician","Annual_Rt":"$42,432.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":868},"geometry":null},{"type":"Feature","id":869,"properties":{"Name":"Faulk,Christianne Renee Bouvette","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Administrative Officer IV","Annual_Rt":"$67,216.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":869},"geometry":null},{"type":"Feature","id":870,"properties":{"Name":"Matoke,Kaunda M","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Contract Estimator","Annual_Rt":"$52,658.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":870},"geometry":null},{"type":"Feature","id":871,"properties":{"Name":"Moss Jr,Coite S.","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Contract Estimator","Annual_Rt":"$56,098.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":871},"geometry":null},{"type":"Feature","id":872,"properties":{"Name":"Jackson,Terrell Sekou","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Equipment Operator I","Annual_Rt":"$29,891.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":872},"geometry":null},{"type":"Feature","id":873,"properties":{"Name":"Brewster,Lavon Anthony","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Equipment Operator II","Annual_Rt":"$34,553.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":873},"geometry":null},{"type":"Feature","id":874,"properties":{"Name":"McDonald,Raymond A","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Equipment Operator II","Annual_Rt":"$34,762.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":874},"geometry":null},{"type":"Feature","id":875,"properties":{"Name":"Smith,Ronald W","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Equipment Operator II","Annual_Rt":"$34,803.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":875},"geometry":null},{"type":"Feature","id":876,"properties":{"Name":"Burgoon,Dennis M","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Field Operations Supervisor","Annual_Rt":"$59,647.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":876},"geometry":null},{"type":"Feature","id":877,"properties":{"Name":"Glover,Michael A","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Field Operations Supervisor","Annual_Rt":"$55,503.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":877},"geometry":null},{"type":"Feature","id":878,"properties":{"Name":"Rhyne,Kimberly J","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Field Operations Supervisor","Annual_Rt":"$55,085.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":878},"geometry":null},{"type":"Feature","id":879,"properties":{"Name":"Abraham Jr,Paul","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Labor Crew Chief I","Annual_Rt":"$36,884.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":879},"geometry":null},{"type":"Feature","id":880,"properties":{"Name":"Glee,Richard James","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Labor Crew Chief I","Annual_Rt":"$37,217.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":880},"geometry":null},{"type":"Feature","id":881,"properties":{"Name":"Neal,Ronnie B","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Labor Crew Chief I","Annual_Rt":"$39,701.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":881},"geometry":null},{"type":"Feature","id":882,"properties":{"Name":"Bridges,Leviticus Eugene","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,384.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":882},"geometry":null},{"type":"Feature","id":883,"properties":{"Name":"Drummond,Billy D","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,656.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":883},"geometry":null},{"type":"Feature","id":884,"properties":{"Name":"Ferguson,Charles D","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,926.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":884},"geometry":null},{"type":"Feature","id":885,"properties":{"Name":"Lautzenheiser,Charles N","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,867.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":885},"geometry":null},{"type":"Feature","id":886,"properties":{"Name":"Meggett,Edmond D","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,653.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":886},"geometry":null},{"type":"Feature","id":887,"properties":{"Name":"Sharpe,William Darnell","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,653.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":887},"geometry":null},{"type":"Feature","id":888,"properties":{"Name":"Smith Jr,Charles Will","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,653.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":888},"geometry":null},{"type":"Feature","id":889,"properties":{"Name":"Taylor,Stanford L","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,766.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":889},"geometry":null},{"type":"Feature","id":890,"properties":{"Name":"Mash,Donna","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Office Assistant IV","Annual_Rt":"$33,478.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":890},"geometry":null},{"type":"Feature","id":891,"properties":{"Name":"Walsh,Christine A","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Office Assistant IV","Annual_Rt":"$34,243.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":891},"geometry":null},{"type":"Feature","id":892,"properties":{"Name":"Barrett Jr,John M","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Sign And Marking Technician","Annual_Rt":"$34,670.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":892},"geometry":null},{"type":"Feature","id":893,"properties":{"Name":"Howard,Michael L","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Sign And Marking Technician","Annual_Rt":"$37,009.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":893},"geometry":null},{"type":"Feature","id":894,"properties":{"Name":"Nix,John Alvin","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Sign And Marking Technician","Annual_Rt":"$34,494.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":894},"geometry":null},{"type":"Feature","id":895,"properties":{"Name":"Reynolds Jr,Eric","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Sign And Marking Technician","Annual_Rt":"$33,902.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":895},"geometry":null},{"type":"Feature","id":896,"properties":{"Name":"Stewart,David","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Sign And Marking Technician","Annual_Rt":"$37,980.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":896},"geometry":null},{"type":"Feature","id":897,"properties":{"Name":"Stockes,Gregory A","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Sign And Marking Technician","Annual_Rt":"$35,629.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":897},"geometry":null},{"type":"Feature","id":898,"properties":{"Name":"Towe,John H","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Sign And Marking Technician","Annual_Rt":"$38,682.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":898},"geometry":null},{"type":"Feature","id":899,"properties":{"Name":"Kenyon,Tom R","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Sign Fabricator","Annual_Rt":"$35,915.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":899},"geometry":null},{"type":"Feature","id":900,"properties":{"Name":"Mack,Phillip Sherard","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Sign Fabricator","Annual_Rt":"$40,282.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":900},"geometry":null},{"type":"Feature","id":901,"properties":{"Name":"Wallace,Kevin E","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Sign Fabricator","Annual_Rt":"$36,445.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":901},"geometry":null},{"type":"Feature","id":902,"properties":{"Name":"Warner II,Sherman","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Signs Fabrication Supervisor","Annual_Rt":"$50,726.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":902},"geometry":null},{"type":"Feature","id":903,"properties":{"Name":"Beard Jr,Franklin L","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Stores Supervisor","Annual_Rt":"$46,554.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":903},"geometry":null},{"type":"Feature","id":904,"properties":{"Name":"Glenn,Marcus Lamont","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Street Crew Member","Annual_Rt":"$27,674.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":904},"geometry":null},{"type":"Feature","id":905,"properties":{"Name":"Harris,Scott Bradford","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Street Crew Member","Annual_Rt":"$28,068.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":905},"geometry":null},{"type":"Feature","id":906,"properties":{"Name":"Holler,Matthew Daniel","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Street Crew Member","Annual_Rt":"$27,214.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":906},"geometry":null},{"type":"Feature","id":907,"properties":{"Name":"Krueger,Nelson","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Street Crew Member","Annual_Rt":"$27,132.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":907},"geometry":null},{"type":"Feature","id":908,"properties":{"Name":"Lynn,Cory T","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Street Crew Member","Annual_Rt":"$27,782.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":908},"geometry":null},{"type":"Feature","id":909,"properties":{"Name":"Massalay,Morris V","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Street Crew Member","Annual_Rt":"$32,031.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":909},"geometry":null},{"type":"Feature","id":910,"properties":{"Name":"McKellery Jr,James Henry","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Street Crew Member","Annual_Rt":"$27,674.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":910},"geometry":null},{"type":"Feature","id":911,"properties":{"Name":"Rabun,Arthur M","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Street Crew Member","Annual_Rt":"$28,136.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":911},"geometry":null},{"type":"Feature","id":912,"properties":{"Name":"Satmiento-Medina,Angel Miguel","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Street Crew Member","Annual_Rt":"$28,106.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":912},"geometry":null},{"type":"Feature","id":913,"properties":{"Name":"Wylie,Ricco Donnell","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Street Crew Member","Annual_Rt":"$27,132.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":913},"geometry":null},{"type":"Feature","id":914,"properties":{"Name":"Bibb,Michael Louis","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Traffic Signal Electrician","Annual_Rt":"$34,663.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":914},"geometry":null},{"type":"Feature","id":915,"properties":{"Name":"Bost,Jesse Franklin","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Traffic Signal Electrician","Annual_Rt":"$34,953.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":915},"geometry":null},{"type":"Feature","id":916,"properties":{"Name":"Camp,Larry M","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Traffic Signal Electrician","Annual_Rt":"$42,133.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":916},"geometry":null},{"type":"Feature","id":917,"properties":{"Name":"Kendall,Howell Joseph","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Traffic Signal Electrician","Annual_Rt":"$35,557.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":917},"geometry":null},{"type":"Feature","id":918,"properties":{"Name":"Maney,Mark Wayne","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Traffic Signal Electrician","Annual_Rt":"$34,954.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":918},"geometry":null},{"type":"Feature","id":919,"properties":{"Name":"Shackelford,Daniel Scott","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Traffic Signal Electrician","Annual_Rt":"$36,172.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":919},"geometry":null},{"type":"Feature","id":920,"properties":{"Name":"Smith,Jason W","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Traffic Signal Electrician","Annual_Rt":"$36,160.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":920},"geometry":null},{"type":"Feature","id":921,"properties":{"Name":"Sprinkle,Jarrett Michael","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Traffic Signal Electrician","Annual_Rt":"$34,954.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":921},"geometry":null},{"type":"Feature","id":922,"properties":{"Name":"Baxley,Preston Lee","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Traffic Signal Electrician Ld","Annual_Rt":"$39,776.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":922},"geometry":null},{"type":"Feature","id":923,"properties":{"Name":"Huffstetler,Arnold D","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Traffic Signal Electrician Ld","Annual_Rt":"$39,776.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":923},"geometry":null},{"type":"Feature","id":924,"properties":{"Name":"Shank,Bobby Lee","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Traffic Signal Electrician Ld","Annual_Rt":"$39,776.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":924},"geometry":null},{"type":"Feature","id":925,"properties":{"Name":"Thomas,Jimmy Long","Unit":"CDOT","Dept":"CDOT Operations","Job_Title":"Traffic Signal Electrician Ld","Annual_Rt":"$40,585.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":925},"geometry":null},{"type":"Feature","id":926,"properties":{"Name":"Quinn,Johanna Daniels","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Engineering Program Manager","Annual_Rt":"$88,545.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":926},"geometry":null},{"type":"Feature","id":927,"properties":{"Name":"Manchukonda,Ranjitha","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$67,797.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":927},"geometry":null},{"type":"Feature","id":928,"properties":{"Name":"Magnasco,Matthew M.","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Engineering Project Manager","Annual_Rt":"$76,381.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":928},"geometry":null},{"type":"Feature","id":929,"properties":{"Name":"Mayr,Katie Templeton","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"GIS Analyst","Annual_Rt":"$53,796.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":929},"geometry":null},{"type":"Feature","id":930,"properties":{"Name":"Castongia,Steven Michael","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"GIS Supervisor","Annual_Rt":"$67,686.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":930},"geometry":null},{"type":"Feature","id":931,"properties":{"Name":"Cohn,Jesse I","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$14.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":931},"geometry":null},{"type":"Feature","id":932,"properties":{"Name":"Obregon,Felix A.","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Senior Engineer","Annual_Rt":"$77,638.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":932},"geometry":null},{"type":"Feature","id":933,"properties":{"Name":"Hines,David K","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$90,190.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":933},"geometry":null},{"type":"Feature","id":934,"properties":{"Name":"Sorrentino,Thomas A.","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$93,491.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":934},"geometry":null},{"type":"Feature","id":935,"properties":{"Name":"Phillips,Shawn P","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Traffic Count Supervisor","Annual_Rt":"$42,344.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":935},"geometry":null},{"type":"Feature","id":936,"properties":{"Name":"James,Gary Dewayne","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Traffic Counter I","Annual_Rt":"$33,486.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":936},"geometry":null},{"type":"Feature","id":937,"properties":{"Name":"Steinman,Norman","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Trans Planning Div Manager","Annual_Rt":"$126,844.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":937},"geometry":null},{"type":"Feature","id":938,"properties":{"Name":"Gallagher,Daniel Raymond","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Trans Planning Prog Mgr","Annual_Rt":"$100,386.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":938},"geometry":null},{"type":"Feature","id":939,"properties":{"Name":"Heidel Jr,Charles M","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Analyst","Annual_Rt":"$49,974.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":939},"geometry":null},{"type":"Feature","id":940,"properties":{"Name":"Collins,J. Clifton","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Planner II","Annual_Rt":"$66,004.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":940},"geometry":null},{"type":"Feature","id":941,"properties":{"Name":"Correll,Benjamin Scott","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Planner II","Annual_Rt":"$64,304.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":941},"geometry":null},{"type":"Feature","id":942,"properties":{"Name":"Familian,Sara","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Planner II","Annual_Rt":"$69,482.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":942},"geometry":null},{"type":"Feature","id":943,"properties":{"Name":"Grzymski,Andrew T.","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Planner II","Annual_Rt":"$80,324.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":943},"geometry":null},{"type":"Feature","id":944,"properties":{"Name":"Haynes,Eldewins Mortimer","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Planner II","Annual_Rt":"$79,258.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":944},"geometry":null},{"type":"Feature","id":945,"properties":{"Name":"Miller,Benjamin Grant","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Planner II","Annual_Rt":"$64,304.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":945},"geometry":null},{"type":"Feature","id":946,"properties":{"Name":"Tippette,Kenneth J.","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Planner II","Annual_Rt":"$81,671.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":946},"geometry":null},{"type":"Feature","id":947,"properties":{"Name":"Coleman,Vivian Davis","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Planner III","Annual_Rt":"$92,827.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":947},"geometry":null},{"type":"Feature","id":948,"properties":{"Name":"Gallup,Anna Hayes","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Planner III","Annual_Rt":"$91,704.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":948},"geometry":null},{"type":"Feature","id":949,"properties":{"Name":"Gibbs,Timothy D","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Planner III","Annual_Rt":"$102,454.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":949},"geometry":null},{"type":"Feature","id":950,"properties":{"Name":"Kinnamon,Martin L","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Planner III","Annual_Rt":"$78,276.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":950},"geometry":null},{"type":"Feature","id":951,"properties":{"Name":"McLelland,Joseph W","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Planner III","Annual_Rt":null,"Hrly_Rate":"$49.38 ","RegTemp":"T","Full/Part":"P","OBJECTID":951},"geometry":null},{"type":"Feature","id":952,"properties":{"Name":"Newsome,Tracy H","Unit":"CDOT","Dept":"CDOT Planning and Design","Job_Title":"Transportation Planner III","Annual_Rt":"$93,521.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":952},"geometry":null},{"type":"Feature","id":953,"properties":{"Name":"Gibson,Clement K","Unit":"CDOT","Dept":"CDOT- Public Service","Job_Title":"Administrative Officer II","Annual_Rt":"$58,039.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":953},"geometry":null},{"type":"Feature","id":954,"properties":{"Name":"Huss,Todd Michael","Unit":"CDOT","Dept":"CDOT- Public Service","Job_Title":"Eng Services Investigator","Annual_Rt":"$55,188.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":954},"geometry":null},{"type":"Feature","id":955,"properties":{"Name":"Inge,Candace Leigh","Unit":"CDOT","Dept":"CDOT- Public Service","Job_Title":"Eng Services Investigator","Annual_Rt":"$50,180.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":955},"geometry":null},{"type":"Feature","id":956,"properties":{"Name":"Keyes,Jennifer V","Unit":"CDOT","Dept":"CDOT- Public Service","Job_Title":"Eng Services Investigator","Annual_Rt":"$44,761.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":956},"geometry":null},{"type":"Feature","id":957,"properties":{"Name":"VonCannon,Terry S","Unit":"CDOT","Dept":"CDOT- Public Service","Job_Title":"Eng Services Investigator","Annual_Rt":"$49,696.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":957},"geometry":null},{"type":"Feature","id":958,"properties":{"Name":"Williams,Lamar J","Unit":"CDOT","Dept":"CDOT- Public Service","Job_Title":"Eng Services Investigator","Annual_Rt":"$48,894.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":958},"geometry":null},{"type":"Feature","id":959,"properties":{"Name":"Gallup Jr,Robert F","Unit":"CDOT","Dept":"CDOT- Public Service","Job_Title":"Engineering Services Supv","Annual_Rt":"$63,861.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":959},"geometry":null},{"type":"Feature","id":960,"properties":{"Name":"Moore,Billie S","Unit":"CDOT","Dept":"CDOT- Public Service","Job_Title":"Office Assistant IV","Annual_Rt":"$36,877.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":960},"geometry":null},{"type":"Feature","id":961,"properties":{"Name":"Blue,Tamara C","Unit":"CDOT","Dept":"CDOT- Public Service","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$61,661.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":961},"geometry":null},{"type":"Feature","id":962,"properties":{"Name":"Durrett,Linda Ellen","Unit":"CDOT","Dept":"CDOT- Public Service","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$67,532.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":962},"geometry":null},{"type":"Feature","id":963,"properties":{"Name":"Szymanski,Margaret D","Unit":"CDOT","Dept":"CDOT- Public Service","Job_Title":"Public Services Division Mgr","Annual_Rt":"$90,785.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":963},"geometry":null},{"type":"Feature","id":964,"properties":{"Name":"Kilgo,Bret M","Unit":"CDOT","Dept":"Right of Way Use Program","Job_Title":"Construction Inspector","Annual_Rt":"$49,998.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":964},"geometry":null},{"type":"Feature","id":965,"properties":{"Name":"Helms,Michael S.","Unit":"CDOT","Dept":"Right of Way Use Program","Job_Title":"Engineering Assistant","Annual_Rt":"$54,271.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":965},"geometry":null},{"type":"Feature","id":966,"properties":{"Name":"Staley,Robert A.","Unit":"CDOT","Dept":"Right of Way Use Program","Job_Title":"Engineering Assistant","Annual_Rt":"$57,677.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":966},"geometry":null},{"type":"Feature","id":967,"properties":{"Name":"Desai,Kruti S","Unit":"CDOT","Dept":"Right of Way Use Program","Job_Title":"Engineering Program Manager","Annual_Rt":"$92,527.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":967},"geometry":null},{"type":"Feature","id":968,"properties":{"Name":"Morris,Douglas W.","Unit":"CDOT","Dept":"Right of Way Use Program","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$71,029.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":968},"geometry":null},{"type":"Feature","id":969,"properties":{"Name":"Poissant,Linda B","Unit":"CDOT","Dept":"Right of Way Use Program","Job_Title":"Engineering Services Supv","Annual_Rt":"$58,093.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":969},"geometry":null},{"type":"Feature","id":970,"properties":{"Name":"Hill,Jeremy W.","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Construction Inspector","Annual_Rt":"$48,206.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":970},"geometry":null},{"type":"Feature","id":971,"properties":{"Name":"Baker,Joshua Ian","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator II","Annual_Rt":"$32,748.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":971},"geometry":null},{"type":"Feature","id":972,"properties":{"Name":"Bollinger,Marvin N","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator II","Annual_Rt":"$35,063.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":972},"geometry":null},{"type":"Feature","id":973,"properties":{"Name":"Brown,Matthew Benson","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator II","Annual_Rt":"$33,254.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":973},"geometry":null},{"type":"Feature","id":974,"properties":{"Name":"Cherry,Harold Gregory","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator II","Annual_Rt":"$34,978.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":974},"geometry":null},{"type":"Feature","id":975,"properties":{"Name":"Gayle,Volster Seon","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator II","Annual_Rt":"$33,919.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":975},"geometry":null},{"type":"Feature","id":976,"properties":{"Name":"Guy,Roger Leon","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator II","Annual_Rt":"$34,343.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":976},"geometry":null},{"type":"Feature","id":977,"properties":{"Name":"Hudson,Milton C.","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator II","Annual_Rt":"$34,343.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":977},"geometry":null},{"type":"Feature","id":978,"properties":{"Name":"Jones,Joseph E","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator II","Annual_Rt":"$33,254.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":978},"geometry":null},{"type":"Feature","id":979,"properties":{"Name":"McGinnis,James L.","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator II","Annual_Rt":"$33,342.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":979},"geometry":null},{"type":"Feature","id":980,"properties":{"Name":"Sarkoi,Sumanta","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator II","Annual_Rt":"$34,343.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":980},"geometry":null},{"type":"Feature","id":981,"properties":{"Name":"Taylor Jr,Robert Clark","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator II","Annual_Rt":"$35,063.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":981},"geometry":null},{"type":"Feature","id":982,"properties":{"Name":"Wilkes Jr,David L","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator II","Annual_Rt":"$34,326.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":982},"geometry":null},{"type":"Feature","id":983,"properties":{"Name":"Williams,Harlan H","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator II","Annual_Rt":"$36,200.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":983},"geometry":null},{"type":"Feature","id":984,"properties":{"Name":"Campbell,Jonas L","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator III","Annual_Rt":"$38,365.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":984},"geometry":null},{"type":"Feature","id":985,"properties":{"Name":"Gambill,Donald M","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator III","Annual_Rt":"$41,596.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":985},"geometry":null},{"type":"Feature","id":986,"properties":{"Name":"McLendon,Gerry","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator III","Annual_Rt":"$39,799.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":986},"geometry":null},{"type":"Feature","id":987,"properties":{"Name":"Miller,Verlie S","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator III","Annual_Rt":"$38,194.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":987},"geometry":null},{"type":"Feature","id":988,"properties":{"Name":"Potts,Raymond Edwards","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator III","Annual_Rt":"$40,082.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":988},"geometry":null},{"type":"Feature","id":989,"properties":{"Name":"Stephens,Edwin D","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator III","Annual_Rt":"$43,960.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":989},"geometry":null},{"type":"Feature","id":990,"properties":{"Name":"Talbot,John Matthew","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Equipment Operator III","Annual_Rt":"$37,595.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":990},"geometry":null},{"type":"Feature","id":991,"properties":{"Name":"Osborne,Jeffrey Gerald","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Field Operations Supervisor","Annual_Rt":"$59,061.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":991},"geometry":null},{"type":"Feature","id":992,"properties":{"Name":"Shaw,Charles F","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Field Operations Supervisor","Annual_Rt":"$59,061.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":992},"geometry":null},{"type":"Feature","id":993,"properties":{"Name":"Isom,Kelvin L","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief I","Annual_Rt":"$37,538.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":993},"geometry":null},{"type":"Feature","id":994,"properties":{"Name":"Lewis,Scott Allen","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief I","Annual_Rt":"$36,161.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":994},"geometry":null},{"type":"Feature","id":995,"properties":{"Name":"Woodard,Bernadette T","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief I","Annual_Rt":"$37,687.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":995},"geometry":null},{"type":"Feature","id":996,"properties":{"Name":"Bernhard,Eugene Gilbert","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,548.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":996},"geometry":null},{"type":"Feature","id":997,"properties":{"Name":"Campbell,Timothy L","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief II","Annual_Rt":"$55,429.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":997},"geometry":null},{"type":"Feature","id":998,"properties":{"Name":"Clay,Barney I.","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,649.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":998},"geometry":null},{"type":"Feature","id":999,"properties":{"Name":"Cochran II,William Frank","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,434.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":999},"geometry":null},{"type":"Feature","id":1000,"properties":{"Name":"Dunn,Michael B","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,542.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1000},"geometry":null},{"type":"Feature","id":1001,"properties":{"Name":"Hewett,Germaine","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,434.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1001},"geometry":null},{"type":"Feature","id":1002,"properties":{"Name":"Ilnitskiy,Veniamin O","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,137.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1002},"geometry":null},{"type":"Feature","id":1003,"properties":{"Name":"Phillips Jr,Gary Neil","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,434.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1003},"geometry":null},{"type":"Feature","id":1004,"properties":{"Name":"Powers,Robert W","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief II","Annual_Rt":"$45,776.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1004},"geometry":null},{"type":"Feature","id":1005,"properties":{"Name":"Russ,Larry G","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief II","Annual_Rt":"$51,198.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1005},"geometry":null},{"type":"Feature","id":1006,"properties":{"Name":"Turner,Glen R","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,137.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1006},"geometry":null},{"type":"Feature","id":1007,"properties":{"Name":"Anderson,Jerry A","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Mason","Annual_Rt":"$38,208.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1007},"geometry":null},{"type":"Feature","id":1008,"properties":{"Name":"Caldwell,Therald Stuart","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Mason","Annual_Rt":"$36,962.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1008},"geometry":null},{"type":"Feature","id":1009,"properties":{"Name":"Earl,Jerry","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Mason","Annual_Rt":"$38,443.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1009},"geometry":null},{"type":"Feature","id":1010,"properties":{"Name":"Glenn,John W","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Mason","Annual_Rt":"$42,854.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1010},"geometry":null},{"type":"Feature","id":1011,"properties":{"Name":"Hoke,Derrick A","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Mason","Annual_Rt":"$38,208.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1011},"geometry":null},{"type":"Feature","id":1012,"properties":{"Name":"Hopkins,Jeffery Wayne","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Mason","Annual_Rt":"$36,916.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1012},"geometry":null},{"type":"Feature","id":1013,"properties":{"Name":"Inman,Steven Lyle","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Mason","Annual_Rt":"$39,558.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1013},"geometry":null},{"type":"Feature","id":1014,"properties":{"Name":"Kennedy Jr,Henry J","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Mason","Annual_Rt":"$38,116.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1014},"geometry":null},{"type":"Feature","id":1015,"properties":{"Name":"Martucci,Fiorenzo","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Mason","Annual_Rt":"$38,457.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1015},"geometry":null},{"type":"Feature","id":1016,"properties":{"Name":"Rushing,Brian","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Mason","Annual_Rt":"$38,380.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1016},"geometry":null},{"type":"Feature","id":1017,"properties":{"Name":"Wheeler Jr,Jimmy Neal","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Mason","Annual_Rt":"$38,177.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1017},"geometry":null},{"type":"Feature","id":1018,"properties":{"Name":"Long,Elizabeth Belk","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Office Assistant IV","Annual_Rt":"$36,005.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1018},"geometry":null},{"type":"Feature","id":1019,"properties":{"Name":"Bartlett Jr,Anthony W","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Operations Supervisor","Annual_Rt":"$74,503.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1019},"geometry":null},{"type":"Feature","id":1020,"properties":{"Name":"Diberardino,Robert D","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Storekeeper Senior","Annual_Rt":"$41,907.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1020},"geometry":null},{"type":"Feature","id":1021,"properties":{"Name":"Frazier,Anquinn Q.","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Street Crew Member","Annual_Rt":"$28,061.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1021},"geometry":null},{"type":"Feature","id":1022,"properties":{"Name":"Gamble,Patrick Burt","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Street Crew Member","Annual_Rt":"$28,061.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1022},"geometry":null},{"type":"Feature","id":1023,"properties":{"Name":"Hamilton Sr,Mickle Lamar","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Street Crew Member","Annual_Rt":"$26,830.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1023},"geometry":null},{"type":"Feature","id":1024,"properties":{"Name":"Howze,Anthony","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Street Crew Member","Annual_Rt":"$28,129.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1024},"geometry":null},{"type":"Feature","id":1025,"properties":{"Name":"Johnson,Bruce Kevin","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Street Crew Member","Annual_Rt":"$28,061.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1025},"geometry":null},{"type":"Feature","id":1026,"properties":{"Name":"Johnson,Jerry Lewis","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Street Crew Member","Annual_Rt":"$27,307.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1026},"geometry":null},{"type":"Feature","id":1027,"properties":{"Name":"Mahatha,Carl R","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Street Crew Member","Annual_Rt":"$28,635.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1027},"geometry":null},{"type":"Feature","id":1028,"properties":{"Name":"Sanders,Shannon Jerrell","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Street Crew Member","Annual_Rt":"$27,373.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1028},"geometry":null},{"type":"Feature","id":1029,"properties":{"Name":"Smith Jr,Christopher Earl","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Street Crew Member","Annual_Rt":"$26,566.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1029},"geometry":null},{"type":"Feature","id":1030,"properties":{"Name":"Stevens,Keith Tyrell","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Street Crew Member","Annual_Rt":"$28,129.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1030},"geometry":null},{"type":"Feature","id":1031,"properties":{"Name":"Williams,Robert S","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Street Crew Member","Annual_Rt":"$28,358.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1031},"geometry":null},{"type":"Feature","id":1032,"properties":{"Name":"Wright,David Savalas","Unit":"CDOT","Dept":"SMD - Central Yard","Job_Title":"Street Crew Member","Annual_Rt":"$26,830.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1032},"geometry":null},{"type":"Feature","id":1033,"properties":{"Name":"Alexander,Cheryl G.","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Administrative Officer I","Annual_Rt":"$48,277.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1033},"geometry":null},{"type":"Feature","id":1034,"properties":{"Name":"Bradley,Stephanie","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Administrative Officer I","Annual_Rt":"$43,599.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1034},"geometry":null},{"type":"Feature","id":1035,"properties":{"Name":"Hoke,Paoli Ella","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Administrative Officer I","Annual_Rt":"$48,656.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1035},"geometry":null},{"type":"Feature","id":1036,"properties":{"Name":"Peeler,Larry E","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Administrative Officer I","Annual_Rt":null,"Hrly_Rate":"$22.72 ","RegTemp":"T","Full/Part":"P","OBJECTID":1036},"geometry":null},{"type":"Feature","id":1037,"properties":{"Name":"Clark,Mike John","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Administrative Officer II","Annual_Rt":"$57,514.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1037},"geometry":null},{"type":"Feature","id":1038,"properties":{"Name":"Barnes,Charles T.","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Administrative Officer III","Annual_Rt":"$55,602.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1038},"geometry":null},{"type":"Feature","id":1039,"properties":{"Name":"Crowder,Capryce D","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Administrative Officer III","Annual_Rt":"$58,135.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1039},"geometry":null},{"type":"Feature","id":1040,"properties":{"Name":"Jones,Charles L","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Administrative Officer IV","Annual_Rt":"$80,010.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1040},"geometry":null},{"type":"Feature","id":1041,"properties":{"Name":"Walker,Vanessa","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$62,454.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1041},"geometry":null},{"type":"Feature","id":1042,"properties":{"Name":"Hauger,Thomas Eugene","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Contract Estimator","Annual_Rt":"$53,550.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1042},"geometry":null},{"type":"Feature","id":1043,"properties":{"Name":"Hedrick,David A","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Contract Estimator","Annual_Rt":"$54,347.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1043},"geometry":null},{"type":"Feature","id":1044,"properties":{"Name":"Black,Jeffrey Ray","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Contract Estimator Supervisor","Annual_Rt":"$62,147.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1044},"geometry":null},{"type":"Feature","id":1045,"properties":{"Name":"Dolschenko,Kim Fowler","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Office Assistant IV","Annual_Rt":"$34,645.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1045},"geometry":null},{"type":"Feature","id":1046,"properties":{"Name":"Sigler,Terry Carlisle","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Office Assistant IV","Annual_Rt":"$35,338.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1046},"geometry":null},{"type":"Feature","id":1047,"properties":{"Name":"Gaines Sr,Paul McKinley","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Service Dispatcher","Annual_Rt":"$33,180.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1047},"geometry":null},{"type":"Feature","id":1048,"properties":{"Name":"Knox,Brenda L","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Service Dispatcher","Annual_Rt":"$34,347.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1048},"geometry":null},{"type":"Feature","id":1049,"properties":{"Name":"Martin,Kenneth E","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Street Maint Operations Mgr","Annual_Rt":"$85,610.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1049},"geometry":null},{"type":"Feature","id":1050,"properties":{"Name":"Humphrey,Naimah Elise","Unit":"CDOT","Dept":"SMD-Administration","Job_Title":"Training Specialist","Annual_Rt":"$63,342.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1050},"geometry":null},{"type":"Feature","id":1051,"properties":{"Name":"Hubbard,Jason A.","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Construction Inspector","Annual_Rt":"$47,400.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1051},"geometry":null},{"type":"Feature","id":1052,"properties":{"Name":"Ardrey,Ricky A.","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$35,063.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1052},"geometry":null},{"type":"Feature","id":1053,"properties":{"Name":"Barringer,Dominic D","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$37,286.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1053},"geometry":null},{"type":"Feature","id":1054,"properties":{"Name":"Benfield,Bobby D","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$33,800.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1054},"geometry":null},{"type":"Feature","id":1055,"properties":{"Name":"Craig,Ronnie L.","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$33,254.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1055},"geometry":null},{"type":"Feature","id":1056,"properties":{"Name":"Gibson,Charles Ryan","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$33,877.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1056},"geometry":null},{"type":"Feature","id":1057,"properties":{"Name":"Hyde,Brian Dale","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$32,748.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1057},"geometry":null},{"type":"Feature","id":1058,"properties":{"Name":"Kendrick,Nelson Lee","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$34,343.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1058},"geometry":null},{"type":"Feature","id":1059,"properties":{"Name":"Lutz,John Timothy","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$33,719.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1059},"geometry":null},{"type":"Feature","id":1060,"properties":{"Name":"McCauley,Michael R","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$35,063.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1060},"geometry":null},{"type":"Feature","id":1061,"properties":{"Name":"Miller III,James Perstine","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$35,063.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1061},"geometry":null},{"type":"Feature","id":1062,"properties":{"Name":"Nieder,Christopher J","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$33,254.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1062},"geometry":null},{"type":"Feature","id":1063,"properties":{"Name":"Ramsey,Scott M","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$35,016.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1063},"geometry":null},{"type":"Feature","id":1064,"properties":{"Name":"Santiago,Jose A","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$34,342.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1064},"geometry":null},{"type":"Feature","id":1065,"properties":{"Name":"Singh,Brian H","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$36,979.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1065},"geometry":null},{"type":"Feature","id":1066,"properties":{"Name":"Stafford,Rickie","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$38,898.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1066},"geometry":null},{"type":"Feature","id":1067,"properties":{"Name":"Wallace,Timothy D.","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator II","Annual_Rt":"$34,343.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1067},"geometry":null},{"type":"Feature","id":1068,"properties":{"Name":"Flores,Anthony Ricardo","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator III","Annual_Rt":"$38,272.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1068},"geometry":null},{"type":"Feature","id":1069,"properties":{"Name":"Grissom Jr,James Willie","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator III","Annual_Rt":"$38,272.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1069},"geometry":null},{"type":"Feature","id":1070,"properties":{"Name":"Hattaway,Coleman Alexander","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator III","Annual_Rt":"$37,471.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1070},"geometry":null},{"type":"Feature","id":1071,"properties":{"Name":"Jenkins,Gary R","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator III","Annual_Rt":"$39,343.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1071},"geometry":null},{"type":"Feature","id":1072,"properties":{"Name":"Piggee,Terrance Shaunar","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator III","Annual_Rt":"$38,365.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1072},"geometry":null},{"type":"Feature","id":1073,"properties":{"Name":"Summerour,Eric Garland","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator III","Annual_Rt":"$36,746.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1073},"geometry":null},{"type":"Feature","id":1074,"properties":{"Name":"Weidemann,Eric O.","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator III","Annual_Rt":"$40,107.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1074},"geometry":null},{"type":"Feature","id":1075,"properties":{"Name":"Williams,Tracy Allen","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator III","Annual_Rt":"$40,079.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1075},"geometry":null},{"type":"Feature","id":1076,"properties":{"Name":"Wilson,Ray E","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Equipment Operator III","Annual_Rt":"$39,489.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1076},"geometry":null},{"type":"Feature","id":1077,"properties":{"Name":"Vilagos Jr,Joseph J","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Field Operations Supervisor","Annual_Rt":"$57,868.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1077},"geometry":null},{"type":"Feature","id":1078,"properties":{"Name":"Blackmon,Melvin L","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief I","Annual_Rt":"$39,271.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1078},"geometry":null},{"type":"Feature","id":1079,"properties":{"Name":"Burney,Monica Dolores","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief I","Annual_Rt":"$36,322.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1079},"geometry":null},{"type":"Feature","id":1080,"properties":{"Name":"Davis,Floyd Dwayne","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief I","Annual_Rt":"$38,116.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1080},"geometry":null},{"type":"Feature","id":1081,"properties":{"Name":"Jones,Gerrod A","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief I","Annual_Rt":"$37,538.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1081},"geometry":null},{"type":"Feature","id":1082,"properties":{"Name":"Basaldua,Miguel","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,491.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1082},"geometry":null},{"type":"Feature","id":1083,"properties":{"Name":"Depue,Carl E","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,441.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1083},"geometry":null},{"type":"Feature","id":1084,"properties":{"Name":"Grissom,Tori L","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,132.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1084},"geometry":null},{"type":"Feature","id":1085,"properties":{"Name":"Hatley,Ricky D","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$47,153.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1085},"geometry":null},{"type":"Feature","id":1086,"properties":{"Name":"Hatley,Ronnie J","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$51,815.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1086},"geometry":null},{"type":"Feature","id":1087,"properties":{"Name":"Helms,Curtis W.","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,893.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1087},"geometry":null},{"type":"Feature","id":1088,"properties":{"Name":"Hendricks,Michael C","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,057.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1088},"geometry":null},{"type":"Feature","id":1089,"properties":{"Name":"Osborne,Dana Lee","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,966.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1089},"geometry":null},{"type":"Feature","id":1090,"properties":{"Name":"Peeters,Jacobus Lee","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,628.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1090},"geometry":null},{"type":"Feature","id":1091,"properties":{"Name":"Phifer,Chad Derrick","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,913.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1091},"geometry":null},{"type":"Feature","id":1092,"properties":{"Name":"Todd,Darryl Lynn","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,067.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1092},"geometry":null},{"type":"Feature","id":1093,"properties":{"Name":"Almonte,Juan A","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Mason","Annual_Rt":"$37,024.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1093},"geometry":null},{"type":"Feature","id":1094,"properties":{"Name":"Bryant,Lonnie L","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Mason","Annual_Rt":"$38,116.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1094},"geometry":null},{"type":"Feature","id":1095,"properties":{"Name":"Caldwell,Christopher Dana","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Mason","Annual_Rt":"$37,359.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1095},"geometry":null},{"type":"Feature","id":1096,"properties":{"Name":"Dry,Randy Eugene","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Mason","Annual_Rt":"$36,962.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1096},"geometry":null},{"type":"Feature","id":1097,"properties":{"Name":"Ganzert,Christopher George","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Mason","Annual_Rt":"$37,023.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1097},"geometry":null},{"type":"Feature","id":1098,"properties":{"Name":"Lewis,Ricky L","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Mason","Annual_Rt":"$37,449.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1098},"geometry":null},{"type":"Feature","id":1099,"properties":{"Name":"Mclaughlin,Curtis","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Mason","Annual_Rt":"$36,934.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1099},"geometry":null},{"type":"Feature","id":1100,"properties":{"Name":"McLaughlin,Curtis John","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Mason","Annual_Rt":"$38,772.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1100},"geometry":null},{"type":"Feature","id":1101,"properties":{"Name":"Smith,Mark Anthony","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Mason","Annual_Rt":"$37,449.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1101},"geometry":null},{"type":"Feature","id":1102,"properties":{"Name":"Jones,Brenda H","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Office Assistant IV","Annual_Rt":"$42,453.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1102},"geometry":null},{"type":"Feature","id":1103,"properties":{"Name":"Shabani,Othman I","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Operations Supervisor","Annual_Rt":"$74,145.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1103},"geometry":null},{"type":"Feature","id":1104,"properties":{"Name":"Jenkins,Scott Derek","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Storekeeper Senior","Annual_Rt":"$36,303.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1104},"geometry":null},{"type":"Feature","id":1105,"properties":{"Name":"Canady,Nathaniel W","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Street Crew Member","Annual_Rt":"$28,129.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1105},"geometry":null},{"type":"Feature","id":1106,"properties":{"Name":"Hall,Keith E","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Street Crew Member","Annual_Rt":"$25,740.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1106},"geometry":null},{"type":"Feature","id":1107,"properties":{"Name":"Harris,Vernon E","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Street Crew Member","Annual_Rt":"$29,501.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1107},"geometry":null},{"type":"Feature","id":1108,"properties":{"Name":"Jackson,James Markese","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Street Crew Member","Annual_Rt":"$27,373.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1108},"geometry":null},{"type":"Feature","id":1109,"properties":{"Name":"Jackson,Pamela J","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Street Crew Member","Annual_Rt":"$28,069.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1109},"geometry":null},{"type":"Feature","id":1110,"properties":{"Name":"McCloud,Steven","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Street Crew Member","Annual_Rt":"$28,061.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1110},"geometry":null},{"type":"Feature","id":1111,"properties":{"Name":"Mendez,Jorge Luis","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Street Crew Member","Annual_Rt":"$26,529.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1111},"geometry":null},{"type":"Feature","id":1112,"properties":{"Name":"Price,Randal R","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Street Crew Member","Annual_Rt":"$29,733.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1112},"geometry":null},{"type":"Feature","id":1113,"properties":{"Name":"Ross,Jaraude R","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Street Crew Member","Annual_Rt":"$27,307.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1113},"geometry":null},{"type":"Feature","id":1114,"properties":{"Name":"Waddy,Bradley Nathaniel","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Street Crew Member","Annual_Rt":"$27,488.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1114},"geometry":null},{"type":"Feature","id":1115,"properties":{"Name":"White,Lionel E","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Street Crew Member","Annual_Rt":"$27,373.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1115},"geometry":null},{"type":"Feature","id":1116,"properties":{"Name":"Williams,Ueine Trevaughn","Unit":"CDOT","Dept":"SMD-NE District","Job_Title":"Street Crew Member","Annual_Rt":"$26,227.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1116},"geometry":null},{"type":"Feature","id":1117,"properties":{"Name":"Hankins,Donnell P","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Construction Inspector","Annual_Rt":"$48,324.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1117},"geometry":null},{"type":"Feature","id":1118,"properties":{"Name":"Aldridge,Michael A","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator II","Annual_Rt":"$35,063.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1118},"geometry":null},{"type":"Feature","id":1119,"properties":{"Name":"Cousin,Neco L","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator II","Annual_Rt":"$34,101.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1119},"geometry":null},{"type":"Feature","id":1120,"properties":{"Name":"Guthrie,Cedric Reeves","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator II","Annual_Rt":"$35,315.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1120},"geometry":null},{"type":"Feature","id":1121,"properties":{"Name":"Hoke,Corey Neagle","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator II","Annual_Rt":"$34,508.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1121},"geometry":null},{"type":"Feature","id":1122,"properties":{"Name":"Howell,Joshua Scott","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator II","Annual_Rt":"$33,254.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1122},"geometry":null},{"type":"Feature","id":1123,"properties":{"Name":"Macias,Leonardo","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator II","Annual_Rt":"$33,313.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1123},"geometry":null},{"type":"Feature","id":1124,"properties":{"Name":"McKnight,Howard Delmon","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator II","Annual_Rt":"$33,802.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1124},"geometry":null},{"type":"Feature","id":1125,"properties":{"Name":"McLeod,Robert Lee","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator II","Annual_Rt":"$35,063.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1125},"geometry":null},{"type":"Feature","id":1126,"properties":{"Name":"Parrish,Chanda Renee","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator II","Annual_Rt":"$33,801.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1126},"geometry":null},{"type":"Feature","id":1127,"properties":{"Name":"Savage,Douglas Kevin","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator II","Annual_Rt":"$33,254.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1127},"geometry":null},{"type":"Feature","id":1128,"properties":{"Name":"Torrise,Anthony S","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator II","Annual_Rt":"$37,955.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1128},"geometry":null},{"type":"Feature","id":1129,"properties":{"Name":"Walker Jr,Hullen Christopher","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator II","Annual_Rt":"$33,254.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1129},"geometry":null},{"type":"Feature","id":1130,"properties":{"Name":"Williams,Kenneth Kwame","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator II","Annual_Rt":"$33,254.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1130},"geometry":null},{"type":"Feature","id":1131,"properties":{"Name":"Canty,Christopher M","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator III","Annual_Rt":"$39,344.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1131},"geometry":null},{"type":"Feature","id":1132,"properties":{"Name":"Forney,Quinton D.","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator III","Annual_Rt":"$38,364.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1132},"geometry":null},{"type":"Feature","id":1133,"properties":{"Name":"LaMon,Reginald D.","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator III","Annual_Rt":"$38,552.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1133},"geometry":null},{"type":"Feature","id":1134,"properties":{"Name":"Polk,Brint Calvin","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator III","Annual_Rt":"$37,471.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1134},"geometry":null},{"type":"Feature","id":1135,"properties":{"Name":"Ramby,David Michael","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator III","Annual_Rt":"$38,272.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1135},"geometry":null},{"type":"Feature","id":1136,"properties":{"Name":"Rhyne,Marqvis K","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator III","Annual_Rt":"$38,738.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1136},"geometry":null},{"type":"Feature","id":1137,"properties":{"Name":"Willis,Charles E","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Equipment Operator III","Annual_Rt":"$41,191.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1137},"geometry":null},{"type":"Feature","id":1138,"properties":{"Name":"Halaburda Jr,William J","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Field Operations Supervisor","Annual_Rt":"$59,041.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1138},"geometry":null},{"type":"Feature","id":1139,"properties":{"Name":"Moore,Dwyane P","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Field Operations Supervisor","Annual_Rt":"$58,042.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1139},"geometry":null},{"type":"Feature","id":1140,"properties":{"Name":"Kerns,Steven B","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief I","Annual_Rt":"$38,973.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1140},"geometry":null},{"type":"Feature","id":1141,"properties":{"Name":"Marsh,Michael Anthony","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief I","Annual_Rt":"$40,358.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1141},"geometry":null},{"type":"Feature","id":1142,"properties":{"Name":"McKinley,William","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief I","Annual_Rt":"$36,376.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1142},"geometry":null},{"type":"Feature","id":1143,"properties":{"Name":"Patton,Emmanuel F","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief I","Annual_Rt":"$38,994.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1143},"geometry":null},{"type":"Feature","id":1144,"properties":{"Name":"Bednarik,Bradley Joe","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,057.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1144},"geometry":null},{"type":"Feature","id":1145,"properties":{"Name":"Bednarik,John A","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,960.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1145},"geometry":null},{"type":"Feature","id":1146,"properties":{"Name":"Bednarik,Joseph L","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,434.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1146},"geometry":null},{"type":"Feature","id":1147,"properties":{"Name":"Blue,Ernest W","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,772.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1147},"geometry":null},{"type":"Feature","id":1148,"properties":{"Name":"Efird,Curtis N","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$50,974.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1148},"geometry":null},{"type":"Feature","id":1149,"properties":{"Name":"Hager III,Franklin Dewey","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,371.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1149},"geometry":null},{"type":"Feature","id":1150,"properties":{"Name":"Houston,Adrian T","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,161.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1150},"geometry":null},{"type":"Feature","id":1151,"properties":{"Name":"Moore,Maurice Augusta","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,430.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1151},"geometry":null},{"type":"Feature","id":1152,"properties":{"Name":"Smith,John Grayson","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,987.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1152},"geometry":null},{"type":"Feature","id":1153,"properties":{"Name":"Sowell,Calvin E","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Labor Crew Chief II","Annual_Rt":"$53,051.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1153},"geometry":null},{"type":"Feature","id":1154,"properties":{"Name":"Adams,Travis Eugene","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Mason","Annual_Rt":"$37,359.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1154},"geometry":null},{"type":"Feature","id":1155,"properties":{"Name":"Anderson Jr,Clary Fredrick","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Mason","Annual_Rt":"$38,208.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1155},"geometry":null},{"type":"Feature","id":1156,"properties":{"Name":"Austin,Chad Michael","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Mason","Annual_Rt":"$39,531.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1156},"geometry":null},{"type":"Feature","id":1157,"properties":{"Name":"Gibson,Kasy T","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Mason","Annual_Rt":"$36,917.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1157},"geometry":null},{"type":"Feature","id":1158,"properties":{"Name":"Harris,Phillip T.","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Mason","Annual_Rt":"$37,359.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1158},"geometry":null},{"type":"Feature","id":1159,"properties":{"Name":"Hoke Jr,Richard Eugene","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Mason","Annual_Rt":"$37,539.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1159},"geometry":null},{"type":"Feature","id":1160,"properties":{"Name":"Pearce,Terrance C.","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Mason","Annual_Rt":"$37,359.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1160},"geometry":null},{"type":"Feature","id":1161,"properties":{"Name":"Potts,Marcus D","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Mason","Annual_Rt":"$38,300.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1161},"geometry":null},{"type":"Feature","id":1162,"properties":{"Name":"Smith,Calvin M","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Mason","Annual_Rt":"$37,742.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1162},"geometry":null},{"type":"Feature","id":1163,"properties":{"Name":"Westmoreland,Kelly L","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Office Assistant IV","Annual_Rt":"$40,077.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1163},"geometry":null},{"type":"Feature","id":1164,"properties":{"Name":"DeGreeff Jr,Raymond Lawrence","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Operations Supervisor","Annual_Rt":"$74,231.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1164},"geometry":null},{"type":"Feature","id":1165,"properties":{"Name":"Barnes,Jerry L","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Storekeeper Senior","Annual_Rt":"$42,408.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1165},"geometry":null},{"type":"Feature","id":1166,"properties":{"Name":"Davis,Savien J","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Street Crew Member","Annual_Rt":"$27,307.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1166},"geometry":null},{"type":"Feature","id":1167,"properties":{"Name":"Lavine,Johnathan Michael","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Street Crew Member","Annual_Rt":"$26,529.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1167},"geometry":null},{"type":"Feature","id":1168,"properties":{"Name":"Lavoie,John Louis","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Street Crew Member","Annual_Rt":"$27,439.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1168},"geometry":null},{"type":"Feature","id":1169,"properties":{"Name":"McIntyre,David L","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Street Crew Member","Annual_Rt":"$32,616.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1169},"geometry":null},{"type":"Feature","id":1170,"properties":{"Name":"Steele,James R.","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Street Crew Member","Annual_Rt":"$28,129.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1170},"geometry":null},{"type":"Feature","id":1171,"properties":{"Name":"Stuckey,Raymond Harold","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Street Crew Member","Annual_Rt":"$27,307.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1171},"geometry":null},{"type":"Feature","id":1172,"properties":{"Name":"White Jr,Kenneth Branon","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Street Crew Member","Annual_Rt":"$26,529.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1172},"geometry":null},{"type":"Feature","id":1173,"properties":{"Name":"Williams,Anthony A","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Street Crew Member","Annual_Rt":"$27,307.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1173},"geometry":null},{"type":"Feature","id":1174,"properties":{"Name":"Woods,Jahmad Antoine","Unit":"CDOT","Dept":"SMD-South West District","Job_Title":"Street Crew Member","Annual_Rt":"$27,307.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1174},"geometry":null},{"type":"Feature","id":1175,"properties":{"Name":"McGovern,Tonya Lea","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Administrative Officer III","Annual_Rt":"$61,860.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1175},"geometry":null},{"type":"Feature","id":1176,"properties":{"Name":"Cochrane,Margaret L","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Assistant City Attorney I","Annual_Rt":"$76,980.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1176},"geometry":null},{"type":"Feature","id":1177,"properties":{"Name":"Peterson,Daniel E","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Assistant City Attorney I","Annual_Rt":"$76,980.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1177},"geometry":null},{"type":"Feature","id":1178,"properties":{"Name":"Branham,Bradley R","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Assistant City Attorney II","Annual_Rt":"$94,411.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1178},"geometry":null},{"type":"Feature","id":1179,"properties":{"Name":"Powers III,Thomas E.","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Assistant City Attorney II","Annual_Rt":"$91,533.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1179},"geometry":null},{"type":"Feature","id":1180,"properties":{"Name":"Weatherly,Karen Culbreth","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Assistant City Attorney II","Annual_Rt":"$93,503.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1180},"geometry":null},{"type":"Feature","id":1181,"properties":{"Name":"Hagemann,Robert E","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"City Attorney","Annual_Rt":"$208,555.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1181},"geometry":null},{"type":"Feature","id":1182,"properties":{"Name":"Root,Hope","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Deputy City Attorney","Annual_Rt":"$149,226.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1182},"geometry":null},{"type":"Feature","id":1183,"properties":{"Name":"Maness-Battle,Arnetta L","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$15.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":1183},"geometry":null},{"type":"Feature","id":1184,"properties":{"Name":"Robinson,Bobbie L","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$15.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":1184},"geometry":null},{"type":"Feature","id":1185,"properties":{"Name":"Alford,Faith Goodman","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Legal Secretary","Annual_Rt":null,"Hrly_Rate":"$18.93 ","RegTemp":"T","Full/Part":"F","OBJECTID":1185},"geometry":null},{"type":"Feature","id":1186,"properties":{"Name":"Monti,Scott Thomas","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Legal Secretary","Annual_Rt":"$39,384.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1186},"geometry":null},{"type":"Feature","id":1187,"properties":{"Name":"Gonzalez,Currshia Patterson","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Paralegal","Annual_Rt":"$43,806.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1187},"geometry":null},{"type":"Feature","id":1188,"properties":{"Name":"Smith,Michelle French","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Paralegal","Annual_Rt":"$42,432.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1188},"geometry":null},{"type":"Feature","id":1189,"properties":{"Name":"Westmoreland,DArcy","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Paralegal","Annual_Rt":"$40,800.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1189},"geometry":null},{"type":"Feature","id":1190,"properties":{"Name":"Boyd,H M","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Senior Attorney","Annual_Rt":null,"Hrly_Rate":"$72.50 ","RegTemp":"T","Full/Part":"P","OBJECTID":1190},"geometry":null},{"type":"Feature","id":1191,"properties":{"Name":"Cooper,Catherine L.","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Senior Attorney","Annual_Rt":"$119,623.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1191},"geometry":null},{"type":"Feature","id":1192,"properties":{"Name":"Flowers,Lisa Collins","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Senior Attorney","Annual_Rt":"$111,116.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1192},"geometry":null},{"type":"Feature","id":1193,"properties":{"Name":"Fulton,Richard Harcourt","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Senior Attorney","Annual_Rt":"$119,623.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1193},"geometry":null},{"type":"Feature","id":1194,"properties":{"Name":"Hagler-Gray,Terrie V.","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Senior Attorney","Annual_Rt":"$119,623.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1194},"geometry":null},{"type":"Feature","id":1195,"properties":{"Name":"James,Lina E","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Senior Attorney","Annual_Rt":"$111,116.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1195},"geometry":null},{"type":"Feature","id":1196,"properties":{"Name":"Joye,John D","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Senior Attorney","Annual_Rt":"$119,623.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1196},"geometry":null},{"type":"Feature","id":1197,"properties":{"Name":"Kay,Jason B","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Senior Attorney","Annual_Rt":"$113,327.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1197},"geometry":null},{"type":"Feature","id":1198,"properties":{"Name":"Schleunes,Anna Frederika","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Senior Attorney","Annual_Rt":"$119,623.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1198},"geometry":null},{"type":"Feature","id":1199,"properties":{"Name":"Starrett,Judith A","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Senior Attorney","Annual_Rt":"$125,919.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1199},"geometry":null},{"type":"Feature","id":1200,"properties":{"Name":"Thomas,Bradley J","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Senior Attorney","Annual_Rt":"$111,116.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1200},"geometry":null},{"type":"Feature","id":1201,"properties":{"Name":"White,Cynthia L","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Senior Attorney","Annual_Rt":"$144,903.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1201},"geometry":null},{"type":"Feature","id":1202,"properties":{"Name":"Johnson,Carolyn D.","Unit":"City Attorney","Dept":"City Attorney","Job_Title":"Senior Deputy City Attorney","Annual_Rt":"$164,148.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1202},"geometry":null},{"type":"Feature","id":1203,"properties":{"Name":"Kelly,Stephanie C.","Unit":"City Clerk","Dept":"City Clerk","Job_Title":"City Clerk","Annual_Rt":"$89,602.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1203},"geometry":null},{"type":"Feature","id":1204,"properties":{"Name":"Kunze,Emily Allison","Unit":"City Clerk","Dept":"City Clerk","Job_Title":"Deputy City Clerk","Annual_Rt":"$48,573.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1204},"geometry":null},{"type":"Feature","id":1205,"properties":{"Name":"Byrd,Kimberly Thaxton","Unit":"City Clerk","Dept":"City Clerk","Job_Title":"Office Assistant V","Annual_Rt":"$37,440.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1205},"geometry":null},{"type":"Feature","id":1206,"properties":{"Name":"Hale,Khadya","Unit":"City Clerk","Dept":"City Clerk","Job_Title":"Office Assistant V","Annual_Rt":"$38,427.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1206},"geometry":null},{"type":"Feature","id":1207,"properties":{"Name":"Laney,Mildred P","Unit":"City Clerk","Dept":"City Clerk","Job_Title":"Office Assistant V","Annual_Rt":null,"Hrly_Rate":"$17.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":1207},"geometry":null},{"type":"Feature","id":1208,"properties":{"Name":"Massenburg,Lorie Ann","Unit":"City Clerk","Dept":"City Clerk","Job_Title":"Office Assistant V","Annual_Rt":"$37,146.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1208},"geometry":null},{"type":"Feature","id":1209,"properties":{"Name":"Payne,Bianca C","Unit":"City Clerk","Dept":"City Clerk","Job_Title":"Office Assistant V","Annual_Rt":"$37,440.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1209},"geometry":null},{"type":"Feature","id":1210,"properties":{"Name":"Quintana,Janice Denise","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Director","Annual_Rt":"$137,891.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1210},"geometry":null},{"type":"Feature","id":1211,"properties":{"Name":"Lewis,Markesha","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Prog Admin","Annual_Rt":"$53,604.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1211},"geometry":null},{"type":"Feature","id":1212,"properties":{"Name":"Viar Jr,Carlton L.","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Prog Admin","Annual_Rt":"$56,119.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1212},"geometry":null},{"type":"Feature","id":1213,"properties":{"Name":"Walker,Alton Gerald","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Prog Admin","Annual_Rt":"$54,843.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1213},"geometry":null},{"type":"Feature","id":1214,"properties":{"Name":"Adams,Lateisha Shanta","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1214},"geometry":null},{"type":"Feature","id":1215,"properties":{"Name":"Alsop,Matthew A","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$34,098.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1215},"geometry":null},{"type":"Feature","id":1216,"properties":{"Name":"Anderson-Bailey,Alonna Marie","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1216},"geometry":null},{"type":"Feature","id":1217,"properties":{"Name":"Bethea,Shenique Meta","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1217},"geometry":null},{"type":"Feature","id":1218,"properties":{"Name":"Burch,Charnese","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1218},"geometry":null},{"type":"Feature","id":1219,"properties":{"Name":"Camm,Deandra J","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,726.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1219},"geometry":null},{"type":"Feature","id":1220,"properties":{"Name":"Campbell III,James Lavar","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,712.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1220},"geometry":null},{"type":"Feature","id":1221,"properties":{"Name":"Cochran,Kathleen","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,712.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1221},"geometry":null},{"type":"Feature","id":1222,"properties":{"Name":"Colon,Tanya Anne","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$35,806.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1222},"geometry":null},{"type":"Feature","id":1223,"properties":{"Name":"Croom,Khalif Elliot","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1223},"geometry":null},{"type":"Feature","id":1224,"properties":{"Name":"Cuthbertson,Melvin A.","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$34,532.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1224},"geometry":null},{"type":"Feature","id":1225,"properties":{"Name":"Davis,Shavon Molique","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1225},"geometry":null},{"type":"Feature","id":1226,"properties":{"Name":"Delille,Djenane","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1226},"geometry":null},{"type":"Feature","id":1227,"properties":{"Name":"Dixon,Dionna Michelle","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,712.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1227},"geometry":null},{"type":"Feature","id":1228,"properties":{"Name":"Elsevyf,Denisse","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$34,703.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1228},"geometry":null},{"type":"Feature","id":1229,"properties":{"Name":"Firms,Evonnia Renee","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1229},"geometry":null},{"type":"Feature","id":1230,"properties":{"Name":"Furlow,LaQuinta Chiquita","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1230},"geometry":null},{"type":"Feature","id":1231,"properties":{"Name":"Furlow,Temekia Nicole","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1231},"geometry":null},{"type":"Feature","id":1232,"properties":{"Name":"Gilchrist,Terrance Lamont","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$35,806.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1232},"geometry":null},{"type":"Feature","id":1233,"properties":{"Name":"Hood,Monica Stywall","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1233},"geometry":null},{"type":"Feature","id":1234,"properties":{"Name":"Ingram,Ashley N","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,712.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1234},"geometry":null},{"type":"Feature","id":1235,"properties":{"Name":"Jacobs,Kevin Edward","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1235},"geometry":null},{"type":"Feature","id":1236,"properties":{"Name":"Joyner,Lambert Maurice","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,712.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1236},"geometry":null},{"type":"Feature","id":1237,"properties":{"Name":"Ledbetter Jr,Oscar Kinard","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1237},"geometry":null},{"type":"Feature","id":1238,"properties":{"Name":"Lloyd,Chastity Jasmine","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1238},"geometry":null},{"type":"Feature","id":1239,"properties":{"Name":"Lucas,Keya S","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1239},"geometry":null},{"type":"Feature","id":1240,"properties":{"Name":"Mendez,Melissa Marie","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$34,703.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1240},"geometry":null},{"type":"Feature","id":1241,"properties":{"Name":"Muhammad,Shirlene Lorraine","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1241},"geometry":null},{"type":"Feature","id":1242,"properties":{"Name":"Mumm,Christopher Gerard","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,051.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1242},"geometry":null},{"type":"Feature","id":1243,"properties":{"Name":"Parrish,Jennifer D","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,726.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1243},"geometry":null},{"type":"Feature","id":1244,"properties":{"Name":"Siler,James","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$33,712.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1244},"geometry":null},{"type":"Feature","id":1245,"properties":{"Name":"Tinajero,Rubi Esmeralda","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$35,806.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1245},"geometry":null},{"type":"Feature","id":1246,"properties":{"Name":"Torres,Keshia I","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$34,703.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1246},"geometry":null},{"type":"Feature","id":1247,"properties":{"Name":"Valverde,Emileth","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$35,806.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1247},"geometry":null},{"type":"Feature","id":1248,"properties":{"Name":"Vander Schel,Veronique Shishonena","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$26,623.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":1248},"geometry":null},{"type":"Feature","id":1249,"properties":{"Name":"Velasquez,Mariangelica","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$34,703.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1249},"geometry":null},{"type":"Feature","id":1250,"properties":{"Name":"Wright,Patricia","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$35,192.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1250},"geometry":null},{"type":"Feature","id":1251,"properties":{"Name":"Zavala,Juan Fabian","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$35,412.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1251},"geometry":null},{"type":"Feature","id":1252,"properties":{"Name":"Zinnah,Emanju K","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep","Annual_Rt":"$34,100.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1252},"geometry":null},{"type":"Feature","id":1253,"properties":{"Name":"Blakeney,Erica M","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Lead","Annual_Rt":"$37,099.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1253},"geometry":null},{"type":"Feature","id":1254,"properties":{"Name":"Brinkley,Keshia T","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Lead","Annual_Rt":"$37,098.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1254},"geometry":null},{"type":"Feature","id":1255,"properties":{"Name":"Ethridge Jr.,Robert","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Lead","Annual_Rt":"$37,098.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1255},"geometry":null},{"type":"Feature","id":1256,"properties":{"Name":"Graham,Andrea Lee","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Lead","Annual_Rt":"$37,099.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1256},"geometry":null},{"type":"Feature","id":1257,"properties":{"Name":"Jones,Beverly H","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Lead","Annual_Rt":"$37,099.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1257},"geometry":null},{"type":"Feature","id":1258,"properties":{"Name":"Osborne,Antonio B","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Lead","Annual_Rt":"$37,099.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1258},"geometry":null},{"type":"Feature","id":1259,"properties":{"Name":"Warren,Jennifer D","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Lead","Annual_Rt":"$37,099.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1259},"geometry":null},{"type":"Feature","id":1260,"properties":{"Name":"Wilson,Tauheedah Nafeesah","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Lead","Annual_Rt":"$37,511.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1260},"geometry":null},{"type":"Feature","id":1261,"properties":{"Name":"Acevedo,Angela","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,397.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1261},"geometry":null},{"type":"Feature","id":1262,"properties":{"Name":"Allen,Bronwyn J","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,412.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1262},"geometry":null},{"type":"Feature","id":1263,"properties":{"Name":"Allison,Cassandra Copp","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,806.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1263},"geometry":null},{"type":"Feature","id":1264,"properties":{"Name":"Barger,Vickie Lynn","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,806.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1264},"geometry":null},{"type":"Feature","id":1265,"properties":{"Name":"Blakeney,Anita Douglas","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,413.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1265},"geometry":null},{"type":"Feature","id":1266,"properties":{"Name":"Bryant,Mozelle M. M.","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,412.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1266},"geometry":null},{"type":"Feature","id":1267,"properties":{"Name":"Campbell,Julian","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,397.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1267},"geometry":null},{"type":"Feature","id":1268,"properties":{"Name":"Douglas,Malaikah Jabarra","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,412.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1268},"geometry":null},{"type":"Feature","id":1269,"properties":{"Name":"Epps,Makeba Nichole","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,412.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1269},"geometry":null},{"type":"Feature","id":1270,"properties":{"Name":"Harden,Tonya Welch","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,412.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1270},"geometry":null},{"type":"Feature","id":1271,"properties":{"Name":"Haugh,Julie A","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,475.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1271},"geometry":null},{"type":"Feature","id":1272,"properties":{"Name":"Henriquez,Gustavo Ernesto","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$37,182.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1272},"geometry":null},{"type":"Feature","id":1273,"properties":{"Name":"Holland,Danielle G","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,412.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1273},"geometry":null},{"type":"Feature","id":1274,"properties":{"Name":"Jackson,Nikkia N","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,412.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1274},"geometry":null},{"type":"Feature","id":1275,"properties":{"Name":"Johnson-McNeil,Donna L","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,475.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1275},"geometry":null},{"type":"Feature","id":1276,"properties":{"Name":"Kelly,Brian","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,806.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1276},"geometry":null},{"type":"Feature","id":1277,"properties":{"Name":"Kincaid,Brittany A.","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$17,699.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":1277},"geometry":null},{"type":"Feature","id":1278,"properties":{"Name":"Lyon-Justice,Cheryl A","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,806.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1278},"geometry":null},{"type":"Feature","id":1279,"properties":{"Name":"McNair,Marlene","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,805.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1279},"geometry":null},{"type":"Feature","id":1280,"properties":{"Name":"Meaders,Jacqueline LaTanya","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,411.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1280},"geometry":null},{"type":"Feature","id":1281,"properties":{"Name":"Olzewski,Pamela Jo","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,806.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1281},"geometry":null},{"type":"Feature","id":1282,"properties":{"Name":"Owens,Konya M","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,736.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1282},"geometry":null},{"type":"Feature","id":1283,"properties":{"Name":"Peralta,Regina Esther","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$37,511.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1283},"geometry":null},{"type":"Feature","id":1284,"properties":{"Name":"Robbins,Dawn W","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,806.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1284},"geometry":null},{"type":"Feature","id":1285,"properties":{"Name":"Shackleford,Deisha Raquel","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$34,442.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1285},"geometry":null},{"type":"Feature","id":1286,"properties":{"Name":"Shealy,Angela Y","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,412.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1286},"geometry":null},{"type":"Feature","id":1287,"properties":{"Name":"St. Bernard IV,Charles","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$33,766.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1287},"geometry":null},{"type":"Feature","id":1288,"properties":{"Name":"Torres,Diane","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$37,596.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1288},"geometry":null},{"type":"Feature","id":1289,"properties":{"Name":"White,Leon J","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,412.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1289},"geometry":null},{"type":"Feature","id":1290,"properties":{"Name":"Young,Zekia A","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Rep-Senior","Annual_Rt":"$35,910.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1290},"geometry":null},{"type":"Feature","id":1291,"properties":{"Name":"Bailey,Jerilyn A","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Supervisor","Annual_Rt":"$48,478.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1291},"geometry":null},{"type":"Feature","id":1292,"properties":{"Name":"Canup,Tonnie D","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Supervisor","Annual_Rt":"$48,478.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1292},"geometry":null},{"type":"Feature","id":1293,"properties":{"Name":"Dargins,Tiasha R","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Supervisor","Annual_Rt":"$48,478.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1293},"geometry":null},{"type":"Feature","id":1294,"properties":{"Name":"Hom,Holly T","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Supervisor","Annual_Rt":"$46,914.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1294},"geometry":null},{"type":"Feature","id":1295,"properties":{"Name":"Hood,Kibi","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Supervisor","Annual_Rt":"$46,914.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1295},"geometry":null},{"type":"Feature","id":1296,"properties":{"Name":"Ingolia,Ellen R","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Supervisor","Annual_Rt":"$48,478.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1296},"geometry":null},{"type":"Feature","id":1297,"properties":{"Name":"Johnson,Sean A.","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Supervisor","Annual_Rt":"$46,914.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1297},"geometry":null},{"type":"Feature","id":1298,"properties":{"Name":"Leach,Marilyn","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Supervisor","Annual_Rt":"$46,912.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1298},"geometry":null},{"type":"Feature","id":1299,"properties":{"Name":"Rogers,Marysue C","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Center Supervisor","Annual_Rt":"$47,463.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1299},"geometry":null},{"type":"Feature","id":1300,"properties":{"Name":"Arciniegas Mosquera,Silvia A.","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Cte Prog Analyst","Annual_Rt":"$44,988.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1300},"geometry":null},{"type":"Feature","id":1301,"properties":{"Name":"Corner,Marcia","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Cte Prog Analyst","Annual_Rt":"$44,988.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1301},"geometry":null},{"type":"Feature","id":1302,"properties":{"Name":"Davis,Tiffany Nicole","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Cte Prog Analyst","Annual_Rt":"$44,988.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1302},"geometry":null},{"type":"Feature","id":1303,"properties":{"Name":"Dixon,Tiffany Tilisa","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Cte Prog Analyst","Annual_Rt":"$43,988.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1303},"geometry":null},{"type":"Feature","id":1304,"properties":{"Name":"McCallum,Linette Kaye","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Cte Prog Analyst","Annual_Rt":"$42,279.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1304},"geometry":null},{"type":"Feature","id":1305,"properties":{"Name":"Reaves,Elizabeth Renee","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Cte Prog Analyst","Annual_Rt":"$44,988.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1305},"geometry":null},{"type":"Feature","id":1306,"properties":{"Name":"Scott,Gene Roman","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Cte Prog Analyst","Annual_Rt":"$43,988.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1306},"geometry":null},{"type":"Feature","id":1307,"properties":{"Name":"Williams,Pearl B","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Contact Cte Prog Analyst","Annual_Rt":"$43,988.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1307},"geometry":null},{"type":"Feature","id":1308,"properties":{"Name":"Crayton,Demitra H","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Program Manager","Annual_Rt":"$74,781.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1308},"geometry":null},{"type":"Feature","id":1309,"properties":{"Name":"Cuthbertson,Jacquelyn E","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Program Manager","Annual_Rt":"$77,836.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1309},"geometry":null},{"type":"Feature","id":1310,"properties":{"Name":"Maliszewski,Mark","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"311 Program Manager","Annual_Rt":"$75,070.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1310},"geometry":null},{"type":"Feature","id":1311,"properties":{"Name":"LeSane,Yolanda Evette","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Administrative Officer I","Annual_Rt":"$42,166.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1311},"geometry":null},{"type":"Feature","id":1312,"properties":{"Name":"Purcell,Vernetta Norrisa","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Administrative Officer II","Annual_Rt":"$53,657.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1312},"geometry":null},{"type":"Feature","id":1313,"properties":{"Name":"Parker,Ricky A","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Administrative Officer IV","Annual_Rt":"$61,685.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1313},"geometry":null},{"type":"Feature","id":1314,"properties":{"Name":"Smith,Susan Elaine","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Administrative Officer IV","Annual_Rt":"$61,199.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1314},"geometry":null},{"type":"Feature","id":1315,"properties":{"Name":"Baskin,Pamela L","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Bus System Spec Assc","Annual_Rt":"$43,000.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1315},"geometry":null},{"type":"Feature","id":1316,"properties":{"Name":"Jackson,Allie Glenn","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Bus System Spec Assc","Annual_Rt":"$44,131.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1316},"geometry":null},{"type":"Feature","id":1317,"properties":{"Name":"Ferguson,Holly Kay","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Business System Spec Sr","Annual_Rt":"$78,713.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1317},"geometry":null},{"type":"Feature","id":1318,"properties":{"Name":"Palmer,Stacey Lee","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Business Systems Prog Manager","Annual_Rt":"$98,739.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1318},"geometry":null},{"type":"Feature","id":1319,"properties":{"Name":"Burch,Amanda A","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$41,010.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1319},"geometry":null},{"type":"Feature","id":1320,"properties":{"Name":"Casteel,Darlene Michellelee","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$41,968.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1320},"geometry":null},{"type":"Feature","id":1321,"properties":{"Name":"Robinson,Major Wesley","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$41,010.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1321},"geometry":null},{"type":"Feature","id":1322,"properties":{"Name":"Turner,Johnnetta M","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$41,485.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1322},"geometry":null},{"type":"Feature","id":1323,"properties":{"Name":"Warren,LeShawn R.","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$41,968.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1323},"geometry":null},{"type":"Feature","id":1324,"properties":{"Name":"Aguilar,Tami Sue","Unit":"City Managers Office","Dept":"CharMeck 311","Job_Title":"Office Assistant V","Annual_Rt":"$38,925.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1324},"geometry":null},{"type":"Feature","id":1325,"properties":{"Name":"Crump-Singleton,Jeannine","Unit":"City Managers Office","Dept":"City Managers Office","Job_Title":"Administrative Secretary II","Annual_Rt":"$54,173.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1325},"geometry":null},{"type":"Feature","id":1326,"properties":{"Name":"Elkins,Susan T","Unit":"City Managers Office","Dept":"City Managers Office","Job_Title":"Administrative Secretary II Ld","Annual_Rt":"$60,181.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1326},"geometry":null},{"type":"Feature","id":1327,"properties":{"Name":"Maynard,Angela B","Unit":"City Managers Office","Dept":"City Managers Office","Job_Title":"Administrative Secretary II Sr","Annual_Rt":"$54,625.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1327},"geometry":null},{"type":"Feature","id":1328,"properties":{"Name":"Campbell,Eric D.","Unit":"City Managers Office","Dept":"City Managers Office","Job_Title":"Assistant City Manager","Annual_Rt":"$185,718.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1328},"geometry":null},{"type":"Feature","id":1329,"properties":{"Name":"Wall,Ann E","Unit":"City Managers Office","Dept":"City Managers Office","Job_Title":"Assistant City Manager","Annual_Rt":"$160,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1329},"geometry":null},{"type":"Feature","id":1330,"properties":{"Name":"Yi,Hyong","Unit":"City Managers Office","Dept":"City Managers Office","Job_Title":"Assistant City Manager","Annual_Rt":"$163,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1330},"geometry":null},{"type":"Feature","id":1331,"properties":{"Name":"Hooper,Wilson B","Unit":"City Managers Office","Dept":"City Managers Office","Job_Title":"Asst To The City Manager I","Annual_Rt":"$58,386.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1331},"geometry":null},{"type":"Feature","id":1332,"properties":{"Name":"Jennings,Carol Loveless","Unit":"City Managers Office","Dept":"City Managers Office","Job_Title":"Chief of Staff","Annual_Rt":"$145,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1332},"geometry":null},{"type":"Feature","id":1333,"properties":{"Name":"Carlee,Ronnie C","Unit":"City Managers Office","Dept":"City Managers Office","Job_Title":"City Manager","Annual_Rt":"$245,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1333},"geometry":null},{"type":"Feature","id":1334,"properties":{"Name":"Kimble,Ronald R.","Unit":"City Managers Office","Dept":"City Managers Office","Job_Title":"Deputy City Manager","Annual_Rt":"$216,323.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1334},"geometry":null},{"type":"Feature","id":1335,"properties":{"Name":"Ramsey,Nicole","Unit":"City Managers Office","Dept":"City Mgr - Corporate Communi","Job_Title":"Corporate Comm Specialist","Annual_Rt":"$57,000.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1335},"geometry":null},{"type":"Feature","id":1336,"properties":{"Name":"Adams,Tina P","Unit":"City Managers Office","Dept":"City Mgr - Internal Audit","Job_Title":"Accountant III","Annual_Rt":"$96,070.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1336},"geometry":null},{"type":"Feature","id":1337,"properties":{"Name":"Furr,Karen M","Unit":"City Managers Office","Dept":"City Mgr - Internal Audit","Job_Title":"Accountant III","Annual_Rt":"$67,934.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1337},"geometry":null},{"type":"Feature","id":1338,"properties":{"Name":"Robson,Jennifer Molinaro","Unit":"City Managers Office","Dept":"City Mgr - Internal Audit","Job_Title":"Accountant III","Annual_Rt":"$46,593.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":1338},"geometry":null},{"type":"Feature","id":1339,"properties":{"Name":"Schroder,Donald Craig","Unit":"City Managers Office","Dept":"City Mgr - Internal Audit","Job_Title":"Accountant III","Annual_Rt":"$98,085.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1339},"geometry":null},{"type":"Feature","id":1340,"properties":{"Name":"Sutherland,Thomas Kyle","Unit":"City Managers Office","Dept":"City Mgr - Internal Audit","Job_Title":"Accountant III","Annual_Rt":"$65,280.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1340},"geometry":null},{"type":"Feature","id":1341,"properties":{"Name":"Graham,Harry K","Unit":"City Managers Office","Dept":"City Mgr - Internal Audit","Job_Title":"Accountant IV","Annual_Rt":null,"Hrly_Rate":"$52.02 ","RegTemp":"T","Full/Part":"P","OBJECTID":1341},"geometry":null},{"type":"Feature","id":1342,"properties":{"Name":"McDowell,Gregory","Unit":"City Managers Office","Dept":"City Mgr - Internal Audit","Job_Title":"Internal Audit Manager","Annual_Rt":"$142,723.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1342},"geometry":null},{"type":"Feature","id":1343,"properties":{"Name":"Marsicano,Marie R","Unit":"City Managers Office","Dept":"City Mgr - Internal Audit","Job_Title":"Internal Auditor","Annual_Rt":"$81,426.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1343},"geometry":null},{"type":"Feature","id":1344,"properties":{"Name":"Stover,Lynette C.","Unit":"City Managers Office","Dept":"City Mgr - Internal Audit","Job_Title":"Internal Auditor","Annual_Rt":"$59,160.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1344},"geometry":null},{"type":"Feature","id":1345,"properties":{"Name":"Green,Sue D","Unit":"City Managers Office","Dept":"CM- Community Relations","Job_Title":"Administrative Officer I","Annual_Rt":null,"Hrly_Rate":"$18.03 ","RegTemp":"T","Full/Part":"F","OBJECTID":1345},"geometry":null},{"type":"Feature","id":1346,"properties":{"Name":"Thompson,Renee","Unit":"City Managers Office","Dept":"CM- Community Relations","Job_Title":"Administrative Officer I","Annual_Rt":"$44,579.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1346},"geometry":null},{"type":"Feature","id":1347,"properties":{"Name":"Bradley,Terry N","Unit":"City Managers Office","Dept":"CM- Community Relations","Job_Title":"Community Relations Manager","Annual_Rt":"$74,667.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1347},"geometry":null},{"type":"Feature","id":1348,"properties":{"Name":"Morrissette Jr,Ledger","Unit":"City Managers Office","Dept":"CM- Community Relations","Job_Title":"Community Relations Manager","Annual_Rt":"$74,669.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1348},"geometry":null},{"type":"Feature","id":1349,"properties":{"Name":"Williams,Mary Peed","Unit":"City Managers Office","Dept":"CM- Community Relations","Job_Title":"Community Relations Manager","Annual_Rt":"$73,203.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1349},"geometry":null},{"type":"Feature","id":1350,"properties":{"Name":"Baker,Melissa M","Unit":"City Managers Office","Dept":"CM- Community Relations","Job_Title":"Community Relations Spec","Annual_Rt":"$55,170.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1350},"geometry":null},{"type":"Feature","id":1351,"properties":{"Name":"Briggs,Lezlie Channan","Unit":"City Managers Office","Dept":"CM- Community Relations","Job_Title":"Community Relations Spec","Annual_Rt":"$49,499.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1351},"geometry":null},{"type":"Feature","id":1352,"properties":{"Name":"Matta,Luis Fernando","Unit":"City Managers Office","Dept":"CM- Community Relations","Job_Title":"Community Relations Spec","Annual_Rt":"$46,894.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1352},"geometry":null},{"type":"Feature","id":1353,"properties":{"Name":"Murrell,Donna S.","Unit":"City Managers Office","Dept":"CM- Community Relations","Job_Title":"Community Relations Spec","Annual_Rt":"$53,311.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1353},"geometry":null},{"type":"Feature","id":1354,"properties":{"Name":"Randolph,Stephanie Fontella","Unit":"City Managers Office","Dept":"CM- Community Relations","Job_Title":"Community Relations Spec","Annual_Rt":"$46,350.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1354},"geometry":null},{"type":"Feature","id":1355,"properties":{"Name":"Stokes,Terry Ann","Unit":"City Managers Office","Dept":"CM- Community Relations","Job_Title":"Community Relations Spec","Annual_Rt":"$45,950.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1355},"geometry":null},{"type":"Feature","id":1356,"properties":{"Name":"Ratchford,Willie","Unit":"City Managers Office","Dept":"CM- Community Relations","Job_Title":"Dir-Community Relations Comm","Annual_Rt":"$130,253.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1356},"geometry":null},{"type":"Feature","id":1357,"properties":{"Name":"Jenkins,Gwendolyn E","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Administrative Officer II","Annual_Rt":"$46,818.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1357},"geometry":null},{"type":"Feature","id":1358,"properties":{"Name":"Richardson,Keith M","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Asst Corp Communications Mgr","Annual_Rt":"$112,399.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1358},"geometry":null},{"type":"Feature","id":1359,"properties":{"Name":"Pawling,Neil Thomas","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Content Webmaster","Annual_Rt":"$52,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1359},"geometry":null},{"type":"Feature","id":1360,"properties":{"Name":"Warren,Tabitha Carnes","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Content Webmaster","Annual_Rt":"$55,143.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1360},"geometry":null},{"type":"Feature","id":1361,"properties":{"Name":"Proffitt,Shawn H","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Content Webmaster Supervisor","Annual_Rt":"$73,781.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1361},"geometry":null},{"type":"Feature","id":1362,"properties":{"Name":"Bonfiglio,Catherine Ann","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Corporate Comm Specialist Sr","Annual_Rt":"$66,037.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1362},"geometry":null},{"type":"Feature","id":1363,"properties":{"Name":"Ethridge,Traci M","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Corporate Comm Specialist Sr","Annual_Rt":"$65,546.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1363},"geometry":null},{"type":"Feature","id":1364,"properties":{"Name":"Brown Jr,Kenneth","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Corporate Comm Specialist-Assc","Annual_Rt":"$42,304.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1364},"geometry":null},{"type":"Feature","id":1365,"properties":{"Name":"Harmon,Craig Allen","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Creative Services Supervisor","Annual_Rt":"$64,277.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1365},"geometry":null},{"type":"Feature","id":1366,"properties":{"Name":"Lovelace,Valerie B","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Graphic Artist Senior","Annual_Rt":"$51,159.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1366},"geometry":null},{"type":"Feature","id":1367,"properties":{"Name":"Bing,Wendy G","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"TV Station Manager","Annual_Rt":"$74,985.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1367},"geometry":null},{"type":"Feature","id":1368,"properties":{"Name":"Bauer,Sherry Wolfe","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Video Producer/Director","Annual_Rt":"$49,974.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1368},"geometry":null},{"type":"Feature","id":1369,"properties":{"Name":"Ryan,Nancy P","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Video Producer/Director","Annual_Rt":"$55,947.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1369},"geometry":null},{"type":"Feature","id":1370,"properties":{"Name":"Dove,Rodney Lee","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Video Technician","Annual_Rt":"$41,439.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1370},"geometry":null},{"type":"Feature","id":1371,"properties":{"Name":"Little,Ralph David","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Video Technician","Annual_Rt":"$47,896.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1371},"geometry":null},{"type":"Feature","id":1372,"properties":{"Name":"Rogers,T S","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Video Technician","Annual_Rt":"$49,559.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1372},"geometry":null},{"type":"Feature","id":1373,"properties":{"Name":"Ryan,Kevin P.","Unit":"City Managers Office","Dept":"CM-Corporate Communications","Job_Title":"Video Technician","Annual_Rt":"$49,474.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1373},"geometry":null},{"type":"Feature","id":1374,"properties":{"Name":"Cline,Micah Elizabeth","Unit":"City Managers Office","Dept":"Enterprise Resource Planning","Job_Title":"Administrative Officer III","Annual_Rt":null,"Hrly_Rate":"$33.65 ","RegTemp":"T","Full/Part":"F","OBJECTID":1374},"geometry":null},{"type":"Feature","id":1375,"properties":{"Name":"Trunk,John C","Unit":"City Managers Office","Dept":"Enterprise Resource Planning","Job_Title":"Administrative Officer V","Annual_Rt":"$104,377.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1375},"geometry":null},{"type":"Feature","id":1376,"properties":{"Name":"Bittle,Anthony J.","Unit":"City Managers Office","Dept":"Enterprise Resource Planning","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$87,499.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1376},"geometry":null},{"type":"Feature","id":1377,"properties":{"Name":"Elliott,Teresa M","Unit":"City Managers Office","Dept":"Enterprise Resource Planning","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$84,155.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1377},"geometry":null},{"type":"Feature","id":1378,"properties":{"Name":"Elmore,David W","Unit":"City Managers Office","Dept":"Enterprise Resource Planning","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$86,273.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1378},"geometry":null},{"type":"Feature","id":1379,"properties":{"Name":"Jenkins,Kelly L","Unit":"City Managers Office","Dept":"Enterprise Resource Planning","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$92,775.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1379},"geometry":null},{"type":"Feature","id":1380,"properties":{"Name":"Kramer,Debra L","Unit":"City Managers Office","Dept":"Enterprise Resource Planning","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$81,288.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1380},"geometry":null},{"type":"Feature","id":1381,"properties":{"Name":"North,David T","Unit":"City Managers Office","Dept":"Enterprise Resource Planning","Job_Title":"Corporate ERP Program Manager","Annual_Rt":"$136,578.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1381},"geometry":null},{"type":"Feature","id":1382,"properties":{"Name":"Woodcock,Richard N","Unit":"City Managers Office","Dept":"Enterprise Resource Planning","Job_Title":"Corporate Tech Program Manager","Annual_Rt":"$116,547.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1382},"geometry":null},{"type":"Feature","id":1383,"properties":{"Name":"Smith III,Andrew","Unit":"City Managers Office","Dept":"Enterprise Resource Planning","Job_Title":"Information Tech Supervisor","Annual_Rt":"$110,021.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1383},"geometry":null},{"type":"Feature","id":1384,"properties":{"Name":"Amin,Anisha","Unit":"City Managers Office","Dept":"Enterprise Resource Planning","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$15.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":1384},"geometry":null},{"type":"Feature","id":1385,"properties":{"Name":"Batts,Phyllis B","Unit":"City Managers Office","Dept":"M&CC","Job_Title":"Office Assistant V","Annual_Rt":null,"Hrly_Rate":"$20.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":1385},"geometry":null},{"type":"Feature","id":1386,"properties":{"Name":"Huffman,Peggy M.","Unit":"City Managers Office","Dept":"M&CC Admin","Job_Title":"Administrative Officer II","Annual_Rt":"$56,515.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1386},"geometry":null},{"type":"Feature","id":1387,"properties":{"Name":"Lo Furno,Robin Lynne","Unit":"City Managers Office","Dept":"M&CC Admin","Job_Title":"Administrative Officer II","Annual_Rt":"$52,004.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1387},"geometry":null},{"type":"Feature","id":1388,"properties":{"Name":"Eskridge,Holly","Unit":"City Managers Office","Dept":"M&CC Admin","Job_Title":"Asst To The City Manager II","Annual_Rt":"$80,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1388},"geometry":null},{"type":"Feature","id":1389,"properties":{"Name":"Price,Phyllis T","Unit":"City Managers Office","Dept":"M&CC Admin","Job_Title":"Office Assistant V","Annual_Rt":"$46,563.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1389},"geometry":null},{"type":"Feature","id":1390,"properties":{"Name":"Fenton,Dana Collins","Unit":"City Managers Office","Dept":"M&CC Admin","Job_Title":"Sr Executive Asst to City Mgr","Annual_Rt":"$148,936.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1390},"geometry":null},{"type":"Feature","id":1391,"properties":{"Name":"Glenn,Doris Houston","Unit":"City Managers Office","Dept":"Office of Chief Info Officer","Job_Title":"Administrative Officer III","Annual_Rt":"$54,634.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1391},"geometry":null},{"type":"Feature","id":1392,"properties":{"Name":"Rivers,Dale Ball","Unit":"City Managers Office","Dept":"Office of Chief Info Officer","Job_Title":"Business Process Architect","Annual_Rt":"$99,807.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1392},"geometry":null},{"type":"Feature","id":1393,"properties":{"Name":"Stovall,Jeffrey W","Unit":"City Managers Office","Dept":"Office of Chief Info Officer","Job_Title":"Chief Information Officer","Annual_Rt":"$188,299.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1393},"geometry":null},{"type":"Feature","id":1394,"properties":{"Name":"Ross II,Bellverie Elaine","Unit":"City Managers Office","Dept":"Office of Chief Info Officer","Job_Title":"Corporate PMO Manager","Annual_Rt":"$118,179.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1394},"geometry":null},{"type":"Feature","id":1395,"properties":{"Name":"McDermott,Twyla","Unit":"City Managers Office","Dept":"Office of Chief Info Officer","Job_Title":"Corporate Tech Program Manager","Annual_Rt":"$120,760.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1395},"geometry":null},{"type":"Feature","id":1396,"properties":{"Name":"Dunkle,Bradley R","Unit":"City Managers Office","Dept":"Office of Chief Info Officer","Job_Title":"Deputy Chief Info Officer","Annual_Rt":"$142,457.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1396},"geometry":null},{"type":"Feature","id":1397,"properties":{"Name":"Benfield II,Harold","Unit":"City Managers Office","Dept":"Office of Chief Info Officer","Job_Title":"Information Security Administr","Annual_Rt":"$113,067.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1397},"geometry":null},{"type":"Feature","id":1398,"properties":{"Name":"Fletcher,Creighton","Unit":"City Managers Office","Dept":"Office of Chief Info Officer","Job_Title":"Information Security Analyst","Annual_Rt":"$83,640.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1398},"geometry":null},{"type":"Feature","id":1399,"properties":{"Name":"Moulton,Randell K","Unit":"City Managers Office","Dept":"Office of Chief Info Officer","Job_Title":"Information Security Officer","Annual_Rt":"$126,780.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1399},"geometry":null},{"type":"Feature","id":1400,"properties":{"Name":"Newman,Al","Unit":"City Managers Office","Dept":"Office of Chief Info Officer","Job_Title":"IT Enterprise Architect","Annual_Rt":"$115,689.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1400},"geometry":null},{"type":"Feature","id":1401,"properties":{"Name":"Jackson,Marjorie","Unit":"City Managers Office","Dept":"Office of Chief Info Officer","Job_Title":"Office Assistant V","Annual_Rt":"$39,654.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1401},"geometry":null},{"type":"Feature","id":1402,"properties":{"Name":"Stokes,Linda S","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Administrative Officer I","Annual_Rt":"$47,379.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1402},"geometry":null},{"type":"Feature","id":1403,"properties":{"Name":"Pace,Bonnie B","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Administrative Officer III","Annual_Rt":"$63,963.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1403},"geometry":null},{"type":"Feature","id":1404,"properties":{"Name":"Brewer,Laura S","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Arborist","Annual_Rt":"$64,422.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1404},"geometry":null},{"type":"Feature","id":1405,"properties":{"Name":"Trotter,Chris","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Arborist","Annual_Rt":"$51,266.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1405},"geometry":null},{"type":"Feature","id":1406,"properties":{"Name":"Chandler,Robert Bryan","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Asst Field Operations Supv","Annual_Rt":"$46,482.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1406},"geometry":null},{"type":"Feature","id":1407,"properties":{"Name":"Handy,Sandra Rose","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Asst Field Operations Supv","Annual_Rt":"$51,275.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1407},"geometry":null},{"type":"Feature","id":1408,"properties":{"Name":"Hatfield Jr,Lewis E","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Asst Field Operations Supv","Annual_Rt":"$48,893.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1408},"geometry":null},{"type":"Feature","id":1409,"properties":{"Name":"Sherrill Jr,Robert Julius","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Asst Field Operations Supv","Annual_Rt":"$46,794.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1409},"geometry":null},{"type":"Feature","id":1410,"properties":{"Name":"McSween II,Donald B","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Chief Arborist","Annual_Rt":"$78,886.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1410},"geometry":null},{"type":"Feature","id":1411,"properties":{"Name":"Jarvis,Kevin B","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Contract Technician","Annual_Rt":"$39,050.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1411},"geometry":null},{"type":"Feature","id":1412,"properties":{"Name":"Stephens,Randolph C","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Contract Technician","Annual_Rt":"$43,778.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1412},"geometry":null},{"type":"Feature","id":1413,"properties":{"Name":"Bollinger,Robert Steven","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Equipment Operator II","Annual_Rt":"$33,870.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1413},"geometry":null},{"type":"Feature","id":1414,"properties":{"Name":"Holder,Richard Conley","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Equipment Operator II","Annual_Rt":"$37,286.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1414},"geometry":null},{"type":"Feature","id":1415,"properties":{"Name":"Potter,James Robert","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Equipment Operator II","Annual_Rt":"$33,877.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1415},"geometry":null},{"type":"Feature","id":1416,"properties":{"Name":"Taylor,James","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Equipment Operator II","Annual_Rt":"$33,794.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1416},"geometry":null},{"type":"Feature","id":1417,"properties":{"Name":"Teno,David Lann","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Equipment Operator II","Annual_Rt":"$36,994.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1417},"geometry":null},{"type":"Feature","id":1418,"properties":{"Name":"Watson,John G","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Equipment Operator II","Annual_Rt":"$34,078.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1418},"geometry":null},{"type":"Feature","id":1419,"properties":{"Name":"Bugica,Gregory J.","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Field Operations Supervisor","Annual_Rt":"$55,806.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1419},"geometry":null},{"type":"Feature","id":1420,"properties":{"Name":"Davis,Christopher Brian","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Field Operations Supervisor","Annual_Rt":"$55,364.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1420},"geometry":null},{"type":"Feature","id":1421,"properties":{"Name":"Ketner,Steve M","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Field Operations Supervisor","Annual_Rt":"$63,355.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1421},"geometry":null},{"type":"Feature","id":1422,"properties":{"Name":"Pearce,Kathryne H","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Horticulturist","Annual_Rt":"$51,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1422},"geometry":null},{"type":"Feature","id":1423,"properties":{"Name":"Curlee,Keith R","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,979.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1423},"geometry":null},{"type":"Feature","id":1424,"properties":{"Name":"Davenport,Matthew Clark","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,799.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1424},"geometry":null},{"type":"Feature","id":1425,"properties":{"Name":"Ferguson,Erskine Vernon","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,913.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1425},"geometry":null},{"type":"Feature","id":1426,"properties":{"Name":"McMillan,Terry Michael","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,945.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1426},"geometry":null},{"type":"Feature","id":1427,"properties":{"Name":"Psaroudis,Frank C.","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,428.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1427},"geometry":null},{"type":"Feature","id":1428,"properties":{"Name":"Siu,Joseph","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,647.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1428},"geometry":null},{"type":"Feature","id":1429,"properties":{"Name":"Thompson Jr,Leo","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,100.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1429},"geometry":null},{"type":"Feature","id":1430,"properties":{"Name":"Williams,Anthony Michael","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,647.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1430},"geometry":null},{"type":"Feature","id":1431,"properties":{"Name":"Vincent,Kourtnie J","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Landscape Architect","Annual_Rt":"$65,119.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1431},"geometry":null},{"type":"Feature","id":1432,"properties":{"Name":"Aiken Jr,Robert W","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Landscape Crew Member","Annual_Rt":"$28,969.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1432},"geometry":null},{"type":"Feature","id":1433,"properties":{"Name":"Dellinger,Michael Ray","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Landscape Crew Member","Annual_Rt":"$29,381.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1433},"geometry":null},{"type":"Feature","id":1434,"properties":{"Name":"Mann,Michael D","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Landscape Crew Member","Annual_Rt":"$29,739.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1434},"geometry":null},{"type":"Feature","id":1435,"properties":{"Name":"Lojko,John T","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Landscape Management Supv","Annual_Rt":"$94,979.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1435},"geometry":null},{"type":"Feature","id":1436,"properties":{"Name":"Morris,Sarah Bridges","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Landscape Supervisor","Annual_Rt":"$67,345.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1436},"geometry":null},{"type":"Feature","id":1437,"properties":{"Name":"Brown,Karen A","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Office Assistant IV","Annual_Rt":"$39,415.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1437},"geometry":null},{"type":"Feature","id":1438,"properties":{"Name":"Lewis,Joya Domenique","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Office Assistant IV","Annual_Rt":"$33,945.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1438},"geometry":null},{"type":"Feature","id":1439,"properties":{"Name":"Hall Jr,George Q","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Operations Supervisor","Annual_Rt":"$74,528.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1439},"geometry":null},{"type":"Feature","id":1440,"properties":{"Name":"Vongsa,Bounyong","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Pesticide Applicator","Annual_Rt":"$35,588.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1440},"geometry":null},{"type":"Feature","id":1441,"properties":{"Name":"Phillips,Shaun Thomas","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Planning/Design Engineer","Annual_Rt":"$58,943.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1441},"geometry":null},{"type":"Feature","id":1442,"properties":{"Name":"Rand Jr,Eddie B","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Storekeeper","Annual_Rt":"$33,080.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1442},"geometry":null},{"type":"Feature","id":1443,"properties":{"Name":"Ah Hoy,Jacko T","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Tree Trimmer","Annual_Rt":"$35,127.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1443},"geometry":null},{"type":"Feature","id":1444,"properties":{"Name":"Cooper,Rodrigo Salomon","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Tree Trimmer","Annual_Rt":"$36,126.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1444},"geometry":null},{"type":"Feature","id":1445,"properties":{"Name":"Gaither,Rickey Lamar","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Tree Trimmer","Annual_Rt":"$34,224.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1445},"geometry":null},{"type":"Feature","id":1446,"properties":{"Name":"Merwin III,Philip William Joshua","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Tree Trimmer","Annual_Rt":"$34,223.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1446},"geometry":null},{"type":"Feature","id":1447,"properties":{"Name":"Mims,Talcot Lee","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Tree Trimmer","Annual_Rt":"$36,086.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1447},"geometry":null},{"type":"Feature","id":1448,"properties":{"Name":"Monroe,Craig W","Unit":"Engineering and Property Mgmt","Dept":"Eng - Landscape Management","Job_Title":"Urban Forestry Specialist","Annual_Rt":"$52,054.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1448},"geometry":null},{"type":"Feature","id":1449,"properties":{"Name":"Biggers,Edward N","Unit":"Engineering and Property Mgmt","Dept":"Eng & Property Mgt Mail Room","Job_Title":"Courier","Annual_Rt":"$32,162.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1449},"geometry":null},{"type":"Feature","id":1450,"properties":{"Name":"McClure,Christopher D","Unit":"Engineering and Property Mgmt","Dept":"Eng & Property Mgt Mail Room","Job_Title":"Courier","Annual_Rt":"$28,365.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1450},"geometry":null},{"type":"Feature","id":1451,"properties":{"Name":"McCorkle Jr,Robert L","Unit":"Engineering and Property Mgmt","Dept":"Eng & Property Mgt Mail Room","Job_Title":"Courier-Lead","Annual_Rt":"$31,639.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1451},"geometry":null},{"type":"Feature","id":1452,"properties":{"Name":"Dubnicka,Lynn S","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Administrative Officer I","Annual_Rt":"$53,110.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1452},"geometry":null},{"type":"Feature","id":1453,"properties":{"Name":"Nelson,Nora M","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Administrative Officer I","Annual_Rt":null,"Hrly_Rate":"$28.70 ","RegTemp":"T","Full/Part":"P","OBJECTID":1453},"geometry":null},{"type":"Feature","id":1454,"properties":{"Name":"Pomeroy,Brittany Michelle","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Administrative Officer I","Annual_Rt":"$46,979.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1454},"geometry":null},{"type":"Feature","id":1455,"properties":{"Name":"Arrington,Linda W","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Administrative Officer III","Annual_Rt":"$65,058.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1455},"geometry":null},{"type":"Feature","id":1456,"properties":{"Name":"Rutledge,Susan E","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Building Maintenance Supt","Annual_Rt":"$97,715.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1456},"geometry":null},{"type":"Feature","id":1457,"properties":{"Name":"Biggs,Glenn A","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Carpenter","Annual_Rt":"$47,031.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1457},"geometry":null},{"type":"Feature","id":1458,"properties":{"Name":"Elliott,Rickey L","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Carpenter Senior","Annual_Rt":"$50,281.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1458},"geometry":null},{"type":"Feature","id":1459,"properties":{"Name":"Hubbard,John P","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Carpenter Senior","Annual_Rt":"$42,740.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1459},"geometry":null},{"type":"Feature","id":1460,"properties":{"Name":"Proffitt,Michael R","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Carpenter Senior","Annual_Rt":"$45,143.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1460},"geometry":null},{"type":"Feature","id":1461,"properties":{"Name":"Church,James L","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Chief Maintenance Mechanic","Annual_Rt":"$66,300.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1461},"geometry":null},{"type":"Feature","id":1462,"properties":{"Name":"Johnson,Robert E","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Chief Maintenance Mechanic","Annual_Rt":"$63,545.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1462},"geometry":null},{"type":"Feature","id":1463,"properties":{"Name":"Walters,Fred N","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Chief Maintenance Mechanic","Annual_Rt":"$63,545.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1463},"geometry":null},{"type":"Feature","id":1464,"properties":{"Name":"Zagar,Mark J","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Chief Maintenance Mechanic","Annual_Rt":"$67,714.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1464},"geometry":null},{"type":"Feature","id":1465,"properties":{"Name":"Hanway,John S","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Construction Supervisor","Annual_Rt":"$60,688.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1465},"geometry":null},{"type":"Feature","id":1466,"properties":{"Name":"Witherell,William Michael","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Construction Supervisor","Annual_Rt":"$65,626.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1466},"geometry":null},{"type":"Feature","id":1467,"properties":{"Name":"Miller,David M","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Energy Manager","Annual_Rt":"$89,790.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1467},"geometry":null},{"type":"Feature","id":1468,"properties":{"Name":"Brooks,Henry Leland","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Energy Mgt Specialist","Annual_Rt":"$64,965.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1468},"geometry":null},{"type":"Feature","id":1469,"properties":{"Name":"Winter,Carlton B","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Energy Mgt Specialist","Annual_Rt":"$67,205.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1469},"geometry":null},{"type":"Feature","id":1470,"properties":{"Name":"Beck,Michael S","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"HVAC Technician Senior","Annual_Rt":"$60,181.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1470},"geometry":null},{"type":"Feature","id":1471,"properties":{"Name":"Calhoun Jr,Scott Andrew","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"HVAC Technician Senior","Annual_Rt":"$61,025.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1471},"geometry":null},{"type":"Feature","id":1472,"properties":{"Name":"Church,Micheal Shane","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"HVAC Technician Senior","Annual_Rt":"$65,280.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1472},"geometry":null},{"type":"Feature","id":1473,"properties":{"Name":"Kluttz Sr,Allan Lewis","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"HVAC Technician Senior","Annual_Rt":"$57,251.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1473},"geometry":null},{"type":"Feature","id":1474,"properties":{"Name":"Mason III,Jacob Bill","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"HVAC Technician Senior","Annual_Rt":"$57,254.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1474},"geometry":null},{"type":"Feature","id":1475,"properties":{"Name":"Stroud,Don C","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"HVAC Technician Senior","Annual_Rt":"$57,252.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1475},"geometry":null},{"type":"Feature","id":1476,"properties":{"Name":"Davis,Edna Flowers","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Office Assistant V","Annual_Rt":"$42,697.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1476},"geometry":null},{"type":"Feature","id":1477,"properties":{"Name":"Howe,Janis Meacham","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Office Assistant V","Annual_Rt":null,"Hrly_Rate":"$19.15 ","RegTemp":"T","Full/Part":"P","OBJECTID":1477},"geometry":null},{"type":"Feature","id":1478,"properties":{"Name":"Marlowe,Stephen","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Operations Supervisor","Annual_Rt":"$82,065.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1478},"geometry":null},{"type":"Feature","id":1479,"properties":{"Name":"Cassell,Lester C","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$50,031.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1479},"geometry":null},{"type":"Feature","id":1480,"properties":{"Name":"Darnell,Dennis A.","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$49,786.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1480},"geometry":null},{"type":"Feature","id":1481,"properties":{"Name":"Davis,Scott Andrew","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$52,027.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1481},"geometry":null},{"type":"Feature","id":1482,"properties":{"Name":"Fujita,Sei","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$54,067.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1482},"geometry":null},{"type":"Feature","id":1483,"properties":{"Name":"Luckey,Perry M.","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$49,376.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1483},"geometry":null},{"type":"Feature","id":1484,"properties":{"Name":"Nantz,James Patterson","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$53,676.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1484},"geometry":null},{"type":"Feature","id":1485,"properties":{"Name":"Osborne,William Rodney","Unit":"Engineering and Property Mgmt","Dept":"Eng Building Maintenance","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$53,146.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1485},"geometry":null},{"type":"Feature","id":1486,"properties":{"Name":"Rowe,Deborah L","Unit":"Engineering and Property Mgmt","Dept":"Eng Government Plaza Services","Job_Title":"Administrative Officer II","Annual_Rt":"$54,719.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1486},"geometry":null},{"type":"Feature","id":1487,"properties":{"Name":"Taylor,David L","Unit":"Engineering and Property Mgmt","Dept":"Eng Government Plaza Services","Job_Title":"Chief Maintenance Mechanic","Annual_Rt":"$65,158.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1487},"geometry":null},{"type":"Feature","id":1488,"properties":{"Name":"Barksdale,Rickey L","Unit":"Engineering and Property Mgmt","Dept":"Eng Government Plaza Services","Job_Title":"Construction Supervisor","Annual_Rt":"$62,344.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1488},"geometry":null},{"type":"Feature","id":1489,"properties":{"Name":"Frederick,Dianne Marie","Unit":"Engineering and Property Mgmt","Dept":"Eng Government Plaza Services","Job_Title":"Govt Plaza Property Mgr","Annual_Rt":"$73,469.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1489},"geometry":null},{"type":"Feature","id":1490,"properties":{"Name":"Wilson,Patrick S","Unit":"Engineering and Property Mgmt","Dept":"Eng Government Plaza Services","Job_Title":"Govt Plaza Security Coordinato","Annual_Rt":"$55,568.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1490},"geometry":null},{"type":"Feature","id":1491,"properties":{"Name":"Armstrong,Chad Everette","Unit":"Engineering and Property Mgmt","Dept":"Eng Government Plaza Services","Job_Title":"HVAC Technician Senior","Annual_Rt":"$56,408.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1491},"geometry":null},{"type":"Feature","id":1492,"properties":{"Name":"Cole,Michael E","Unit":"Engineering and Property Mgmt","Dept":"Eng Government Plaza Services","Job_Title":"Labor Crew Chief II","Annual_Rt":"$49,599.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1492},"geometry":null},{"type":"Feature","id":1493,"properties":{"Name":"Brice,Jarvis M.","Unit":"Engineering and Property Mgmt","Dept":"Eng Government Plaza Services","Job_Title":"Laborer","Annual_Rt":"$28,330.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1493},"geometry":null},{"type":"Feature","id":1494,"properties":{"Name":"McDougald,Steve Trenton","Unit":"Engineering and Property Mgmt","Dept":"Eng Government Plaza Services","Job_Title":"Laborer","Annual_Rt":"$27,348.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1494},"geometry":null},{"type":"Feature","id":1495,"properties":{"Name":"Williams,Nancy Karen","Unit":"Engineering and Property Mgmt","Dept":"Eng Government Plaza Services","Job_Title":"Office Assistant V","Annual_Rt":"$41,656.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1495},"geometry":null},{"type":"Feature","id":1496,"properties":{"Name":"Root,Michael","Unit":"Engineering and Property Mgmt","Dept":"Eng Government Plaza Services","Job_Title":"Systems Maint Mechanic Sr","Annual_Rt":"$54,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1496},"geometry":null},{"type":"Feature","id":1497,"properties":{"Name":"Manus,Sandy Dean","Unit":"Engineering and Property Mgmt","Dept":"Eng Government Plaza Services","Job_Title":"Systems Maintenance Mechanic","Annual_Rt":"$51,368.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1497},"geometry":null},{"type":"Feature","id":1498,"properties":{"Name":"Meeks,Robert Lee","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Administrative Officer II","Annual_Rt":"$52,452.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1498},"geometry":null},{"type":"Feature","id":1499,"properties":{"Name":"Polson,Andrew Clyde","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Administrative Officer II","Annual_Rt":null,"Hrly_Rate":"$36.41 ","RegTemp":"T","Full/Part":"P","OBJECTID":1499},"geometry":null},{"type":"Feature","id":1500,"properties":{"Name":"Hecksher,Joe Julius","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Administrative Officer IV","Annual_Rt":"$80,793.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1500},"geometry":null},{"type":"Feature","id":1501,"properties":{"Name":"Miller,Gary K.","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Bus System Spec Assc","Annual_Rt":"$51,632.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1501},"geometry":null},{"type":"Feature","id":1502,"properties":{"Name":"Willis,Samantha L","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$63,851.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1502},"geometry":null},{"type":"Feature","id":1503,"properties":{"Name":"Zeckoski,Rebecca","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$90,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1503},"geometry":null},{"type":"Feature","id":1504,"properties":{"Name":"Calhoun III,Thomas C","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Business Systems Manager","Annual_Rt":"$97,765.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1504},"geometry":null},{"type":"Feature","id":1505,"properties":{"Name":"Alette,Alexander","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$47,226.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1505},"geometry":null},{"type":"Feature","id":1506,"properties":{"Name":"Bird,David G","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$51,963.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1506},"geometry":null},{"type":"Feature","id":1507,"properties":{"Name":"Bost,Donna J","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$55,305.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1507},"geometry":null},{"type":"Feature","id":1508,"properties":{"Name":"Broome,Heather O.","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$49,114.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1508},"geometry":null},{"type":"Feature","id":1509,"properties":{"Name":"Brown,Steven Christopher","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$49,717.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1509},"geometry":null},{"type":"Feature","id":1510,"properties":{"Name":"Clapp,Adam Jason","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$50,733.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1510},"geometry":null},{"type":"Feature","id":1511,"properties":{"Name":"Deans,Sarah Kay","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$49,475.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1511},"geometry":null},{"type":"Feature","id":1512,"properties":{"Name":"Drzewiecki,Charlotte A","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$51,160.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1512},"geometry":null},{"type":"Feature","id":1513,"properties":{"Name":"Gladys,Christopher A","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$51,793.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1513},"geometry":null},{"type":"Feature","id":1514,"properties":{"Name":"Gunter,Chad E.","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$49,395.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1514},"geometry":null},{"type":"Feature","id":1515,"properties":{"Name":"Hardison,Joel D","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$50,223.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1515},"geometry":null},{"type":"Feature","id":1516,"properties":{"Name":"Jenkins,Jerry Lynn","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$50,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1516},"geometry":null},{"type":"Feature","id":1517,"properties":{"Name":"Knight,Jimmy Lee","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$52,059.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1517},"geometry":null},{"type":"Feature","id":1518,"properties":{"Name":"Long,Albert Ramon","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$49,583.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1518},"geometry":null},{"type":"Feature","id":1519,"properties":{"Name":"Loveland,Bradford P","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$49,869.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1519},"geometry":null},{"type":"Feature","id":1520,"properties":{"Name":"Talbot,Joseph E","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector","Annual_Rt":"$55,782.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1520},"geometry":null},{"type":"Feature","id":1521,"properties":{"Name":"Ackerman,Julian Scott","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector Senior","Annual_Rt":"$57,201.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1521},"geometry":null},{"type":"Feature","id":1522,"properties":{"Name":"Bissette,Monty","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector Senior","Annual_Rt":"$54,765.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1522},"geometry":null},{"type":"Feature","id":1523,"properties":{"Name":"Cole II,Frederick Blaine","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector Senior","Annual_Rt":"$54,794.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1523},"geometry":null},{"type":"Feature","id":1524,"properties":{"Name":"Edwards,Joshua E.","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector Senior","Annual_Rt":"$52,581.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1524},"geometry":null},{"type":"Feature","id":1525,"properties":{"Name":"Knight,James Ronald","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector Senior","Annual_Rt":"$55,007.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1525},"geometry":null},{"type":"Feature","id":1526,"properties":{"Name":"Martin Jr,Michael W","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Inspector Senior","Annual_Rt":"$54,702.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1526},"geometry":null},{"type":"Feature","id":1527,"properties":{"Name":"Canter,Stephen D","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Supervisor","Annual_Rt":"$74,066.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1527},"geometry":null},{"type":"Feature","id":1528,"properties":{"Name":"Cantrell,Frank L","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Supervisor","Annual_Rt":"$64,770.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1528},"geometry":null},{"type":"Feature","id":1529,"properties":{"Name":"Stansbury,Gary S","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Construction Supervisor","Annual_Rt":"$71,699.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1529},"geometry":null},{"type":"Feature","id":1530,"properties":{"Name":"Domras,Michael R","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Drainage Specialist","Annual_Rt":"$54,257.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1530},"geometry":null},{"type":"Feature","id":1531,"properties":{"Name":"Ganzert,Michael M","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Drainage Specialist","Annual_Rt":"$69,339.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1531},"geometry":null},{"type":"Feature","id":1532,"properties":{"Name":"Hattaway,William S","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Drainage Specialist","Annual_Rt":"$66,097.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1532},"geometry":null},{"type":"Feature","id":1533,"properties":{"Name":"Honeycutt,David Morrison","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Drainage Specialist","Annual_Rt":"$56,583.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1533},"geometry":null},{"type":"Feature","id":1534,"properties":{"Name":"Hudson,Jeffrey S","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Drainage Specialist","Annual_Rt":"$63,758.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1534},"geometry":null},{"type":"Feature","id":1535,"properties":{"Name":"Nixon,Shane A","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Drainage Specialist","Annual_Rt":"$57,981.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1535},"geometry":null},{"type":"Feature","id":1536,"properties":{"Name":"Brooks,Sandra G","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Eng Services Investigator","Annual_Rt":null,"Hrly_Rate":"$24.46 ","RegTemp":"T","Full/Part":"P","OBJECTID":1536},"geometry":null},{"type":"Feature","id":1537,"properties":{"Name":"Prather-Anderson,Monique A","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Eng Services Investigator","Annual_Rt":"$43,136.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1537},"geometry":null},{"type":"Feature","id":1538,"properties":{"Name":"Smith,Jennifer G","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Division Manager","Annual_Rt":"$103,285.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1538},"geometry":null},{"type":"Feature","id":1539,"properties":{"Name":"Edwards,C Stewart","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Program Manager","Annual_Rt":"$87,369.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1539},"geometry":null},{"type":"Feature","id":1540,"properties":{"Name":"Gustis,Matthew M.","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Program Manager","Annual_Rt":"$84,620.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1540},"geometry":null},{"type":"Feature","id":1541,"properties":{"Name":"Hammock,Daryl M","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Program Manager","Annual_Rt":"$94,800.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1541},"geometry":null},{"type":"Feature","id":1542,"properties":{"Name":"Tolan,Susan J","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Program Manager","Annual_Rt":"$85,629.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1542},"geometry":null},{"type":"Feature","id":1543,"properties":{"Name":"McCraney,Steven S","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$62,684.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1543},"geometry":null},{"type":"Feature","id":1544,"properties":{"Name":"Smith,Harold A E","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$63,013.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1544},"geometry":null},{"type":"Feature","id":1545,"properties":{"Name":"Alzate,Carlos Alberto","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$71,438.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1545},"geometry":null},{"type":"Feature","id":1546,"properties":{"Name":"Anderson,Matthew W","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$76,849.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1546},"geometry":null},{"type":"Feature","id":1547,"properties":{"Name":"Barker,Jennifer Lee","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$57,447.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":1547},"geometry":null},{"type":"Feature","id":1548,"properties":{"Name":"Bray,Jacklyn Beth","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$62,770.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":1548},"geometry":null},{"type":"Feature","id":1549,"properties":{"Name":"Cardenas,Adrian","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$73,185.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1549},"geometry":null},{"type":"Feature","id":1550,"properties":{"Name":"Cole,Gregory M.","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$70,468.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1550},"geometry":null},{"type":"Feature","id":1551,"properties":{"Name":"Fatula,James L","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$71,438.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1551},"geometry":null},{"type":"Feature","id":1552,"properties":{"Name":"Gaines,Harold","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$71,440.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1552},"geometry":null},{"type":"Feature","id":1553,"properties":{"Name":"Harris,William T.","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$71,371.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1553},"geometry":null},{"type":"Feature","id":1554,"properties":{"Name":"Keene,John David","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$75,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1554},"geometry":null},{"type":"Feature","id":1555,"properties":{"Name":"Kenney,David","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$72,991.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1555},"geometry":null},{"type":"Feature","id":1556,"properties":{"Name":"Kruckow,Monica","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$73,241.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1556},"geometry":null},{"type":"Feature","id":1557,"properties":{"Name":"McGee,Danee","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$75,963.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1557},"geometry":null},{"type":"Feature","id":1558,"properties":{"Name":"Nussman,Chad T.","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$72,350.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1558},"geometry":null},{"type":"Feature","id":1559,"properties":{"Name":"Perry,David N","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$74,905.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1559},"geometry":null},{"type":"Feature","id":1560,"properties":{"Name":"Perry,Emily","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$75,480.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1560},"geometry":null},{"type":"Feature","id":1561,"properties":{"Name":"Purvis,Thomas R","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$74,592.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1561},"geometry":null},{"type":"Feature","id":1562,"properties":{"Name":"Smiley,Brant","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$73,440.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1562},"geometry":null},{"type":"Feature","id":1563,"properties":{"Name":"Wilson,Brian Michael","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Engineering Project Manager","Annual_Rt":"$72,991.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1563},"geometry":null},{"type":"Feature","id":1564,"properties":{"Name":"Crigler,Alice Catherine","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"GIS Coordinator","Annual_Rt":"$60,559.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1564},"geometry":null},{"type":"Feature","id":1565,"properties":{"Name":"Shearer,Keri Schaber","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"GIS Supervisor","Annual_Rt":"$69,218.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1565},"geometry":null},{"type":"Feature","id":1566,"properties":{"Name":"Bright,Paul A","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"GIS Technician","Annual_Rt":"$44,150.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1566},"geometry":null},{"type":"Feature","id":1567,"properties":{"Name":"Mamar,Salifou S","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"GIS Technician","Annual_Rt":"$42,164.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1567},"geometry":null},{"type":"Feature","id":1568,"properties":{"Name":"Ricard,Thomas Pierre","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"GIS Technician","Annual_Rt":"$46,491.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1568},"geometry":null},{"type":"Feature","id":1569,"properties":{"Name":"Washington,Gerald Michael","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"GIS Technician","Annual_Rt":null,"Hrly_Rate":"$20.34 ","RegTemp":"T","Full/Part":"F","OBJECTID":1569},"geometry":null},{"type":"Feature","id":1570,"properties":{"Name":"Weddle Jr,David A","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"GIS Technician","Annual_Rt":null,"Hrly_Rate":"$22.24 ","RegTemp":"T","Full/Part":"F","OBJECTID":1570},"geometry":null},{"type":"Feature","id":1571,"properties":{"Name":"Weekly,Angela H","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Plan Review Engineer","Annual_Rt":null,"Hrly_Rate":"$30.45 ","RegTemp":"T","Full/Part":"P","OBJECTID":1571},"geometry":null},{"type":"Feature","id":1572,"properties":{"Name":"Lojko,Catherine D","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$45,473.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":1572},"geometry":null},{"type":"Feature","id":1573,"properties":{"Name":"Baker,David T","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Senior Engineer","Annual_Rt":"$77,928.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1573},"geometry":null},{"type":"Feature","id":1574,"properties":{"Name":"Frost,Robert Leon","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Senior Engineer","Annual_Rt":"$76,474.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1574},"geometry":null},{"type":"Feature","id":1575,"properties":{"Name":"Robinson,Donald Brian","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Senior Engineer","Annual_Rt":"$76,976.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1575},"geometry":null},{"type":"Feature","id":1576,"properties":{"Name":"Bice,Amy J.","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$79,168.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1576},"geometry":null},{"type":"Feature","id":1577,"properties":{"Name":"Botkin,Corky M","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$79,050.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1577},"geometry":null},{"type":"Feature","id":1578,"properties":{"Name":"Labadorf,Kate K","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$79,307.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1578},"geometry":null},{"type":"Feature","id":1579,"properties":{"Name":"Lozner,Douglas T.","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$76,121.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1579},"geometry":null},{"type":"Feature","id":1580,"properties":{"Name":"Miller,Craig M.","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Water Quality Program Admin","Annual_Rt":"$76,452.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1580},"geometry":null},{"type":"Feature","id":1581,"properties":{"Name":"Plummer,Amy L","Unit":"Engineering and Property Mgmt","Dept":"Eng Storm Water Services","Job_Title":"Web Content Administrator","Annual_Rt":"$35,127.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":1581},"geometry":null},{"type":"Feature","id":1582,"properties":{"Name":"Jackson,Jason Daniel","Unit":"Engineering and Property Mgmt","Dept":"Eng SW Water Quality","Job_Title":"Engineering Assistant","Annual_Rt":"$50,700.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1582},"geometry":null},{"type":"Feature","id":1583,"properties":{"Name":"Miller,Jordan B.","Unit":"Engineering and Property Mgmt","Dept":"Eng SW Water Quality","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$68,945.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1583},"geometry":null},{"type":"Feature","id":1584,"properties":{"Name":"Trainham,Nikki","Unit":"Engineering and Property Mgmt","Dept":"Eng SW Water Quality","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":1584},"geometry":null},{"type":"Feature","id":1585,"properties":{"Name":"Dodd,Alyssa Renee","Unit":"Engineering and Property Mgmt","Dept":"Eng SW Water Quality","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$62,400.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1585},"geometry":null},{"type":"Feature","id":1586,"properties":{"Name":"Schrum,John E","Unit":"Engineering and Property Mgmt","Dept":"Eng SW Water Quality","Job_Title":"Senior Engineer","Annual_Rt":"$78,477.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1586},"geometry":null},{"type":"Feature","id":1587,"properties":{"Name":"MacIntyre,Michael A","Unit":"Engineering and Property Mgmt","Dept":"Eng SW Water Quality","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$85,010.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1587},"geometry":null},{"type":"Feature","id":1588,"properties":{"Name":"Hall,Kyle Michael","Unit":"Engineering and Property Mgmt","Dept":"Eng SW Water Quality","Job_Title":"Water Quality Modeler","Annual_Rt":"$72,402.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1588},"geometry":null},{"type":"Feature","id":1589,"properties":{"Name":"Jadlocki,Stephen J","Unit":"Engineering and Property Mgmt","Dept":"Eng SW Water Quality","Job_Title":"Water Quality Program Admin","Annual_Rt":"$69,636.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1589},"geometry":null},{"type":"Feature","id":1590,"properties":{"Name":"Karl,Jarrod J.","Unit":"Engineering and Property Mgmt","Dept":"Eng SW Water Quality","Job_Title":"Water Quality Program Admin","Annual_Rt":"$72,986.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1590},"geometry":null},{"type":"Feature","id":1591,"properties":{"Name":"Recktenwald,Marc Daniel","Unit":"Engineering and Property Mgmt","Dept":"Eng SW Water Quality","Job_Title":"Water Quality Program Manager","Annual_Rt":"$83,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1591},"geometry":null},{"type":"Feature","id":1592,"properties":{"Name":"Hunt,Jason A","Unit":"Engineering and Property Mgmt","Dept":"Eng SW Water Quality","Job_Title":"Water Quality Program Speciali","Annual_Rt":"$68,016.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1592},"geometry":null},{"type":"Feature","id":1593,"properties":{"Name":"Hinson,Isaac Jamin","Unit":"Engineering and Property Mgmt","Dept":"Eng SW Water Quality","Job_Title":"Wetland Specialist","Annual_Rt":"$56,651.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1593},"geometry":null},{"type":"Feature","id":1594,"properties":{"Name":"Revels,John T","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer I","Annual_Rt":null,"Hrly_Rate":"$24.92 ","RegTemp":"T","Full/Part":"P","OBJECTID":1594},"geometry":null},{"type":"Feature","id":1595,"properties":{"Name":"Burgett,Ching Fong Yuen","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer II","Annual_Rt":"$54,846.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1595},"geometry":null},{"type":"Feature","id":1596,"properties":{"Name":"Epps,Barbara J.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer II","Annual_Rt":"$52,335.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1596},"geometry":null},{"type":"Feature","id":1597,"properties":{"Name":"Garlitos,Lori Addante","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer II","Annual_Rt":"$53,939.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1597},"geometry":null},{"type":"Feature","id":1598,"properties":{"Name":"Horne,Trisha A","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer II","Annual_Rt":"$53,314.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1598},"geometry":null},{"type":"Feature","id":1599,"properties":{"Name":"Murray,Jamie M","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer II","Annual_Rt":"$52,764.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1599},"geometry":null},{"type":"Feature","id":1600,"properties":{"Name":"Richardson,Wanda A","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer II","Annual_Rt":"$49,725.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1600},"geometry":null},{"type":"Feature","id":1601,"properties":{"Name":"Rodriguez,Eugenia J.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer II","Annual_Rt":"$38,128.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":1601},"geometry":null},{"type":"Feature","id":1602,"properties":{"Name":"Thompson,Cynthia A","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer II","Annual_Rt":"$51,914.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1602},"geometry":null},{"type":"Feature","id":1603,"properties":{"Name":"Simmons,Vivian B","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer III","Annual_Rt":"$58,310.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1603},"geometry":null},{"type":"Feature","id":1604,"properties":{"Name":"Weeden,Jeremy R.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer III","Annual_Rt":"$59,233.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1604},"geometry":null},{"type":"Feature","id":1605,"properties":{"Name":"Price,Ashleigh Martin","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer IV","Annual_Rt":"$65,295.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1605},"geometry":null},{"type":"Feature","id":1606,"properties":{"Name":"Saucedo,Erasmo","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer IV","Annual_Rt":"$81,834.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1606},"geometry":null},{"type":"Feature","id":1607,"properties":{"Name":"Smyre,Charles R","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Administrative Officer IV","Annual_Rt":null,"Hrly_Rate":"$38.48 ","RegTemp":"T","Full/Part":"P","OBJECTID":1607},"geometry":null},{"type":"Feature","id":1608,"properties":{"Name":"Richards,Timothy A","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Assistant City Engineer","Annual_Rt":"$123,261.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1608},"geometry":null},{"type":"Feature","id":1609,"properties":{"Name":"Shell,Gina T","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Assistant Director Engineering","Annual_Rt":"$121,430.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1609},"geometry":null},{"type":"Feature","id":1610,"properties":{"Name":"Shayeghi,Amir Nicholas","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$73,050.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1610},"geometry":null},{"type":"Feature","id":1611,"properties":{"Name":"Hunter,William T.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Business System Spec Sr","Annual_Rt":"$82,006.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1611},"geometry":null},{"type":"Feature","id":1612,"properties":{"Name":"Laney,James M","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Business System Spec Sr","Annual_Rt":"$78,975.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1612},"geometry":null},{"type":"Feature","id":1613,"properties":{"Name":"Northrup,Barbara D","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Business System Spec Sr","Annual_Rt":"$85,372.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1613},"geometry":null},{"type":"Feature","id":1614,"properties":{"Name":"Rockwell,Amy L","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Business System Spec Sr","Annual_Rt":"$76,488.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1614},"geometry":null},{"type":"Feature","id":1615,"properties":{"Name":"Bolin,Christopher Scott","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$49,956.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1615},"geometry":null},{"type":"Feature","id":1616,"properties":{"Name":"Conroy,George B","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$49,500.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1616},"geometry":null},{"type":"Feature","id":1617,"properties":{"Name":"Crago,Grant Carson","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$47,585.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1617},"geometry":null},{"type":"Feature","id":1618,"properties":{"Name":"Doll,Peter Thomas","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$49,456.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1618},"geometry":null},{"type":"Feature","id":1619,"properties":{"Name":"Ezell Jr,Roy A","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$50,298.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1619},"geometry":null},{"type":"Feature","id":1620,"properties":{"Name":"Gaines,Brooke Elizabeth","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$48,500.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1620},"geometry":null},{"type":"Feature","id":1621,"properties":{"Name":"Generette,Kisha Danielle","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$48,914.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1621},"geometry":null},{"type":"Feature","id":1622,"properties":{"Name":"Harper,Joe L.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$49,392.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1622},"geometry":null},{"type":"Feature","id":1623,"properties":{"Name":"Hodges,William D","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$51,597.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1623},"geometry":null},{"type":"Feature","id":1624,"properties":{"Name":"Kincaid,Donald E","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$53,852.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1624},"geometry":null},{"type":"Feature","id":1625,"properties":{"Name":"Nziuki,Tsakala B","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$53,772.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1625},"geometry":null},{"type":"Feature","id":1626,"properties":{"Name":"Perry,Richard A","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$49,047.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1626},"geometry":null},{"type":"Feature","id":1627,"properties":{"Name":"Powell,Andre L","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$47,184.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1627},"geometry":null},{"type":"Feature","id":1628,"properties":{"Name":"Russell,Michael W.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$47,444.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1628},"geometry":null},{"type":"Feature","id":1629,"properties":{"Name":"Smith,Philip Cody","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$50,442.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1629},"geometry":null},{"type":"Feature","id":1630,"properties":{"Name":"Stancil,Mark C.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$48,429.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1630},"geometry":null},{"type":"Feature","id":1631,"properties":{"Name":"Stone,Tamye Ruth","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$47,625.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1631},"geometry":null},{"type":"Feature","id":1632,"properties":{"Name":"Suddreth,Lloyd N","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$52,763.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1632},"geometry":null},{"type":"Feature","id":1633,"properties":{"Name":"Trogdon,John","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector","Annual_Rt":"$53,362.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1633},"geometry":null},{"type":"Feature","id":1634,"properties":{"Name":"Elder,Cedric Clark","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector Senior","Annual_Rt":"$56,101.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1634},"geometry":null},{"type":"Feature","id":1635,"properties":{"Name":"Morton Jr,Tim E","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector Senior","Annual_Rt":"$55,069.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1635},"geometry":null},{"type":"Feature","id":1636,"properties":{"Name":"Neal,Daniel Downing","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector Senior","Annual_Rt":"$55,663.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1636},"geometry":null},{"type":"Feature","id":1637,"properties":{"Name":"Northrop,Tyler W","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Inspector Senior","Annual_Rt":"$55,448.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1637},"geometry":null},{"type":"Feature","id":1638,"properties":{"Name":"Allen,Marvin Darnell","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Supervisor","Annual_Rt":"$61,507.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1638},"geometry":null},{"type":"Feature","id":1639,"properties":{"Name":"Bryant,Mae Hodges","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Supervisor","Annual_Rt":"$66,111.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1639},"geometry":null},{"type":"Feature","id":1640,"properties":{"Name":"Carsno,Michael W","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Supervisor","Annual_Rt":"$69,436.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1640},"geometry":null},{"type":"Feature","id":1641,"properties":{"Name":"Jiles,Christopher","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Construction Supervisor","Annual_Rt":"$65,036.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1641},"geometry":null},{"type":"Feature","id":1642,"properties":{"Name":"Price,Pamela Fox","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Contract Technician","Annual_Rt":"$46,115.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1642},"geometry":null},{"type":"Feature","id":1643,"properties":{"Name":"King,Gary J","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Contracts Admin Coordinator","Annual_Rt":"$67,238.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1643},"geometry":null},{"type":"Feature","id":1644,"properties":{"Name":"Mobley,John E","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Contracts Admin Coordinator","Annual_Rt":"$73,268.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1644},"geometry":null},{"type":"Feature","id":1645,"properties":{"Name":"Roming,Manuela","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Contracts Admin Coordinator","Annual_Rt":"$68,842.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1645},"geometry":null},{"type":"Feature","id":1646,"properties":{"Name":"Ferguson,Gary C","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Drafting Technician","Annual_Rt":"$51,160.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1646},"geometry":null},{"type":"Feature","id":1647,"properties":{"Name":"Goddard,James P","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Drafting Technician","Annual_Rt":"$42,225.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1647},"geometry":null},{"type":"Feature","id":1648,"properties":{"Name":"Gullion,Lesley A","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Drafting Technician","Annual_Rt":"$45,166.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1648},"geometry":null},{"type":"Feature","id":1649,"properties":{"Name":"Shackelford,Steven C","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Drafting Technician","Annual_Rt":"$43,302.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1649},"geometry":null},{"type":"Feature","id":1650,"properties":{"Name":"Stahala,Philipp","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Drafting Technician","Annual_Rt":"$43,431.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1650},"geometry":null},{"type":"Feature","id":1651,"properties":{"Name":"Sickles,Laurie Jo","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Energy Sustainability Coordina","Annual_Rt":"$65,280.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1651},"geometry":null},{"type":"Feature","id":1652,"properties":{"Name":"Blackwell,James E","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering & Prop Mgt Directo","Annual_Rt":"$170,252.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1652},"geometry":null},{"type":"Feature","id":1653,"properties":{"Name":"Nail,Michael A.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Business Serv Mgr","Annual_Rt":"$96,558.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1653},"geometry":null},{"type":"Feature","id":1654,"properties":{"Name":"Vang,Susana Moua","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Contracts Manager","Annual_Rt":"$91,716.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1654},"geometry":null},{"type":"Feature","id":1655,"properties":{"Name":"Hamilton,Tammy Boswell","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Contracts Speciali","Annual_Rt":"$56,835.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1655},"geometry":null},{"type":"Feature","id":1656,"properties":{"Name":"Johnson,Donna D","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Contracts Speciali","Annual_Rt":"$58,667.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1656},"geometry":null},{"type":"Feature","id":1657,"properties":{"Name":"Lockamy,Eric Jason","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Contracts Speciali","Annual_Rt":"$56,393.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1657},"geometry":null},{"type":"Feature","id":1658,"properties":{"Name":"McDowall,LaNelle","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Contracts Speciali","Annual_Rt":"$66,574.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1658},"geometry":null},{"type":"Feature","id":1659,"properties":{"Name":"Miloy,Jennifer Joiner","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Contracts Speciali","Annual_Rt":"$57,971.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1659},"geometry":null},{"type":"Feature","id":1660,"properties":{"Name":"Reid,Kathryn Sally","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Contracts Speciali","Annual_Rt":"$60,896.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1660},"geometry":null},{"type":"Feature","id":1661,"properties":{"Name":"Sanburg,Eric B","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Contracts Speciali","Annual_Rt":"$55,365.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1661},"geometry":null},{"type":"Feature","id":1662,"properties":{"Name":"Walker,Johnella","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Contracts Speciali","Annual_Rt":"$67,002.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1662},"geometry":null},{"type":"Feature","id":1663,"properties":{"Name":"Walters,Janice Alicia","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Contracts Speciali","Annual_Rt":"$60,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1663},"geometry":null},{"type":"Feature","id":1664,"properties":{"Name":"Haas,William L","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Division Manager","Annual_Rt":"$103,292.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1664},"geometry":null},{"type":"Feature","id":1665,"properties":{"Name":"Meachum,David Glenn","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Division Manager","Annual_Rt":"$115,614.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1665},"geometry":null},{"type":"Feature","id":1666,"properties":{"Name":"Frederick,Bette F","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Program Manager","Annual_Rt":"$86,138.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1666},"geometry":null},{"type":"Feature","id":1667,"properties":{"Name":"Greene,Timothy L","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Program Manager","Annual_Rt":"$97,306.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1667},"geometry":null},{"type":"Feature","id":1668,"properties":{"Name":"Hoy,Michael B","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Program Manager","Annual_Rt":"$93,218.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1668},"geometry":null},{"type":"Feature","id":1669,"properties":{"Name":"Jarrett Jr,Carl W","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Program Manager","Annual_Rt":"$86,165.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1669},"geometry":null},{"type":"Feature","id":1670,"properties":{"Name":"Keenan,James Evans","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Program Manager","Annual_Rt":"$86,410.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1670},"geometry":null},{"type":"Feature","id":1671,"properties":{"Name":"Mrzygod III,Stanley John","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Program Manager","Annual_Rt":"$95,036.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1671},"geometry":null},{"type":"Feature","id":1672,"properties":{"Name":"Tarlton,Bryan C.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Program Manager","Annual_Rt":"$90,344.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1672},"geometry":null},{"type":"Feature","id":1673,"properties":{"Name":"Wallace,Veronica Sirlethia McGriff","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Program Manager","Annual_Rt":"$95,769.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1673},"geometry":null},{"type":"Feature","id":1674,"properties":{"Name":"Wolfe,David E","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Program Manager","Annual_Rt":"$84,910.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1674},"geometry":null},{"type":"Feature","id":1675,"properties":{"Name":"Crofts,Chandler G","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$68,042.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1675},"geometry":null},{"type":"Feature","id":1676,"properties":{"Name":"Fulghum,Miles J","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$65,289.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1676},"geometry":null},{"type":"Feature","id":1677,"properties":{"Name":"Hanes,Valerie Jane Valencia","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$72,884.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1677},"geometry":null},{"type":"Feature","id":1678,"properties":{"Name":"Hedrick,Kory M","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$64,793.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1678},"geometry":null},{"type":"Feature","id":1679,"properties":{"Name":"Shklovsky,Dmitry","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$69,722.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1679},"geometry":null},{"type":"Feature","id":1680,"properties":{"Name":"Babson,Anthony D.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$71,262.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1680},"geometry":null},{"type":"Feature","id":1681,"properties":{"Name":"Barber,Sam","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$70,028.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1681},"geometry":null},{"type":"Feature","id":1682,"properties":{"Name":"Bing,Leslie N","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$70,717.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1682},"geometry":null},{"type":"Feature","id":1683,"properties":{"Name":"Brickey,Allison C.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$76,899.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1683},"geometry":null},{"type":"Feature","id":1684,"properties":{"Name":"Buchanan,Sharon D","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$57,901.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":1684},"geometry":null},{"type":"Feature","id":1685,"properties":{"Name":"Chapman,Ellen H","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$75,408.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1685},"geometry":null},{"type":"Feature","id":1686,"properties":{"Name":"Chereshkoff,Cary L","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$70,323.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1686},"geometry":null},{"type":"Feature","id":1687,"properties":{"Name":"Davis II,Freddie L","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$69,707.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1687},"geometry":null},{"type":"Feature","id":1688,"properties":{"Name":"Frey,Joseph A.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$76,006.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1688},"geometry":null},{"type":"Feature","id":1689,"properties":{"Name":"Furr,William J","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$92,336.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1689},"geometry":null},{"type":"Feature","id":1690,"properties":{"Name":"Grimshaw,Mark E","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$71,834.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1690},"geometry":null},{"type":"Feature","id":1691,"properties":{"Name":"Hassenfritz,Elizabeth H","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$38,246.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":1691},"geometry":null},{"type":"Feature","id":1692,"properties":{"Name":"Hendrickson Woodside,Monifa Akim Sharla","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$77,896.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1692},"geometry":null},{"type":"Feature","id":1693,"properties":{"Name":"Kennedy,Kristie H","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$70,360.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1693},"geometry":null},{"type":"Feature","id":1694,"properties":{"Name":"Khan,Sadia Mujib","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$74,460.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1694},"geometry":null},{"type":"Feature","id":1695,"properties":{"Name":"Miller,Bruce E.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$79,870.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1695},"geometry":null},{"type":"Feature","id":1696,"properties":{"Name":"Mosley,Sonji M","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$70,024.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1696},"geometry":null},{"type":"Feature","id":1697,"properties":{"Name":"Poole,Derrel L","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$68,567.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1697},"geometry":null},{"type":"Feature","id":1698,"properties":{"Name":"Salazar,Jorge A","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$75,084.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1698},"geometry":null},{"type":"Feature","id":1699,"properties":{"Name":"Sossamon Jr,Jonathan H","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Engineering Project Manager","Annual_Rt":"$75,769.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1699},"geometry":null},{"type":"Feature","id":1700,"properties":{"Name":"Gucciardi,Steven G","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Environmental Compliance Spec","Annual_Rt":"$56,880.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1700},"geometry":null},{"type":"Feature","id":1701,"properties":{"Name":"Brim,Jackie Wade","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Field Survey Supervisor","Annual_Rt":"$58,523.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1701},"geometry":null},{"type":"Feature","id":1702,"properties":{"Name":"Insogna Jr,George A","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Field Survey Supervisor","Annual_Rt":"$62,348.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1702},"geometry":null},{"type":"Feature","id":1703,"properties":{"Name":"Moua,Sou","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"GIS Analyst","Annual_Rt":"$57,954.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1703},"geometry":null},{"type":"Feature","id":1704,"properties":{"Name":"Olls,Andrew P","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"GIS Technician","Annual_Rt":"$45,813.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1704},"geometry":null},{"type":"Feature","id":1705,"properties":{"Name":"Watters,Falguni G","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"GIS Technician","Annual_Rt":"$48,306.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1705},"geometry":null},{"type":"Feature","id":1706,"properties":{"Name":"Hamm,Michael","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":1706},"geometry":null},{"type":"Feature","id":1707,"properties":{"Name":"Mitchell,Marcus G","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":1707},"geometry":null},{"type":"Feature","id":1708,"properties":{"Name":"Jones,Stana W","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Office Assistant IV","Annual_Rt":"$42,856.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1708},"geometry":null},{"type":"Feature","id":1709,"properties":{"Name":"Karpeh,Mildred H.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Office Assistant IV","Annual_Rt":"$35,585.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1709},"geometry":null},{"type":"Feature","id":1710,"properties":{"Name":"Huntley,Alisa M","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Office Assistant V","Annual_Rt":"$43,413.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1710},"geometry":null},{"type":"Feature","id":1711,"properties":{"Name":"Abney,Eloida F.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Planning/Design Engineer","Annual_Rt":"$56,483.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1711},"geometry":null},{"type":"Feature","id":1712,"properties":{"Name":"Behlke,Kristen Thomas","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$63,262.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1712},"geometry":null},{"type":"Feature","id":1713,"properties":{"Name":"Clemens,Cynthia N","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$71,053.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1713},"geometry":null},{"type":"Feature","id":1714,"properties":{"Name":"Banbury,James Taylor","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Public Service Coordinator","Annual_Rt":"$80,443.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1714},"geometry":null},{"type":"Feature","id":1715,"properties":{"Name":"Emmons,James J","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Safety Coordinator","Annual_Rt":"$73,229.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1715},"geometry":null},{"type":"Feature","id":1716,"properties":{"Name":"Chambers,Rebecca L","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineer","Annual_Rt":"$61,173.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":1716},"geometry":null},{"type":"Feature","id":1717,"properties":{"Name":"Leaver,Daniel J","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineer","Annual_Rt":"$79,961.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1717},"geometry":null},{"type":"Feature","id":1718,"properties":{"Name":"Morrison,Alan F.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineer","Annual_Rt":"$82,327.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1718},"geometry":null},{"type":"Feature","id":1719,"properties":{"Name":"Smith,David B","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineer","Annual_Rt":"$79,936.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1719},"geometry":null},{"type":"Feature","id":1720,"properties":{"Name":"Carpenter,Keith A","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$74,861.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1720},"geometry":null},{"type":"Feature","id":1721,"properties":{"Name":"Eisenberger,Troy Alan","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$81,785.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1721},"geometry":null},{"type":"Feature","id":1722,"properties":{"Name":"Fakhreddin,Imad W","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$84,309.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1722},"geometry":null},{"type":"Feature","id":1723,"properties":{"Name":"Haas,Michelle M","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$67,075.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":1723},"geometry":null},{"type":"Feature","id":1724,"properties":{"Name":"Pierotti,Douglas L.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$78,418.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1724},"geometry":null},{"type":"Feature","id":1725,"properties":{"Name":"Russell,Thomas W","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$81,305.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1725},"geometry":null},{"type":"Feature","id":1726,"properties":{"Name":"Santimaw,Kathleen A","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$81,601.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1726},"geometry":null},{"type":"Feature","id":1727,"properties":{"Name":"Watley,Theresa J.L.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$80,057.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1727},"geometry":null},{"type":"Feature","id":1728,"properties":{"Name":"Widenhouse,Michael A","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$80,575.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1728},"geometry":null},{"type":"Feature","id":1729,"properties":{"Name":"Wimberly,Tonia Poston","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$83,829.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1729},"geometry":null},{"type":"Feature","id":1730,"properties":{"Name":"Bower II,Clyde Vernon","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Software Developer Intermediat","Annual_Rt":"$75,904.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1730},"geometry":null},{"type":"Feature","id":1731,"properties":{"Name":"Bouknight,Wendell Jack","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Software Developer Senior","Annual_Rt":"$89,474.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1731},"geometry":null},{"type":"Feature","id":1732,"properties":{"Name":"Bain,Jeffrey Blair","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Party Chief","Annual_Rt":"$49,273.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1732},"geometry":null},{"type":"Feature","id":1733,"properties":{"Name":"Cobb,James Jeffrey","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Party Chief","Annual_Rt":"$52,329.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1733},"geometry":null},{"type":"Feature","id":1734,"properties":{"Name":"Gibbons,Martin P","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Party Chief","Annual_Rt":"$51,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1734},"geometry":null},{"type":"Feature","id":1735,"properties":{"Name":"Graham,Barry","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Party Chief","Annual_Rt":"$48,192.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1735},"geometry":null},{"type":"Feature","id":1736,"properties":{"Name":"Huneycutt,John Exom","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Party Chief","Annual_Rt":"$52,077.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1736},"geometry":null},{"type":"Feature","id":1737,"properties":{"Name":"Hurst,Robert M","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Party Chief","Annual_Rt":"$46,245.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1737},"geometry":null},{"type":"Feature","id":1738,"properties":{"Name":"Irish,Jason M","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Party Chief","Annual_Rt":"$48,989.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1738},"geometry":null},{"type":"Feature","id":1739,"properties":{"Name":"Morelli,Christian Ellis","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Party Chief","Annual_Rt":"$52,329.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1739},"geometry":null},{"type":"Feature","id":1740,"properties":{"Name":"Outland,Philip Michael","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Party Chief","Annual_Rt":"$46,069.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1740},"geometry":null},{"type":"Feature","id":1741,"properties":{"Name":"Snider,David H","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Supervisor","Annual_Rt":"$88,899.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1741},"geometry":null},{"type":"Feature","id":1742,"properties":{"Name":"Brown,Martin","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Technician","Annual_Rt":"$35,880.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1742},"geometry":null},{"type":"Feature","id":1743,"properties":{"Name":"Ferguson,Benjamin J","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Technician","Annual_Rt":"$38,892.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1743},"geometry":null},{"type":"Feature","id":1744,"properties":{"Name":"Finch,Jaii B.","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Technician","Annual_Rt":"$38,385.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1744},"geometry":null},{"type":"Feature","id":1745,"properties":{"Name":"Gore,Christopher Alan","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Technician","Annual_Rt":"$35,880.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1745},"geometry":null},{"type":"Feature","id":1746,"properties":{"Name":"Hornung,Anton Gene","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Technician","Annual_Rt":"$39,505.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1746},"geometry":null},{"type":"Feature","id":1747,"properties":{"Name":"OKeef Jr,Leon","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Technician","Annual_Rt":"$39,924.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1747},"geometry":null},{"type":"Feature","id":1748,"properties":{"Name":"Wagenhauser,Michael A","Unit":"Engineering and Property Mgmt","Dept":"Engineering & Property Mgt.","Job_Title":"Survey Technician","Annual_Rt":"$36,777.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1748},"geometry":null},{"type":"Feature","id":1749,"properties":{"Name":"Berry,Ray E","Unit":"Engineering and Property Mgmt","Dept":"Engineering Discovery Place","Job_Title":"Building Maintenance Supv","Annual_Rt":"$41,914.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1749},"geometry":null},{"type":"Feature","id":1750,"properties":{"Name":"Horne,Richard D","Unit":"Engineering and Property Mgmt","Dept":"Engineering Discovery Place","Job_Title":"HVAC Technician Senior","Annual_Rt":"$62,732.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1750},"geometry":null},{"type":"Feature","id":1751,"properties":{"Name":"Salanger,Shauna L","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Administrative Officer III","Annual_Rt":"$58,291.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1751},"geometry":null},{"type":"Feature","id":1752,"properties":{"Name":"Peterson,Nanette","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Administrative Officer IV","Annual_Rt":"$74,593.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1752},"geometry":null},{"type":"Feature","id":1753,"properties":{"Name":"Hu,Yunhui","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Business System Spec Sr","Annual_Rt":"$90,948.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1753},"geometry":null},{"type":"Feature","id":1754,"properties":{"Name":"Benner,Gary L","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Construction Inspector","Annual_Rt":"$56,964.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1754},"geometry":null},{"type":"Feature","id":1755,"properties":{"Name":"LaMarre,John C","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Construction Inspector","Annual_Rt":"$51,275.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1755},"geometry":null},{"type":"Feature","id":1756,"properties":{"Name":"Styers,Mark A","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Construction Inspector","Annual_Rt":"$52,655.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1756},"geometry":null},{"type":"Feature","id":1757,"properties":{"Name":"Yungfleisch,Shelly A","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Construction Inspector","Annual_Rt":"$53,377.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1757},"geometry":null},{"type":"Feature","id":1758,"properties":{"Name":"Johnson,Christopher D","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Construction Inspector Senior","Annual_Rt":"$59,332.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1758},"geometry":null},{"type":"Feature","id":1759,"properties":{"Name":"Miller,Walter B","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Construction Supervisor","Annual_Rt":null,"Hrly_Rate":"$33.43 ","RegTemp":"T","Full/Part":"P","OBJECTID":1759},"geometry":null},{"type":"Feature","id":1760,"properties":{"Name":"Botkin,Frances Ashley","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Eng Services Investigator","Annual_Rt":"$45,632.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1760},"geometry":null},{"type":"Feature","id":1761,"properties":{"Name":"Christenbury,Alice F","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Eng Services Investigator","Annual_Rt":"$49,518.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1761},"geometry":null},{"type":"Feature","id":1762,"properties":{"Name":"Paty III,Charles M","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Eng Services Investigator","Annual_Rt":"$46,740.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1762},"geometry":null},{"type":"Feature","id":1763,"properties":{"Name":"Weekly,David B","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Engineering Division Manager","Annual_Rt":"$107,851.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1763},"geometry":null},{"type":"Feature","id":1764,"properties":{"Name":"Ferguson,Tommy L","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Engineering Program Manager","Annual_Rt":"$89,299.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1764},"geometry":null},{"type":"Feature","id":1765,"properties":{"Name":"Bock,Jeff M","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Erosion Control Coordinator","Annual_Rt":"$50,218.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1765},"geometry":null},{"type":"Feature","id":1766,"properties":{"Name":"Hodges,Virginia Rae","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Erosion Control Coordinator","Annual_Rt":"$52,520.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1766},"geometry":null},{"type":"Feature","id":1767,"properties":{"Name":"Sabha,Ahmad M.","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Erosion Control Coordinator","Annual_Rt":"$49,342.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1767},"geometry":null},{"type":"Feature","id":1768,"properties":{"Name":"Wilson II,James Paul","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Erosion Control Coordinator","Annual_Rt":"$55,717.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1768},"geometry":null},{"type":"Feature","id":1769,"properties":{"Name":"Chien,Yi-Chen","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Plan Review Engineer","Annual_Rt":"$63,804.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1769},"geometry":null},{"type":"Feature","id":1770,"properties":{"Name":"Jones,James R.","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Plans Reviewer","Annual_Rt":"$83,876.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1770},"geometry":null},{"type":"Feature","id":1771,"properties":{"Name":"Marshall,John","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Plans Reviewer","Annual_Rt":"$82,160.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1771},"geometry":null},{"type":"Feature","id":1772,"properties":{"Name":"Merrell,Kam A.","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Plans Reviewer","Annual_Rt":"$89,505.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1772},"geometry":null},{"type":"Feature","id":1773,"properties":{"Name":"Chapman,Mark B","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Senior Engineer","Annual_Rt":"$79,721.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1773},"geometry":null},{"type":"Feature","id":1774,"properties":{"Name":"Smith,Brendan M","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Senior Engineer","Annual_Rt":"$79,528.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1774},"geometry":null},{"type":"Feature","id":1775,"properties":{"Name":"Zink,Robert M","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Senior Engineer","Annual_Rt":"$79,925.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1775},"geometry":null},{"type":"Feature","id":1776,"properties":{"Name":"Armstrong Jr,Charles Stanford","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Urban Forestry Specialist","Annual_Rt":"$49,885.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1776},"geometry":null},{"type":"Feature","id":1777,"properties":{"Name":"Robertson,Kelly","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Urban Forestry Specialist","Annual_Rt":"$50,391.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1777},"geometry":null},{"type":"Feature","id":1778,"properties":{"Name":"Turner,Gary B","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Urban Forestry Specialist","Annual_Rt":"$51,257.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1778},"geometry":null},{"type":"Feature","id":1779,"properties":{"Name":"Porter,Timothy Drew","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Urban Forestry Supervisor","Annual_Rt":"$61,757.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1779},"geometry":null},{"type":"Feature","id":1780,"properties":{"Name":"Geer Jr,John B","Unit":"Engineering and Property Mgmt","Dept":"Engineering Land Development","Job_Title":"Water Quality Program Admin","Annual_Rt":null,"Hrly_Rate":"$38.71 ","RegTemp":"T","Full/Part":"P","OBJECTID":1780},"geometry":null},{"type":"Feature","id":1781,"properties":{"Name":"Barnes,Patricia Louise","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Administrative Officer I","Annual_Rt":"$46,855.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1781},"geometry":null},{"type":"Feature","id":1782,"properties":{"Name":"Kegley,Leslie S","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Administrative Officer I","Annual_Rt":"$44,523.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1782},"geometry":null},{"type":"Feature","id":1783,"properties":{"Name":"Ndanu,Nancy Yabace","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Administrative Officer I","Annual_Rt":"$45,762.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1783},"geometry":null},{"type":"Feature","id":1784,"properties":{"Name":"Kyle,Lynne Anne","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Administrative Officer II","Annual_Rt":"$54,070.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1784},"geometry":null},{"type":"Feature","id":1785,"properties":{"Name":"Wright,Karen L","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Administrative Officer II","Annual_Rt":"$54,045.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1785},"geometry":null},{"type":"Feature","id":1786,"properties":{"Name":"Golden,Kay M","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Office Assistant V","Annual_Rt":null,"Hrly_Rate":"$19.40 ","RegTemp":"T","Full/Part":"F","OBJECTID":1786},"geometry":null},{"type":"Feature","id":1787,"properties":{"Name":"Byrum,Amanda L","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Agent I","Annual_Rt":"$50,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1787},"geometry":null},{"type":"Feature","id":1788,"properties":{"Name":"Lamia,Theresa Marie","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Agent I","Annual_Rt":"$53,547.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1788},"geometry":null},{"type":"Feature","id":1789,"properties":{"Name":"Anthony,Curtis Isaac","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Agent II","Annual_Rt":"$60,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1789},"geometry":null},{"type":"Feature","id":1790,"properties":{"Name":"Bright,Krystal Mercer","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Agent II","Annual_Rt":"$59,537.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1790},"geometry":null},{"type":"Feature","id":1791,"properties":{"Name":"Millea,Julie Ellen","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Agent II","Annual_Rt":"$57,076.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1791},"geometry":null},{"type":"Feature","id":1792,"properties":{"Name":"Revels,Torry Lynn Orth","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Agent II","Annual_Rt":"$61,653.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1792},"geometry":null},{"type":"Feature","id":1793,"properties":{"Name":"Van Hoose,Gregory L","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Agent II","Annual_Rt":"$64,239.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1793},"geometry":null},{"type":"Feature","id":1794,"properties":{"Name":"Insogna,Becky Mundy","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Agent II Lead","Annual_Rt":"$68,884.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1794},"geometry":null},{"type":"Feature","id":1795,"properties":{"Name":"Anzalone Jr,Charles S","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Agent III","Annual_Rt":"$78,009.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1795},"geometry":null},{"type":"Feature","id":1796,"properties":{"Name":"Crawford,Gregory Allen","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Agent III","Annual_Rt":"$75,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1796},"geometry":null},{"type":"Feature","id":1797,"properties":{"Name":"Drayton,Robert W","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Agent III","Annual_Rt":"$78,772.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1797},"geometry":null},{"type":"Feature","id":1798,"properties":{"Name":"OBrien,Timothy J","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Agent III","Annual_Rt":"$75,677.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1798},"geometry":null},{"type":"Feature","id":1799,"properties":{"Name":"Sossamon,Leisa Moore","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Agent III","Annual_Rt":"$75,391.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1799},"geometry":null},{"type":"Feature","id":1800,"properties":{"Name":"Korolos,Sherif F","Unit":"Engineering and Property Mgmt","Dept":"Engineering Real Estate","Job_Title":"Real Estate Division Manager","Annual_Rt":"$97,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1800},"geometry":null},{"type":"Feature","id":1801,"properties":{"Name":"Ramsey,Lorraine C","Unit":"Engineering and Property Mgmt","Dept":"Eng-Landscape Mgt-Cemeteries","Job_Title":"Administrative Officer I","Annual_Rt":"$45,115.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1801},"geometry":null},{"type":"Feature","id":1802,"properties":{"Name":"Shroyer,George M","Unit":"Engineering and Property Mgmt","Dept":"Eng-Landscape Mgt-Cemeteries","Job_Title":"Cemeteries Supervisor","Annual_Rt":"$60,564.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1802},"geometry":null},{"type":"Feature","id":1803,"properties":{"Name":"Cammer,William Edward","Unit":"Engineering and Property Mgmt","Dept":"Eng-Landscape Mgt-Cemeteries","Job_Title":"Equipment Operator I","Annual_Rt":"$33,534.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1803},"geometry":null},{"type":"Feature","id":1804,"properties":{"Name":"Davis,William A","Unit":"Engineering and Property Mgmt","Dept":"Eng-Landscape Mgt-Cemeteries","Job_Title":"Equipment Operator I","Annual_Rt":"$31,281.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1804},"geometry":null},{"type":"Feature","id":1805,"properties":{"Name":"Johnson,Vince","Unit":"Engineering and Property Mgmt","Dept":"Eng-Landscape Mgt-Cemeteries","Job_Title":"Equipment Operator II","Annual_Rt":"$32,761.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1805},"geometry":null},{"type":"Feature","id":1806,"properties":{"Name":"Oates,Alfred Gene","Unit":"Engineering and Property Mgmt","Dept":"Eng-Landscape Mgt-Cemeteries","Job_Title":"Equipment Operator II","Annual_Rt":"$35,986.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1806},"geometry":null},{"type":"Feature","id":1807,"properties":{"Name":"Anderson Jr,Joe James","Unit":"Engineering and Property Mgmt","Dept":"Eng-Landscape Mgt-Cemeteries","Job_Title":"Labor Crew Chief II","Annual_Rt":"$45,592.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1807},"geometry":null},{"type":"Feature","id":1808,"properties":{"Name":"Kennady,Karen Grayson","Unit":"Engineering and Property Mgmt","Dept":"Eng-Landscape Mgt-Cemeteries","Job_Title":"Office Assistant IV","Annual_Rt":"$36,128.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1808},"geometry":null},{"type":"Feature","id":1809,"properties":{"Name":"Weddington,Lewkytra Lynee","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accountant I","Annual_Rt":"$53,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1809},"geometry":null},{"type":"Feature","id":1810,"properties":{"Name":"Weller,Lisa","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accountant I","Annual_Rt":"$51,848.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1810},"geometry":null},{"type":"Feature","id":1811,"properties":{"Name":"Chudgar,Ajay B.","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accountant II","Annual_Rt":"$57,633.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1811},"geometry":null},{"type":"Feature","id":1812,"properties":{"Name":"Coffin,Robert","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accountant II","Annual_Rt":"$68,252.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1812},"geometry":null},{"type":"Feature","id":1813,"properties":{"Name":"Shah,Mitali M","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accountant II","Annual_Rt":"$65,780.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1813},"geometry":null},{"type":"Feature","id":1814,"properties":{"Name":"Taylor,Suzanne Elaine","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accountant II","Annual_Rt":"$62,730.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1814},"geometry":null},{"type":"Feature","id":1815,"properties":{"Name":"Burcher,Amy","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accountant III","Annual_Rt":"$63,608.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1815},"geometry":null},{"type":"Feature","id":1816,"properties":{"Name":"Riblett,Peggy A","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accountant III","Annual_Rt":"$68,521.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1816},"geometry":null},{"type":"Feature","id":1817,"properties":{"Name":"Tenenholz,Kimberly V","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accountant III","Annual_Rt":"$64,296.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1817},"geometry":null},{"type":"Feature","id":1818,"properties":{"Name":"Tyndall,Christy A","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accountant III","Annual_Rt":"$78,391.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":1818},"geometry":null},{"type":"Feature","id":1819,"properties":{"Name":"Daddis,Ronald S","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accountant IV","Annual_Rt":"$73,541.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1819},"geometry":null},{"type":"Feature","id":1820,"properties":{"Name":"Guzman,Glenny","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accountant IV","Annual_Rt":"$74,041.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1820},"geometry":null},{"type":"Feature","id":1821,"properties":{"Name":"Pond,Kathy J","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accountant IV","Annual_Rt":"$85,641.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1821},"geometry":null},{"type":"Feature","id":1822,"properties":{"Name":"Allera,Maria Teresa T","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Clerk I","Annual_Rt":"$31,619.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1822},"geometry":null},{"type":"Feature","id":1823,"properties":{"Name":"Brown,Toby","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Clerk I","Annual_Rt":"$31,620.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1823},"geometry":null},{"type":"Feature","id":1824,"properties":{"Name":"Chappell-Isom,Mary Elizabeth","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Clerk I","Annual_Rt":"$32,252.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1824},"geometry":null},{"type":"Feature","id":1825,"properties":{"Name":"Decker,Steven L.","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Clerk I","Annual_Rt":"$31,468.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1825},"geometry":null},{"type":"Feature","id":1826,"properties":{"Name":"Johnson,Lynda M","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Clerk I","Annual_Rt":"$30,842.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1826},"geometry":null},{"type":"Feature","id":1827,"properties":{"Name":"Sellers,Debra Treece","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Clerk I","Annual_Rt":"$30,305.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1827},"geometry":null},{"type":"Feature","id":1828,"properties":{"Name":"Sullivan,Lester L","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Clerk I","Annual_Rt":"$30,541.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1828},"geometry":null},{"type":"Feature","id":1829,"properties":{"Name":"Grass,Karen G","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Clerk II","Annual_Rt":"$33,623.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1829},"geometry":null},{"type":"Feature","id":1830,"properties":{"Name":"Hanna,Marilyn J.","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Clerk II","Annual_Rt":"$33,962.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1830},"geometry":null},{"type":"Feature","id":1831,"properties":{"Name":"Hunter,Beverly Jo","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Clerk II","Annual_Rt":"$35,347.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1831},"geometry":null},{"type":"Feature","id":1832,"properties":{"Name":"Ledford,Ginger F","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Clerk II","Annual_Rt":"$40,342.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1832},"geometry":null},{"type":"Feature","id":1833,"properties":{"Name":"Kirkley,Deborah A","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Technician","Annual_Rt":"$43,668.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1833},"geometry":null},{"type":"Feature","id":1834,"properties":{"Name":"Palmer,Jocella Renee","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Technician","Annual_Rt":"$38,014.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1834},"geometry":null},{"type":"Feature","id":1835,"properties":{"Name":"Rosas,Diane","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Technician","Annual_Rt":"$38,550.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1835},"geometry":null},{"type":"Feature","id":1836,"properties":{"Name":"Thompson,Jaime L","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Accounting Technician","Annual_Rt":"$42,493.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1836},"geometry":null},{"type":"Feature","id":1837,"properties":{"Name":"Smith,Teresa T","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Chief Accountant","Annual_Rt":"$119,733.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1837},"geometry":null},{"type":"Feature","id":1838,"properties":{"Name":"Hite,Sherry Q","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Financial Services Manager","Annual_Rt":"$102,235.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1838},"geometry":null},{"type":"Feature","id":1839,"properties":{"Name":"Reimers,Kelli Hartis","Unit":"Finance","Dept":"Finance - Accounting","Job_Title":"Office Assistant IV","Annual_Rt":"$34,001.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1839},"geometry":null},{"type":"Feature","id":1840,"properties":{"Name":"Proctor,James Ryan","Unit":"Finance","Dept":"Finance - Administration","Job_Title":"Administrative Officer V","Annual_Rt":"$81,600.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1840},"geometry":null},{"type":"Feature","id":1841,"properties":{"Name":"Simmons,Henry B","Unit":"Finance","Dept":"Finance - Administration","Job_Title":"Administrative Officer V","Annual_Rt":"$76,592.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1841},"geometry":null},{"type":"Feature","id":1842,"properties":{"Name":"Canter,Natalie Maria","Unit":"Finance","Dept":"Finance - Administration","Job_Title":"Administrative Secretary I","Annual_Rt":"$48,617.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1842},"geometry":null},{"type":"Feature","id":1843,"properties":{"Name":"Campbell,Robert D","Unit":"Finance","Dept":"Finance - Administration","Job_Title":"Assistant Finance Director","Annual_Rt":"$150,169.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1843},"geometry":null},{"type":"Feature","id":1844,"properties":{"Name":"Gaskins,Greg C","Unit":"Finance","Dept":"Finance - Administration","Job_Title":"Chief Financial Officer","Annual_Rt":"$191,991.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1844},"geometry":null},{"type":"Feature","id":1845,"properties":{"Name":"Green,Aldether","Unit":"Finance","Dept":"Finance - Business Systems","Job_Title":"Administrative Officer I","Annual_Rt":"$41,879.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1845},"geometry":null},{"type":"Feature","id":1846,"properties":{"Name":"Emmerich,Dennis M","Unit":"Finance","Dept":"Finance - Business Systems","Job_Title":"Bus System Spec Assc","Annual_Rt":"$50,580.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1846},"geometry":null},{"type":"Feature","id":1847,"properties":{"Name":"Beasley,Alan Theodore","Unit":"Finance","Dept":"Finance - Business Systems","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$58,179.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1847},"geometry":null},{"type":"Feature","id":1848,"properties":{"Name":"Edwards,Dorothy M","Unit":"Finance","Dept":"Finance - Business Systems","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$59,802.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1848},"geometry":null},{"type":"Feature","id":1849,"properties":{"Name":"Hatchell,Janice D","Unit":"Finance","Dept":"Finance - Business Systems","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$71,550.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1849},"geometry":null},{"type":"Feature","id":1850,"properties":{"Name":"Morgan,Gregory A.","Unit":"Finance","Dept":"Finance - Business Systems","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$63,441.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1850},"geometry":null},{"type":"Feature","id":1851,"properties":{"Name":"Saxon,Virginia I","Unit":"Finance","Dept":"Finance - Business Systems","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$67,412.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1851},"geometry":null},{"type":"Feature","id":1852,"properties":{"Name":"Emanuel,Laney","Unit":"Finance","Dept":"Finance - Business Systems","Job_Title":"Business System Spec Sr","Annual_Rt":"$86,700.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1852},"geometry":null},{"type":"Feature","id":1853,"properties":{"Name":"Oglesby,Coretta D","Unit":"Finance","Dept":"Finance - Business Systems","Job_Title":"Business System Spec Sr","Annual_Rt":"$93,549.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1853},"geometry":null},{"type":"Feature","id":1854,"properties":{"Name":"Harris II,Charles H","Unit":"Finance","Dept":"Finance - Business Systems","Job_Title":"Business Systems Manager","Annual_Rt":"$115,529.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1854},"geometry":null},{"type":"Feature","id":1855,"properties":{"Name":"McBee,Jennifer H.","Unit":"Finance","Dept":"Finance - Business Systems","Job_Title":"Senior Technical Writer","Annual_Rt":"$77,504.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1855},"geometry":null},{"type":"Feature","id":1856,"properties":{"Name":"Arnold,Tara","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Accountant II","Annual_Rt":"$65,032.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1856},"geometry":null},{"type":"Feature","id":1857,"properties":{"Name":"Minton,Susan E","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Accountant IV","Annual_Rt":"$80,205.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1857},"geometry":null},{"type":"Feature","id":1858,"properties":{"Name":"Smith Jr,Thomas R.","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Accountant IV","Annual_Rt":"$77,918.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1858},"geometry":null},{"type":"Feature","id":1859,"properties":{"Name":"Friday,Thomasina","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Central Cashier","Annual_Rt":"$34,746.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1859},"geometry":null},{"type":"Feature","id":1860,"properties":{"Name":"Huntley,Angela M","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer Service Supervisor","Annual_Rt":"$44,868.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1860},"geometry":null},{"type":"Feature","id":1861,"properties":{"Name":"Broaddus,Kevin Lamont","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer/Revenue Serv Asst Sr","Annual_Rt":"$31,809.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1861},"geometry":null},{"type":"Feature","id":1862,"properties":{"Name":"Burch,Rhonda H","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer/Revenue Serv Asst Sr","Annual_Rt":"$34,371.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1862},"geometry":null},{"type":"Feature","id":1863,"properties":{"Name":"Casas,Erin Michelle","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer/Revenue Serv Asst Sr","Annual_Rt":"$31,825.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1863},"geometry":null},{"type":"Feature","id":1864,"properties":{"Name":"Kiker,Jennifer M","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer/Revenue Serv Asst Sr","Annual_Rt":"$31,976.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1864},"geometry":null},{"type":"Feature","id":1865,"properties":{"Name":"Spearman,Carrie Nicole","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer/Revenue Serv Asst Sr","Annual_Rt":"$31,825.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1865},"geometry":null},{"type":"Feature","id":1866,"properties":{"Name":"Trainham,Ashley Ann","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer/Revenue Serv Asst Sr","Annual_Rt":"$31,510.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1866},"geometry":null},{"type":"Feature","id":1867,"properties":{"Name":"Barber,Rita","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,550.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1867},"geometry":null},{"type":"Feature","id":1868,"properties":{"Name":"Brewster,Crystal Sharice","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,550.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1868},"geometry":null},{"type":"Feature","id":1869,"properties":{"Name":"Diaz,Lynn Marie","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,926.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1869},"geometry":null},{"type":"Feature","id":1870,"properties":{"Name":"Wright,Tia Evette","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,510.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1870},"geometry":null},{"type":"Feature","id":1871,"properties":{"Name":"Ashley,Robin Michelle","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$39,798.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1871},"geometry":null},{"type":"Feature","id":1872,"properties":{"Name":"Frisina,Jewell D","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$40,614.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1872},"geometry":null},{"type":"Feature","id":1873,"properties":{"Name":"Livingston,Wayne G","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$42,036.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1873},"geometry":null},{"type":"Feature","id":1874,"properties":{"Name":"Boyd,Adrian R.","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Revenue Collections Agent","Annual_Rt":"$40,984.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1874},"geometry":null},{"type":"Feature","id":1875,"properties":{"Name":"Brown,Gestine","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Revenue Collections Agent","Annual_Rt":"$42,866.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1875},"geometry":null},{"type":"Feature","id":1876,"properties":{"Name":"Vargas,Sara D.","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Revenue Collections Agent","Annual_Rt":"$40,985.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1876},"geometry":null},{"type":"Feature","id":1877,"properties":{"Name":"Walker,Susan Lewis","Unit":"Finance","Dept":"Finance - Revenue","Job_Title":"Revenue Division Manager","Annual_Rt":"$91,080.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1877},"geometry":null},{"type":"Feature","id":1878,"properties":{"Name":"Koprucki,Joleen","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Accounting Technician","Annual_Rt":"$39,389.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1878},"geometry":null},{"type":"Feature","id":1879,"properties":{"Name":"Horne,Ernest David","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Administrative Officer I","Annual_Rt":"$50,890.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1879},"geometry":null},{"type":"Feature","id":1880,"properties":{"Name":"Hopper,Melanie","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Administrative Officer II","Annual_Rt":"$55,692.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1880},"geometry":null},{"type":"Feature","id":1881,"properties":{"Name":"Bishop,Shaconda L","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Assistant","Annual_Rt":"$38,945.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1881},"geometry":null},{"type":"Feature","id":1882,"properties":{"Name":"Draughn,Venesia D.","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Assistant","Annual_Rt":"$36,619.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1882},"geometry":null},{"type":"Feature","id":1883,"properties":{"Name":"Elliott,Karla C","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Assistant","Annual_Rt":"$43,471.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1883},"geometry":null},{"type":"Feature","id":1884,"properties":{"Name":"Jakubisin,Kay F","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Assistant","Annual_Rt":"$42,593.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1884},"geometry":null},{"type":"Feature","id":1885,"properties":{"Name":"Johnson-Neely,Tara","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Assistant","Annual_Rt":"$36,678.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1885},"geometry":null},{"type":"Feature","id":1886,"properties":{"Name":"Simpson,Genelle B","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Assistant","Annual_Rt":"$35,000.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1886},"geometry":null},{"type":"Feature","id":1887,"properties":{"Name":"Williams,Carolyn Denise","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Assistant","Annual_Rt":"$35,000.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1887},"geometry":null},{"type":"Feature","id":1888,"properties":{"Name":"Norris,Pamela","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Manager","Annual_Rt":"$61,431.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1888},"geometry":null},{"type":"Feature","id":1889,"properties":{"Name":"Poe,Michael Dowd","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Manager","Annual_Rt":"$88,321.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1889},"geometry":null},{"type":"Feature","id":1890,"properties":{"Name":"Wrobleski,Tamara Arlene","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Manager","Annual_Rt":"$66,754.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1890},"geometry":null},{"type":"Feature","id":1891,"properties":{"Name":"Adams,Lisa G","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Representative","Annual_Rt":"$54,366.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1891},"geometry":null},{"type":"Feature","id":1892,"properties":{"Name":"Little,Nancy Elaine","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Representative","Annual_Rt":"$48,361.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1892},"geometry":null},{"type":"Feature","id":1893,"properties":{"Name":"Mockovciak,Michael John","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Representative-Senior","Annual_Rt":"$53,079.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1893},"geometry":null},{"type":"Feature","id":1894,"properties":{"Name":"Richards,Tonie D","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Claims Representative-Senior","Annual_Rt":"$53,079.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1894},"geometry":null},{"type":"Feature","id":1895,"properties":{"Name":"Gibson,Chrislee","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Insurance & Risk Coordinator","Annual_Rt":"$65,803.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1895},"geometry":null},{"type":"Feature","id":1896,"properties":{"Name":"Pliszka,Daniel J","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Insurance & Risk Manager","Annual_Rt":"$129,217.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1896},"geometry":null},{"type":"Feature","id":1897,"properties":{"Name":"Renyhart,Shawn M","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Office Assistant V","Annual_Rt":"$40,698.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1897},"geometry":null},{"type":"Feature","id":1898,"properties":{"Name":"Brown,Darlene P","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Risk Mgt Financial Coord","Annual_Rt":"$96,787.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1898},"geometry":null},{"type":"Feature","id":1899,"properties":{"Name":"Brandt,David F","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Safety Coordinator-Senior","Annual_Rt":"$66,043.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1899},"geometry":null},{"type":"Feature","id":1900,"properties":{"Name":"Dial,William M.","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Safety Coordinator-Senior","Annual_Rt":"$61,515.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1900},"geometry":null},{"type":"Feature","id":1901,"properties":{"Name":"McCue,Russell Davis","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Safety Coordinator-Senior","Annual_Rt":"$69,180.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1901},"geometry":null},{"type":"Feature","id":1902,"properties":{"Name":"Whitten,Stephen Moore","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Safety Coordinator-Senior","Annual_Rt":"$69,180.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1902},"geometry":null},{"type":"Feature","id":1903,"properties":{"Name":"Norman,Stephen Christopher","Unit":"Finance","Dept":"Finance - Risk Management","Job_Title":"Safety Supervisor","Annual_Rt":"$80,027.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1903},"geometry":null},{"type":"Feature","id":1904,"properties":{"Name":"Pellisero II,William","Unit":"Finance","Dept":"Finance - Treasury","Job_Title":"Accountant II","Annual_Rt":"$59,680.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1904},"geometry":null},{"type":"Feature","id":1905,"properties":{"Name":"Ryland,Sandy B","Unit":"Finance","Dept":"Finance - Treasury","Job_Title":"Accountant IV","Annual_Rt":"$71,526.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1905},"geometry":null},{"type":"Feature","id":1906,"properties":{"Name":"Taylor,Todd Donald","Unit":"Finance","Dept":"Finance - Treasury","Job_Title":"Accountant IV","Annual_Rt":"$69,622.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1906},"geometry":null},{"type":"Feature","id":1907,"properties":{"Name":"Greer,Scott Louis","Unit":"Finance","Dept":"Finance - Treasury","Job_Title":"City Treasurer","Annual_Rt":"$127,296.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1907},"geometry":null},{"type":"Feature","id":1908,"properties":{"Name":"Guerino,Adam M","Unit":"Finance","Dept":"Finance - Treasury","Job_Title":"Debt Manager","Annual_Rt":"$84,395.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1908},"geometry":null},{"type":"Feature","id":1909,"properties":{"Name":"Hastedt,Matthew Glenn","Unit":"Finance","Dept":"Finance - Treasury","Job_Title":"Economic Research Analyst","Annual_Rt":"$63,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1909},"geometry":null},{"type":"Feature","id":1910,"properties":{"Name":"Emery,David Thomas","Unit":"Finance","Dept":"Finance - Treasury","Job_Title":"Investment Manager","Annual_Rt":"$98,832.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1910},"geometry":null},{"type":"Feature","id":1911,"properties":{"Name":"Messer,Charlotte Seaman","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Accounting Technician","Annual_Rt":"$44,058.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1911},"geometry":null},{"type":"Feature","id":1912,"properties":{"Name":"Adams,Patricia E","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Administrative Officer I","Annual_Rt":"$49,980.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1912},"geometry":null},{"type":"Feature","id":1913,"properties":{"Name":"Lineberger,Emily M","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Administrative Officer II","Annual_Rt":"$51,672.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1913},"geometry":null},{"type":"Feature","id":1914,"properties":{"Name":"Williams,Lisa Greene","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Administrative Officer II","Annual_Rt":"$52,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1914},"geometry":null},{"type":"Feature","id":1915,"properties":{"Name":"Belton,Lee","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Administrative Officer III","Annual_Rt":null,"Hrly_Rate":"$30.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":1915},"geometry":null},{"type":"Feature","id":1916,"properties":{"Name":"Bhanderi,Yogita V","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Administrative Officer III","Annual_Rt":"$54,631.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1916},"geometry":null},{"type":"Feature","id":1917,"properties":{"Name":"Hallingse,Christina Destefano","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Administrative Officer III","Annual_Rt":null,"Hrly_Rate":"$26.16 ","RegTemp":"T","Full/Part":"F","OBJECTID":1917},"geometry":null},{"type":"Feature","id":1918,"properties":{"Name":"Pipkin,Demetria Janiese","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Administrative Officer III","Annual_Rt":"$53,883.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1918},"geometry":null},{"type":"Feature","id":1919,"properties":{"Name":"Kjeldsen,Kristi Sue","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Administrative Officer IV","Annual_Rt":"$82,620.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1919},"geometry":null},{"type":"Feature","id":1920,"properties":{"Name":"Lewis,Linda H.","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Administrative Officer IV","Annual_Rt":"$92,090.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1920},"geometry":null},{"type":"Feature","id":1921,"properties":{"Name":"Shook,Martha J","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Administrative Secretary I","Annual_Rt":"$55,565.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1921},"geometry":null},{"type":"Feature","id":1922,"properties":{"Name":"Zander,Scott R","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Battalion Fire Chief","Annual_Rt":"$100,508.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1922},"geometry":null},{"type":"Feature","id":1923,"properties":{"Name":"Deora,Uday S","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$54,567.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1923},"geometry":null},{"type":"Feature","id":1924,"properties":{"Name":"Mitchell,Jennifer","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":null,"Hrly_Rate":"$25.50 ","RegTemp":"T","Full/Part":"F","OBJECTID":1924},"geometry":null},{"type":"Feature","id":1925,"properties":{"Name":"Paver,Casey John","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$57,112.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1925},"geometry":null},{"type":"Feature","id":1926,"properties":{"Name":"Raju,Ranjit C","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Business Systems Manager","Annual_Rt":"$121,047.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1926},"geometry":null},{"type":"Feature","id":1927,"properties":{"Name":"Bhanderi,Hiteshkumar Samjubhai","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Business Systems Supervisor","Annual_Rt":"$89,373.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1927},"geometry":null},{"type":"Feature","id":1928,"properties":{"Name":"Granger Jr,Richard O","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Deputy Fire Chief","Annual_Rt":"$122,763.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1928},"geometry":null},{"type":"Feature","id":1929,"properties":{"Name":"Goff,Larry","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Emergency Management Planner","Annual_Rt":"$64,347.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1929},"geometry":null},{"type":"Feature","id":1930,"properties":{"Name":"Basnight,Marvin K","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Fire Captain - Spec Assign","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1930},"geometry":null},{"type":"Feature","id":1931,"properties":{"Name":"Hannan,Jon B","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Fire Chief","Annual_Rt":"$164,410.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1931},"geometry":null},{"type":"Feature","id":1932,"properties":{"Name":"Bodien,Scott Michael","Unit":"Fire","Dept":"Fire Administration","Job_Title":"GIS Analyst","Annual_Rt":"$53,111.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1932},"geometry":null},{"type":"Feature","id":1933,"properties":{"Name":"Martel,Shannon Whipple","Unit":"Fire","Dept":"Fire Administration","Job_Title":"GIS Analyst","Annual_Rt":"$60,100.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1933},"geometry":null},{"type":"Feature","id":1934,"properties":{"Name":"Hayes,Bridget L.","Unit":"Fire","Dept":"Fire Administration","Job_Title":"GIS Supervisor","Annual_Rt":"$89,285.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1934},"geometry":null},{"type":"Feature","id":1935,"properties":{"Name":"Burkett,Malik K","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":1935},"geometry":null},{"type":"Feature","id":1936,"properties":{"Name":"Dulin,Jennifer Lynn","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":1936},"geometry":null},{"type":"Feature","id":1937,"properties":{"Name":"Ince,Keith A","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Management Analyst Senior","Annual_Rt":"$55,079.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1937},"geometry":null},{"type":"Feature","id":1938,"properties":{"Name":"Martin,Thomasina P","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$15.30 ","RegTemp":"T","Full/Part":"P","OBJECTID":1938},"geometry":null},{"type":"Feature","id":1939,"properties":{"Name":"White,Cheryl L","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Office Assistant III","Annual_Rt":null,"Hrly_Rate":"$12.24 ","RegTemp":"T","Full/Part":"F","OBJECTID":1939},"geometry":null},{"type":"Feature","id":1940,"properties":{"Name":"Messer,Jamie L","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Office Assistant V","Annual_Rt":"$41,065.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1940},"geometry":null},{"type":"Feature","id":1941,"properties":{"Name":"Aquilino,Daniel M","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Planning/Design Engineer","Annual_Rt":null,"Hrly_Rate":"$26.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":1941},"geometry":null},{"type":"Feature","id":1942,"properties":{"Name":"Barrier,George D","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Planning/Design Engineer","Annual_Rt":null,"Hrly_Rate":"$26.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":1942},"geometry":null},{"type":"Feature","id":1943,"properties":{"Name":"Efird,Landon T","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Planning/Design Engineer","Annual_Rt":null,"Hrly_Rate":"$26.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":1943},"geometry":null},{"type":"Feature","id":1944,"properties":{"Name":"English,Bruce Allen","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Planning/Design Engineer","Annual_Rt":null,"Hrly_Rate":"$26.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":1944},"geometry":null},{"type":"Feature","id":1945,"properties":{"Name":"Gray,Sabrena L","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Software Developer Intermediat","Annual_Rt":"$67,600.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1945},"geometry":null},{"type":"Feature","id":1946,"properties":{"Name":"Dempster,Brandon","Unit":"Fire","Dept":"Fire Administration","Job_Title":"Software Developer Senior","Annual_Rt":"$79,762.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1946},"geometry":null},{"type":"Feature","id":1947,"properties":{"Name":"Shurley,Daniel Joseph","Unit":"Fire","Dept":"Fire Comm - do not use","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$33,587.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1947},"geometry":null},{"type":"Feature","id":1948,"properties":{"Name":"Withrow,Marsha L","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Commun Services Supv","Annual_Rt":"$85,793.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1948},"geometry":null},{"type":"Feature","id":1949,"properties":{"Name":"Autry,Richard Weston","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$37,022.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1949},"geometry":null},{"type":"Feature","id":1950,"properties":{"Name":"Biggerstaff,Kendall Paige","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$34,259.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1950},"geometry":null},{"type":"Feature","id":1951,"properties":{"Name":"Burns,Kiva Shauntell","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$34,259.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1951},"geometry":null},{"type":"Feature","id":1952,"properties":{"Name":"Cannon,Dwayne Phillip","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$37,052.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1952},"geometry":null},{"type":"Feature","id":1953,"properties":{"Name":"Cash,Paul Jeffrey","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$37,052.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1953},"geometry":null},{"type":"Feature","id":1954,"properties":{"Name":"Conti,Neal Anthony","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$37,052.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1954},"geometry":null},{"type":"Feature","id":1955,"properties":{"Name":"Creech,Terry G","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$39,647.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1955},"geometry":null},{"type":"Feature","id":1956,"properties":{"Name":"Dobbins,Spencer Ryan","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$33,587.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1956},"geometry":null},{"type":"Feature","id":1957,"properties":{"Name":"Giles,Linda Dial","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":null,"Hrly_Rate":"$18.70 ","RegTemp":"T","Full/Part":"P","OBJECTID":1957},"geometry":null},{"type":"Feature","id":1958,"properties":{"Name":"Hart,Mary Beth","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$37,069.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1958},"geometry":null},{"type":"Feature","id":1959,"properties":{"Name":"Hayman,Ayesha Sherrie","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$33,587.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1959},"geometry":null},{"type":"Feature","id":1960,"properties":{"Name":"Hobday,Brittany Leigh","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$37,052.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1960},"geometry":null},{"type":"Feature","id":1961,"properties":{"Name":"Jackson,John Keith","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$37,051.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1961},"geometry":null},{"type":"Feature","id":1962,"properties":{"Name":"Mahaley,Christopher Brannon","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$33,571.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1962},"geometry":null},{"type":"Feature","id":1963,"properties":{"Name":"Meier,Patrick","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$37,051.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1963},"geometry":null},{"type":"Feature","id":1964,"properties":{"Name":"Moore,Ryan Mckinley","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$33,587.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1964},"geometry":null},{"type":"Feature","id":1965,"properties":{"Name":"Penny,Keoshia Janine","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$37,051.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1965},"geometry":null},{"type":"Feature","id":1966,"properties":{"Name":"Robinson,Rhonda L","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$36,342.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1966},"geometry":null},{"type":"Feature","id":1967,"properties":{"Name":"Scafide,Sarah","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$33,587.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1967},"geometry":null},{"type":"Feature","id":1968,"properties":{"Name":"Suthard,William Paul","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$33,587.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1968},"geometry":null},{"type":"Feature","id":1969,"properties":{"Name":"Vaught,Matthew Dean","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$33,571.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1969},"geometry":null},{"type":"Feature","id":1970,"properties":{"Name":"Wilkinson,Tyler Lee","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$34,259.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1970},"geometry":null},{"type":"Feature","id":1971,"properties":{"Name":"Williams,Rebecca Elizabeth","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$33,587.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1971},"geometry":null},{"type":"Feature","id":1972,"properties":{"Name":"Ziel,Laura Magen","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I","Annual_Rt":"$37,064.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1972},"geometry":null},{"type":"Feature","id":1973,"properties":{"Name":"Barr,Kenneth M","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I Lead","Annual_Rt":"$39,734.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1973},"geometry":null},{"type":"Feature","id":1974,"properties":{"Name":"Frye,Angela Barnhill","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I Lead","Annual_Rt":"$39,734.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1974},"geometry":null},{"type":"Feature","id":1975,"properties":{"Name":"Lounsbury,Melissa Jean","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I Lead","Annual_Rt":"$39,734.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1975},"geometry":null},{"type":"Feature","id":1976,"properties":{"Name":"Talley,David Lee","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I Lead","Annual_Rt":"$38,922.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1976},"geometry":null},{"type":"Feature","id":1977,"properties":{"Name":"Williams,Candace H","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I Lead","Annual_Rt":"$39,734.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1977},"geometry":null},{"type":"Feature","id":1978,"properties":{"Name":"Williams,Jeffrey K","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator I Lead","Annual_Rt":"$38,955.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1978},"geometry":null},{"type":"Feature","id":1979,"properties":{"Name":"Augustus,Ryan Kenneth","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator II","Annual_Rt":"$47,155.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1979},"geometry":null},{"type":"Feature","id":1980,"properties":{"Name":"Bradshaw,David P.","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator II","Annual_Rt":"$48,153.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1980},"geometry":null},{"type":"Feature","id":1981,"properties":{"Name":"Horn,Jonathan P","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator II","Annual_Rt":"$48,152.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1981},"geometry":null},{"type":"Feature","id":1982,"properties":{"Name":"Parks,Sharon Elizabeth","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator II","Annual_Rt":"$47,155.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1982},"geometry":null},{"type":"Feature","id":1983,"properties":{"Name":"Russell,Christie DuBose","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator II","Annual_Rt":"$49,043.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1983},"geometry":null},{"type":"Feature","id":1984,"properties":{"Name":"Hauser,Gregory","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator III","Annual_Rt":"$61,169.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1984},"geometry":null},{"type":"Feature","id":1985,"properties":{"Name":"Lankford,Brandy Nicole","Unit":"Fire","Dept":"Fire Communications","Job_Title":"Fire Telecommunicator III","Annual_Rt":"$54,438.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1985},"geometry":null},{"type":"Feature","id":1986,"properties":{"Name":"Dulin,Jeffrey M","Unit":"Fire","Dept":"Fire Deputy Chiefs","Job_Title":"Deputy Fire Chief","Annual_Rt":"$126,770.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1986},"geometry":null},{"type":"Feature","id":1987,"properties":{"Name":"Key,Howard D","Unit":"Fire","Dept":"Fire Deputy Chiefs","Job_Title":"Deputy Fire Chief","Annual_Rt":"$126,770.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1987},"geometry":null},{"type":"Feature","id":1988,"properties":{"Name":"Kinniburgh III,Robert D","Unit":"Fire","Dept":"Fire Deputy Chiefs","Job_Title":"Deputy Fire Chief","Annual_Rt":"$122,763.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1988},"geometry":null},{"type":"Feature","id":1989,"properties":{"Name":"Wishon,Hal D","Unit":"Fire","Dept":"Fire Emergency Management","Job_Title":"Admin Officer II (Emerg Mgmt)","Annual_Rt":"$64,970.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1989},"geometry":null},{"type":"Feature","id":1990,"properties":{"Name":"McCormick,Garry E","Unit":"Fire","Dept":"Fire Emergency Management","Job_Title":"Battalion Fire Chief","Annual_Rt":"$100,507.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1990},"geometry":null},{"type":"Feature","id":1991,"properties":{"Name":"Broome,Lewis W","Unit":"Fire","Dept":"Fire Emergency Management","Job_Title":"Emergency Management Direct","Annual_Rt":"$97,332.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1991},"geometry":null},{"type":"Feature","id":1992,"properties":{"Name":"Neal,Stacie C","Unit":"Fire","Dept":"Fire Emergency Management","Job_Title":"Emergency Management Planner","Annual_Rt":"$71,883.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1992},"geometry":null},{"type":"Feature","id":1993,"properties":{"Name":"Tobin,Michael L","Unit":"Fire","Dept":"Fire Emergency Management","Job_Title":"Emergency Management Planner","Annual_Rt":"$64,746.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1993},"geometry":null},{"type":"Feature","id":1994,"properties":{"Name":"Wilkinson,Paul E","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Chief Fire Investigator","Annual_Rt":"$80,958.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1994},"geometry":null},{"type":"Feature","id":1995,"properties":{"Name":"Francus,Gregory A","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Fire Inspector","Annual_Rt":"$59,740.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1995},"geometry":null},{"type":"Feature","id":1996,"properties":{"Name":"Heinen,John Alexander","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Fire Inspector","Annual_Rt":"$55,534.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1996},"geometry":null},{"type":"Feature","id":1997,"properties":{"Name":"Krise,Amy R","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Fire Inspector Certified","Annual_Rt":"$61,686.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1997},"geometry":null},{"type":"Feature","id":1998,"properties":{"Name":"Bennett,Andrew Sherman","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Fire Investigator Certified","Annual_Rt":"$58,588.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1998},"geometry":null},{"type":"Feature","id":1999,"properties":{"Name":"Davis,Dwayne Kelly","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Fire Investigator Certified","Annual_Rt":"$58,461.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":1999},"geometry":null},{"type":"Feature","id":2000,"properties":{"Name":"Eschert,Crystal Marie","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Fire Investigator Certified","Annual_Rt":"$59,759.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2000},"geometry":null},{"type":"Feature","id":2001,"properties":{"Name":"Goforth,Thomas Aaron","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Fire Investigator Certified","Annual_Rt":"$60,037.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2001},"geometry":null},{"type":"Feature","id":2002,"properties":{"Name":"Mroz,Scott Andrew","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Fire Investigator Certified","Annual_Rt":"$59,759.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2002},"geometry":null},{"type":"Feature","id":2003,"properties":{"Name":"Shaver III,Edwin E","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Fire Investigator Certified","Annual_Rt":"$60,211.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2003},"geometry":null},{"type":"Feature","id":2004,"properties":{"Name":"Van Voorhies,John R.","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Fire Investigator Certified","Annual_Rt":"$59,759.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2004},"geometry":null},{"type":"Feature","id":2005,"properties":{"Name":"Wall,Eric Richard","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Fire Investigator Certified","Annual_Rt":"$58,189.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2005},"geometry":null},{"type":"Feature","id":2006,"properties":{"Name":"Wheeler,Charlotte Sophia","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Fire Investigator Certified","Annual_Rt":"$59,759.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2006},"geometry":null},{"type":"Feature","id":2007,"properties":{"Name":"Williams,David Wayne","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Fire Investigator Senior","Annual_Rt":"$69,937.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2007},"geometry":null},{"type":"Feature","id":2008,"properties":{"Name":"Adams,Sutalia A","Unit":"Fire","Dept":"Fire Investigations/Education","Job_Title":"Office Assistant V","Annual_Rt":"$43,584.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2008},"geometry":null},{"type":"Feature","id":2009,"properties":{"Name":"Owens,Damian L","Unit":"Fire","Dept":"Fire Logistics","Job_Title":"Battalion Fire Chief","Annual_Rt":"$96,678.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2009},"geometry":null},{"type":"Feature","id":2010,"properties":{"Name":"Washam,Robert A","Unit":"Fire","Dept":"Fire Logistics","Job_Title":"Facilities Services Coordinato","Annual_Rt":"$49,273.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2010},"geometry":null},{"type":"Feature","id":2011,"properties":{"Name":"Caldwell Jr,Walter C","Unit":"Fire","Dept":"Fire Logistics","Job_Title":"Fire Captain - Spec Assign","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2011},"geometry":null},{"type":"Feature","id":2012,"properties":{"Name":"Moore,David Wayne","Unit":"Fire","Dept":"Fire Logistics","Job_Title":"Fire Equipment Technician","Annual_Rt":"$43,232.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2012},"geometry":null},{"type":"Feature","id":2013,"properties":{"Name":"Wilson,Brian K","Unit":"Fire","Dept":"Fire Logistics","Job_Title":"Fire Equipment Technician","Annual_Rt":"$46,004.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2013},"geometry":null},{"type":"Feature","id":2014,"properties":{"Name":"Lesak,Dakota","Unit":"Fire","Dept":"Fire Logistics","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":2014},"geometry":null},{"type":"Feature","id":2015,"properties":{"Name":"Bader,Kyle Thomas","Unit":"Fire","Dept":"Fire Logistics","Job_Title":"Storekeeper","Annual_Rt":"$31,200.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2015},"geometry":null},{"type":"Feature","id":2016,"properties":{"Name":"Lockhart,Linda J","Unit":"Fire","Dept":"Fire Logistics","Job_Title":"Storekeeper","Annual_Rt":null,"Hrly_Rate":"$12.24 ","RegTemp":"T","Full/Part":"P","OBJECTID":2016},"geometry":null},{"type":"Feature","id":2017,"properties":{"Name":"Robinson,Thomas G","Unit":"Fire","Dept":"Fire Logistics","Job_Title":"Storekeeper","Annual_Rt":"$32,249.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2017},"geometry":null},{"type":"Feature","id":2018,"properties":{"Name":"Reed,Dexter Dale","Unit":"Fire","Dept":"Fire Logistics","Job_Title":"Stores Supervisor","Annual_Rt":"$41,935.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2018},"geometry":null},{"type":"Feature","id":2019,"properties":{"Name":"Leonard,Jonathan P","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Deputy Fire Marshal","Annual_Rt":"$83,908.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2019},"geometry":null},{"type":"Feature","id":2020,"properties":{"Name":"Cobb,David William","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector","Annual_Rt":"$47,481.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2020},"geometry":null},{"type":"Feature","id":2021,"properties":{"Name":"Dickson,Ruth Tyler","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector","Annual_Rt":"$46,549.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2021},"geometry":null},{"type":"Feature","id":2022,"properties":{"Name":"Meyers,James Joseph","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector","Annual_Rt":"$46,549.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2022},"geometry":null},{"type":"Feature","id":2023,"properties":{"Name":"Allred,Kimberly Dorsey","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$54,506.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2023},"geometry":null},{"type":"Feature","id":2024,"properties":{"Name":"Bair,Edward W","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$56,684.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2024},"geometry":null},{"type":"Feature","id":2025,"properties":{"Name":"Basham,Timothy D","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$55,318.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2025},"geometry":null},{"type":"Feature","id":2026,"properties":{"Name":"Cabrera,Raul","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$56,956.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2026},"geometry":null},{"type":"Feature","id":2027,"properties":{"Name":"Conrad,David Jason","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$50,691.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2027},"geometry":null},{"type":"Feature","id":2028,"properties":{"Name":"Dishno,Don Alan","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$47,481.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2028},"geometry":null},{"type":"Feature","id":2029,"properties":{"Name":"Dolschenko,Steven A","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$55,460.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2029},"geometry":null},{"type":"Feature","id":2030,"properties":{"Name":"Garrett,Dallas C","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$55,112.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2030},"geometry":null},{"type":"Feature","id":2031,"properties":{"Name":"Guthrie,Stephen M","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$57,259.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2031},"geometry":null},{"type":"Feature","id":2032,"properties":{"Name":"Harrold,Garret C","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$60,749.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2032},"geometry":null},{"type":"Feature","id":2033,"properties":{"Name":"Horton,Jessie Kimberly","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$53,980.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2033},"geometry":null},{"type":"Feature","id":2034,"properties":{"Name":"Kish,Leigh Ann","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$54,506.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2034},"geometry":null},{"type":"Feature","id":2035,"properties":{"Name":"Lowery,Fredrick William","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$51,049.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2035},"geometry":null},{"type":"Feature","id":2036,"properties":{"Name":"Riggins,Ashley A.T.","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$51,763.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2036},"geometry":null},{"type":"Feature","id":2037,"properties":{"Name":"Starnes,Kevin R","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$53,982.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2037},"geometry":null},{"type":"Feature","id":2038,"properties":{"Name":"Sullivan,Sheila T","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$62,075.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2038},"geometry":null},{"type":"Feature","id":2039,"properties":{"Name":"Triming,Colin Barry","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$56,173.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2039},"geometry":null},{"type":"Feature","id":2040,"properties":{"Name":"Williams Jr,Paul R","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$51,196.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2040},"geometry":null},{"type":"Feature","id":2041,"properties":{"Name":"Williamson,David Eugene","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$54,965.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2041},"geometry":null},{"type":"Feature","id":2042,"properties":{"Name":"Wilson III,Claude Gilmore","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Certified","Annual_Rt":"$51,719.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2042},"geometry":null},{"type":"Feature","id":2043,"properties":{"Name":"Carter,Patricia D","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Senior","Annual_Rt":"$72,385.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2043},"geometry":null},{"type":"Feature","id":2044,"properties":{"Name":"Thompson,James B","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Senior","Annual_Rt":"$70,173.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2044},"geometry":null},{"type":"Feature","id":2045,"properties":{"Name":"Wright,Calvin M","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Inspector Senior","Annual_Rt":"$72,384.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2045},"geometry":null},{"type":"Feature","id":2046,"properties":{"Name":"Fahami,Nader","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Plans Examiner","Annual_Rt":"$63,599.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2046},"geometry":null},{"type":"Feature","id":2047,"properties":{"Name":"Wright,Jeffory S","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Plans Examiner","Annual_Rt":"$62,785.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2047},"geometry":null},{"type":"Feature","id":2048,"properties":{"Name":"Miller,Kevin Lamont","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Fire Plans Examiner Senior","Annual_Rt":"$63,700.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2048},"geometry":null},{"type":"Feature","id":2049,"properties":{"Name":"Ford III,Simmie L","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Office Assistant IV","Annual_Rt":null,"Hrly_Rate":"$14.90 ","RegTemp":"T","Full/Part":"F","OBJECTID":2049},"geometry":null},{"type":"Feature","id":2050,"properties":{"Name":"Hall,Aseelah M.","Unit":"Fire","Dept":"Fire Prevention","Job_Title":"Office Assistant V","Annual_Rt":"$40,499.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2050},"geometry":null},{"type":"Feature","id":2051,"properties":{"Name":"Davis,Kent P","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Battalion Fire Chief","Annual_Rt":"$95,722.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2051},"geometry":null},{"type":"Feature","id":2052,"properties":{"Name":"Garrison,Russell E","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Battalion Fire Chief","Annual_Rt":"$92,074.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2052},"geometry":null},{"type":"Feature","id":2053,"properties":{"Name":"Harding III,John R","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Battalion Fire Chief","Annual_Rt":"$89,032.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2053},"geometry":null},{"type":"Feature","id":2054,"properties":{"Name":"Kurzel,Brian J","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Battalion Fire Chief","Annual_Rt":"$95,722.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2054},"geometry":null},{"type":"Feature","id":2055,"properties":{"Name":"Maver,Quentin M","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Battalion Fire Chief","Annual_Rt":"$95,722.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2055},"geometry":null},{"type":"Feature","id":2056,"properties":{"Name":"Newman,Daracus L","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Battalion Fire Chief","Annual_Rt":"$92,074.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2056},"geometry":null},{"type":"Feature","id":2057,"properties":{"Name":"Steele,Michael A","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Battalion Fire Chief","Annual_Rt":"$92,074.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2057},"geometry":null},{"type":"Feature","id":2058,"properties":{"Name":"Hamby,David C","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2058},"geometry":null},{"type":"Feature","id":2059,"properties":{"Name":"Helms,Michael J","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2059},"geometry":null},{"type":"Feature","id":2060,"properties":{"Name":"Myers,Robert L","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2060},"geometry":null},{"type":"Feature","id":2061,"properties":{"Name":"Patterson,Lance H","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2061},"geometry":null},{"type":"Feature","id":2062,"properties":{"Name":"Smith III,Roy S","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2062},"geometry":null},{"type":"Feature","id":2063,"properties":{"Name":"Westover,Matthew A","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2063},"geometry":null},{"type":"Feature","id":2064,"properties":{"Name":"Barnard III,Edgar Calhoun","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2064},"geometry":null},{"type":"Feature","id":2065,"properties":{"Name":"Bixler,Christopher R.","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2065},"geometry":null},{"type":"Feature","id":2066,"properties":{"Name":"Bright Jr,Randy Lee","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$57,873.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2066},"geometry":null},{"type":"Feature","id":2067,"properties":{"Name":"Hoffman,Tyler J.","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2067},"geometry":null},{"type":"Feature","id":2068,"properties":{"Name":"Kline,Joseph R","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2068},"geometry":null},{"type":"Feature","id":2069,"properties":{"Name":"Sanders Jr.,William L","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2069},"geometry":null},{"type":"Feature","id":2070,"properties":{"Name":"Barfield,Bryan Carlton","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2070},"geometry":null},{"type":"Feature","id":2071,"properties":{"Name":"Ferreira Jr,Michael","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2071},"geometry":null},{"type":"Feature","id":2072,"properties":{"Name":"Hall,Calvin Antoine","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2072},"geometry":null},{"type":"Feature","id":2073,"properties":{"Name":"Betts,Ralph M","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2073},"geometry":null},{"type":"Feature","id":2074,"properties":{"Name":"Cox,Michael David","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2074},"geometry":null},{"type":"Feature","id":2075,"properties":{"Name":"Davis,Danny Lea","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2075},"geometry":null},{"type":"Feature","id":2076,"properties":{"Name":"Dover,Zachary Miller","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2076},"geometry":null},{"type":"Feature","id":2077,"properties":{"Name":"Egner,Ray Anthony","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2077},"geometry":null},{"type":"Feature","id":2078,"properties":{"Name":"Feehley,Michael J","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$57,707.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2078},"geometry":null},{"type":"Feature","id":2079,"properties":{"Name":"Hartsoe,Matthew Wade","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2079},"geometry":null},{"type":"Feature","id":2080,"properties":{"Name":"Hines Jr,Dennis Raymond","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2080},"geometry":null},{"type":"Feature","id":2081,"properties":{"Name":"Jones,Eric O","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2081},"geometry":null},{"type":"Feature","id":2082,"properties":{"Name":"McPeters,Zachary T","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2082},"geometry":null},{"type":"Feature","id":2083,"properties":{"Name":"Misenheimer,Matthew B","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2083},"geometry":null},{"type":"Feature","id":2084,"properties":{"Name":"Shelton,Brian H.","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2084},"geometry":null},{"type":"Feature","id":2085,"properties":{"Name":"Simpson,Andrew G","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2085},"geometry":null},{"type":"Feature","id":2086,"properties":{"Name":"Taylor,Brad S","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2086},"geometry":null},{"type":"Feature","id":2087,"properties":{"Name":"Tucker,Jeremy Clement","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2087},"geometry":null},{"type":"Feature","id":2088,"properties":{"Name":"Parks,Derek S","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Relief Captain","Annual_Rt":"$70,221.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2088},"geometry":null},{"type":"Feature","id":2089,"properties":{"Name":"Satterwhite,Ty B","Unit":"Fire","Dept":"Fire Station 1","Job_Title":"Relief Captain","Annual_Rt":"$70,221.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2089},"geometry":null},{"type":"Feature","id":2090,"properties":{"Name":"Brown Jr,Andy D","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Battalion Fire Chief","Annual_Rt":"$95,722.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2090},"geometry":null},{"type":"Feature","id":2091,"properties":{"Name":"Mahaley,Benjamin R","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Battalion Fire Chief","Annual_Rt":"$95,722.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2091},"geometry":null},{"type":"Feature","id":2092,"properties":{"Name":"Rogers,Timothy A","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Battalion Fire Chief","Annual_Rt":"$95,722.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2092},"geometry":null},{"type":"Feature","id":2093,"properties":{"Name":"Bright,Jeffery L","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2093},"geometry":null},{"type":"Feature","id":2094,"properties":{"Name":"Curran III,Kenneth M","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2094},"geometry":null},{"type":"Feature","id":2095,"properties":{"Name":"Everson,John R","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2095},"geometry":null},{"type":"Feature","id":2096,"properties":{"Name":"Perdue,Jason T","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2096},"geometry":null},{"type":"Feature","id":2097,"properties":{"Name":"Rodgers Jr,Jerry A","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2097},"geometry":null},{"type":"Feature","id":2098,"properties":{"Name":"Smith,Loy N","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2098},"geometry":null},{"type":"Feature","id":2099,"properties":{"Name":"Haynes,Harlan A","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2099},"geometry":null},{"type":"Feature","id":2100,"properties":{"Name":"McCoy,Robert D","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2100},"geometry":null},{"type":"Feature","id":2101,"properties":{"Name":"Pipkin Jr,Joseph R","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2101},"geometry":null},{"type":"Feature","id":2102,"properties":{"Name":"Pritchard,Michael S","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$68,258.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2102},"geometry":null},{"type":"Feature","id":2103,"properties":{"Name":"White,Dennis R","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2103},"geometry":null},{"type":"Feature","id":2104,"properties":{"Name":"Woodard,Dwayne E","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2104},"geometry":null},{"type":"Feature","id":2105,"properties":{"Name":"Sherrell,Gregory Lee","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter I","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2105},"geometry":null},{"type":"Feature","id":2106,"properties":{"Name":"Ballew,Mark D","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2106},"geometry":null},{"type":"Feature","id":2107,"properties":{"Name":"Barham,Gary M","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2107},"geometry":null},{"type":"Feature","id":2108,"properties":{"Name":"Barone,Stephen Patrick","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$55,084.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2108},"geometry":null},{"type":"Feature","id":2109,"properties":{"Name":"Bell,Bart Alan","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2109},"geometry":null},{"type":"Feature","id":2110,"properties":{"Name":"Bellina,Richard S","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2110},"geometry":null},{"type":"Feature","id":2111,"properties":{"Name":"Brewer,Michael S","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$56,461.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2111},"geometry":null},{"type":"Feature","id":2112,"properties":{"Name":"Clark,Jeffrey D","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2112},"geometry":null},{"type":"Feature","id":2113,"properties":{"Name":"Curtis,Sean Raymond","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$52,084.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2113},"geometry":null},{"type":"Feature","id":2114,"properties":{"Name":"Forman,Michael L","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2114},"geometry":null},{"type":"Feature","id":2115,"properties":{"Name":"Hall,Joseph F","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2115},"geometry":null},{"type":"Feature","id":2116,"properties":{"Name":"Korecki,Matthew J","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2116},"geometry":null},{"type":"Feature","id":2117,"properties":{"Name":"McCormick IV,Edward James","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$52,084.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2117},"geometry":null},{"type":"Feature","id":2118,"properties":{"Name":"Mitchell Jr,Bill M.","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2118},"geometry":null},{"type":"Feature","id":2119,"properties":{"Name":"Morley,Michael R","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2119},"geometry":null},{"type":"Feature","id":2120,"properties":{"Name":"Ogden,James L","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2120},"geometry":null},{"type":"Feature","id":2121,"properties":{"Name":"Parks,Paul L R","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2121},"geometry":null},{"type":"Feature","id":2122,"properties":{"Name":"Phillips Jr,Jerry D","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$63,385.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2122},"geometry":null},{"type":"Feature","id":2123,"properties":{"Name":"Stevenson,Jeffrey D","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2123},"geometry":null},{"type":"Feature","id":2124,"properties":{"Name":"Stines,John K","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$57,873.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2124},"geometry":null},{"type":"Feature","id":2125,"properties":{"Name":"Webb,Aaron L.","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2125},"geometry":null},{"type":"Feature","id":2126,"properties":{"Name":"Bryson,Robert Montgomery","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Relief Captain","Annual_Rt":"$71,934.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2126},"geometry":null},{"type":"Feature","id":2127,"properties":{"Name":"Stikeleather,James R","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Relief Captain","Annual_Rt":"$73,732.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2127},"geometry":null},{"type":"Feature","id":2128,"properties":{"Name":"Towery,Kenneth S","Unit":"Fire","Dept":"Fire Station 10","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2128},"geometry":null},{"type":"Feature","id":2129,"properties":{"Name":"Fincher III,Luther L","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2129},"geometry":null},{"type":"Feature","id":2130,"properties":{"Name":"Jones,Stepfan","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2130},"geometry":null},{"type":"Feature","id":2131,"properties":{"Name":"Sparrow,Robert N","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2131},"geometry":null},{"type":"Feature","id":2132,"properties":{"Name":"Griffin,Julie Quinn","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,149.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2132},"geometry":null},{"type":"Feature","id":2133,"properties":{"Name":"Padgett,William B","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2133},"geometry":null},{"type":"Feature","id":2134,"properties":{"Name":"Vander Kolk,Travis Reade","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$60,629.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2134},"geometry":null},{"type":"Feature","id":2135,"properties":{"Name":"Falls,Brian C","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2135},"geometry":null},{"type":"Feature","id":2136,"properties":{"Name":"Griffin,Robert Gordon","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2136},"geometry":null},{"type":"Feature","id":2137,"properties":{"Name":"Grigston,James T","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2137},"geometry":null},{"type":"Feature","id":2138,"properties":{"Name":"Hinesley,Stephen Christopher","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2138},"geometry":null},{"type":"Feature","id":2139,"properties":{"Name":"Hudson,Jamil S","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2139},"geometry":null},{"type":"Feature","id":2140,"properties":{"Name":"Llewellyn,Clayton G","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2140},"geometry":null},{"type":"Feature","id":2141,"properties":{"Name":"Seymour,Michael D","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2141},"geometry":null},{"type":"Feature","id":2142,"properties":{"Name":"Turner,Isaiah Jordan","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2142},"geometry":null},{"type":"Feature","id":2143,"properties":{"Name":"Yost,Matthew J","Unit":"Fire","Dept":"Fire Station 11","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2143},"geometry":null},{"type":"Feature","id":2144,"properties":{"Name":"Davenport,Brian K","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2144},"geometry":null},{"type":"Feature","id":2145,"properties":{"Name":"Henderson,Edward L","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2145},"geometry":null},{"type":"Feature","id":2146,"properties":{"Name":"Maddox Jr,Bobby T","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2146},"geometry":null},{"type":"Feature","id":2147,"properties":{"Name":"Carr,Kevin Roy","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2147},"geometry":null},{"type":"Feature","id":2148,"properties":{"Name":"Hardin,Christopher H","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2148},"geometry":null},{"type":"Feature","id":2149,"properties":{"Name":"Lee,William L","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2149},"geometry":null},{"type":"Feature","id":2150,"properties":{"Name":"Bumgardner,Charlie A.","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2150},"geometry":null},{"type":"Feature","id":2151,"properties":{"Name":"Edwards,Marc A","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Fighter II","Annual_Rt":"$64,969.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2151},"geometry":null},{"type":"Feature","id":2152,"properties":{"Name":"Givens,David Andrew","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2152},"geometry":null},{"type":"Feature","id":2153,"properties":{"Name":"Grant,Michael Clark","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2153},"geometry":null},{"type":"Feature","id":2154,"properties":{"Name":"Hawthorne III,Thomas J","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2154},"geometry":null},{"type":"Feature","id":2155,"properties":{"Name":"Holmes,George C","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2155},"geometry":null},{"type":"Feature","id":2156,"properties":{"Name":"Klemowicz,Jason Michael","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2156},"geometry":null},{"type":"Feature","id":2157,"properties":{"Name":"Merritt,Andrew S","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2157},"geometry":null},{"type":"Feature","id":2158,"properties":{"Name":"Zimmerman,Cindy M","Unit":"Fire","Dept":"Fire Station 12","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2158},"geometry":null},{"type":"Feature","id":2159,"properties":{"Name":"Gordon,Michael B.","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2159},"geometry":null},{"type":"Feature","id":2160,"properties":{"Name":"Hartsell,John T","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2160},"geometry":null},{"type":"Feature","id":2161,"properties":{"Name":"Hunter Sr,Scott L","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2161},"geometry":null},{"type":"Feature","id":2162,"properties":{"Name":"King,Russell W","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2162},"geometry":null},{"type":"Feature","id":2163,"properties":{"Name":"McTighe Jr,Robert D","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2163},"geometry":null},{"type":"Feature","id":2164,"properties":{"Name":"Richardson Jr,Jeffrey L","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2164},"geometry":null},{"type":"Feature","id":2165,"properties":{"Name":"Albini,Ryan Anthony","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2165},"geometry":null},{"type":"Feature","id":2166,"properties":{"Name":"Braham,Gregory M","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2166},"geometry":null},{"type":"Feature","id":2167,"properties":{"Name":"Johnson,Shad E","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2167},"geometry":null},{"type":"Feature","id":2168,"properties":{"Name":"Jones,Matthew B.","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2168},"geometry":null},{"type":"Feature","id":2169,"properties":{"Name":"Lasco,Syviney C","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2169},"geometry":null},{"type":"Feature","id":2170,"properties":{"Name":"Pope,Kelly D","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2170},"geometry":null},{"type":"Feature","id":2171,"properties":{"Name":"Hill,Jonathan Maxwell","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter I","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2171},"geometry":null},{"type":"Feature","id":2172,"properties":{"Name":"Hunter,Steven Ingram","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2172},"geometry":null},{"type":"Feature","id":2173,"properties":{"Name":"Ingold,James Lewis","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2173},"geometry":null},{"type":"Feature","id":2174,"properties":{"Name":"Jonas,Corey Neal","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2174},"geometry":null},{"type":"Feature","id":2175,"properties":{"Name":"Simpson,Joshua Neely","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2175},"geometry":null},{"type":"Feature","id":2176,"properties":{"Name":"Arango,Mario Francisco","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2176},"geometry":null},{"type":"Feature","id":2177,"properties":{"Name":"Celetti,Chad Nicholas","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2177},"geometry":null},{"type":"Feature","id":2178,"properties":{"Name":"Combs,David Chase","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$55,084.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2178},"geometry":null},{"type":"Feature","id":2179,"properties":{"Name":"Cook III,Robert B","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2179},"geometry":null},{"type":"Feature","id":2180,"properties":{"Name":"Eley-Durbin,Tristan S","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2180},"geometry":null},{"type":"Feature","id":2181,"properties":{"Name":"Goodrich,Joel Duncan","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2181},"geometry":null},{"type":"Feature","id":2182,"properties":{"Name":"Harrington,Matthew C","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$57,707.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2182},"geometry":null},{"type":"Feature","id":2183,"properties":{"Name":"Phillips,Kevin D","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2183},"geometry":null},{"type":"Feature","id":2184,"properties":{"Name":"Shaner,Gregory J","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$60,629.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2184},"geometry":null},{"type":"Feature","id":2185,"properties":{"Name":"Shuford,Bryan H","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2185},"geometry":null},{"type":"Feature","id":2186,"properties":{"Name":"Tadlock III,William D","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$60,629.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2186},"geometry":null},{"type":"Feature","id":2187,"properties":{"Name":"Tysinger,Daniel A","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$57,707.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2187},"geometry":null},{"type":"Feature","id":2188,"properties":{"Name":"Usery,Marcus A","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2188},"geometry":null},{"type":"Feature","id":2189,"properties":{"Name":"Welty,John R","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2189},"geometry":null},{"type":"Feature","id":2190,"properties":{"Name":"Belton,Justin S","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Relief Captain","Annual_Rt":"$70,180.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2190},"geometry":null},{"type":"Feature","id":2191,"properties":{"Name":"Lawing,Timothy B","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Relief Captain","Annual_Rt":"$73,732.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2191},"geometry":null},{"type":"Feature","id":2192,"properties":{"Name":"Monteith,Jeremy Ryan","Unit":"Fire","Dept":"Fire Station 13","Job_Title":"Relief Captain","Annual_Rt":"$73,732.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2192},"geometry":null},{"type":"Feature","id":2193,"properties":{"Name":"Montgomery,Thomas J.","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2193},"geometry":null},{"type":"Feature","id":2194,"properties":{"Name":"Smith-Phifer,Sylivia A","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2194},"geometry":null},{"type":"Feature","id":2195,"properties":{"Name":"Ward,Paul E","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2195},"geometry":null},{"type":"Feature","id":2196,"properties":{"Name":"Dickason,Ted E","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2196},"geometry":null},{"type":"Feature","id":2197,"properties":{"Name":"Malpass,Michael G","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2197},"geometry":null},{"type":"Feature","id":2198,"properties":{"Name":"Witherspoon Jr,Johnny L","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2198},"geometry":null},{"type":"Feature","id":2199,"properties":{"Name":"Benson,Brian W","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2199},"geometry":null},{"type":"Feature","id":2200,"properties":{"Name":"Gates Jr,Horace Lowell","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2200},"geometry":null},{"type":"Feature","id":2201,"properties":{"Name":"Hendrix Jr,Andrew L","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2201},"geometry":null},{"type":"Feature","id":2202,"properties":{"Name":"Howell,Kevin Blake","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2202},"geometry":null},{"type":"Feature","id":2203,"properties":{"Name":"Hoyte Jr,Eric C","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Fighter II","Annual_Rt":"$55,117.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2203},"geometry":null},{"type":"Feature","id":2204,"properties":{"Name":"Medeiros,Paul Michael","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2204},"geometry":null},{"type":"Feature","id":2205,"properties":{"Name":"Smith,Ashley J","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2205},"geometry":null},{"type":"Feature","id":2206,"properties":{"Name":"Smith,James M","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2206},"geometry":null},{"type":"Feature","id":2207,"properties":{"Name":"Wyckoff,Timothy James","Unit":"Fire","Dept":"Fire Station 14","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2207},"geometry":null},{"type":"Feature","id":2208,"properties":{"Name":"Barr,Brian E","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2208},"geometry":null},{"type":"Feature","id":2209,"properties":{"Name":"Hildreth,Thomas G","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2209},"geometry":null},{"type":"Feature","id":2210,"properties":{"Name":"Westbrook,Mathew T","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2210},"geometry":null},{"type":"Feature","id":2211,"properties":{"Name":"French,Timothy S","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2211},"geometry":null},{"type":"Feature","id":2212,"properties":{"Name":"Laney,Bryant E","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2212},"geometry":null},{"type":"Feature","id":2213,"properties":{"Name":"Love,Walter R","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2213},"geometry":null},{"type":"Feature","id":2214,"properties":{"Name":"Booth,John S","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2214},"geometry":null},{"type":"Feature","id":2215,"properties":{"Name":"Hampton,Hunter Lee","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2215},"geometry":null},{"type":"Feature","id":2216,"properties":{"Name":"Johnston,Joshua Daniel","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Fighter II","Annual_Rt":"$52,461.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2216},"geometry":null},{"type":"Feature","id":2217,"properties":{"Name":"Jones,Nathan Michael","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2217},"geometry":null},{"type":"Feature","id":2218,"properties":{"Name":"Kauer,Steven T.","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2218},"geometry":null},{"type":"Feature","id":2219,"properties":{"Name":"Lipcsak,John Tyler","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2219},"geometry":null},{"type":"Feature","id":2220,"properties":{"Name":"Martin III,James A","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2220},"geometry":null},{"type":"Feature","id":2221,"properties":{"Name":"Myers,Jason M.","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2221},"geometry":null},{"type":"Feature","id":2222,"properties":{"Name":"Spath,Stephen B.","Unit":"Fire","Dept":"Fire Station 15","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2222},"geometry":null},{"type":"Feature","id":2223,"properties":{"Name":"Brown,Timothy D","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2223},"geometry":null},{"type":"Feature","id":2224,"properties":{"Name":"Giles,Lee M","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2224},"geometry":null},{"type":"Feature","id":2225,"properties":{"Name":"Howell,Joseph Glen","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2225},"geometry":null},{"type":"Feature","id":2226,"properties":{"Name":"Myers,Jay C","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2226},"geometry":null},{"type":"Feature","id":2227,"properties":{"Name":"Threatt,Henderson","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2227},"geometry":null},{"type":"Feature","id":2228,"properties":{"Name":"Webb,Tonie","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2228},"geometry":null},{"type":"Feature","id":2229,"properties":{"Name":"Campbell Jr,John C","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2229},"geometry":null},{"type":"Feature","id":2230,"properties":{"Name":"Hoover III,John K","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2230},"geometry":null},{"type":"Feature","id":2231,"properties":{"Name":"Long III,Willie","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2231},"geometry":null},{"type":"Feature","id":2232,"properties":{"Name":"McIntosh,Jason A","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2232},"geometry":null},{"type":"Feature","id":2233,"properties":{"Name":"Thompson,Lee W","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,149.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2233},"geometry":null},{"type":"Feature","id":2234,"properties":{"Name":"Weyler,Warren D","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2234},"geometry":null},{"type":"Feature","id":2235,"properties":{"Name":"Clemmer,Joseph LLoyd","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2235},"geometry":null},{"type":"Feature","id":2236,"properties":{"Name":"Evans,Michael Eugene","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter I","Annual_Rt":"$45,291.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2236},"geometry":null},{"type":"Feature","id":2237,"properties":{"Name":"Ulery,Adam Glenn","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2237},"geometry":null},{"type":"Feature","id":2238,"properties":{"Name":"Aldridge,Matthew Vaughn","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2238},"geometry":null},{"type":"Feature","id":2239,"properties":{"Name":"Branch,Brandon Reid","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2239},"geometry":null},{"type":"Feature","id":2240,"properties":{"Name":"Coates,Sherrod Demetris L","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2240},"geometry":null},{"type":"Feature","id":2241,"properties":{"Name":"Davis Jr,Michael","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2241},"geometry":null},{"type":"Feature","id":2242,"properties":{"Name":"Filliben,John Michael","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2242},"geometry":null},{"type":"Feature","id":2243,"properties":{"Name":"Green,David S","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2243},"geometry":null},{"type":"Feature","id":2244,"properties":{"Name":"Hullett,Michael P","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2244},"geometry":null},{"type":"Feature","id":2245,"properties":{"Name":"Hunter,Roger W","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2245},"geometry":null},{"type":"Feature","id":2246,"properties":{"Name":"Ireland,Timothy M","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2246},"geometry":null},{"type":"Feature","id":2247,"properties":{"Name":"Massey,Michael Scott","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2247},"geometry":null},{"type":"Feature","id":2248,"properties":{"Name":"Plunkett,Timothy M","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$55,117.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2248},"geometry":null},{"type":"Feature","id":2249,"properties":{"Name":"Poovey,Glenn E","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$55,084.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2249},"geometry":null},{"type":"Feature","id":2250,"properties":{"Name":"Rangel,Joel Louis","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2250},"geometry":null},{"type":"Feature","id":2251,"properties":{"Name":"Reagan,Lance E.","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2251},"geometry":null},{"type":"Feature","id":2252,"properties":{"Name":"Tinsley,David","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Fire Fighter II","Annual_Rt":"$55,117.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2252},"geometry":null},{"type":"Feature","id":2253,"properties":{"Name":"Beatty,Brian Charles","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2253},"geometry":null},{"type":"Feature","id":2254,"properties":{"Name":"Tran,Hai Tan","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2254},"geometry":null},{"type":"Feature","id":2255,"properties":{"Name":"Wosje,Jonathan P.","Unit":"Fire","Dept":"Fire Station 16","Job_Title":"Relief Captain","Annual_Rt":"$70,221.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2255},"geometry":null},{"type":"Feature","id":2256,"properties":{"Name":"Bosche Jr,Phillip","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Battalion Fire Chief","Annual_Rt":"$92,934.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2256},"geometry":null},{"type":"Feature","id":2257,"properties":{"Name":"Caputo,Brandon A","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Battalion Fire Chief","Annual_Rt":"$92,934.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2257},"geometry":null},{"type":"Feature","id":2258,"properties":{"Name":"Nantz,Kenneth S","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Battalion Fire Chief","Annual_Rt":"$100,507.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2258},"geometry":null},{"type":"Feature","id":2259,"properties":{"Name":"Baudo,Andrew I","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2259},"geometry":null},{"type":"Feature","id":2260,"properties":{"Name":"Bradford,Gary B","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2260},"geometry":null},{"type":"Feature","id":2261,"properties":{"Name":"Brewer,Thomas G","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2261},"geometry":null},{"type":"Feature","id":2262,"properties":{"Name":"Cook II,Henry L.","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2262},"geometry":null},{"type":"Feature","id":2263,"properties":{"Name":"Gerin,Michael T.","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2263},"geometry":null},{"type":"Feature","id":2264,"properties":{"Name":"McIntosh,Christopher C.","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2264},"geometry":null},{"type":"Feature","id":2265,"properties":{"Name":"Michael,Chad T.","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2265},"geometry":null},{"type":"Feature","id":2266,"properties":{"Name":"Rust,David L","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2266},"geometry":null},{"type":"Feature","id":2267,"properties":{"Name":"Stewart,David M","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2267},"geometry":null},{"type":"Feature","id":2268,"properties":{"Name":"Auten,Charles C","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2268},"geometry":null},{"type":"Feature","id":2269,"properties":{"Name":"Bradley,Jonathan R.","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$60,803.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2269},"geometry":null},{"type":"Feature","id":2270,"properties":{"Name":"Fisher Jr,Gary F","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2270},"geometry":null},{"type":"Feature","id":2271,"properties":{"Name":"Humphries,Clinton D","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2271},"geometry":null},{"type":"Feature","id":2272,"properties":{"Name":"Kendrick,Timothy E","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2272},"geometry":null},{"type":"Feature","id":2273,"properties":{"Name":"Kenning,Scott Edward","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2273},"geometry":null},{"type":"Feature","id":2274,"properties":{"Name":"Layne,Mack Brandon","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$57,873.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2274},"geometry":null},{"type":"Feature","id":2275,"properties":{"Name":"McDonald,Charles T","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2275},"geometry":null},{"type":"Feature","id":2276,"properties":{"Name":"Primm,David M","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2276},"geometry":null},{"type":"Feature","id":2277,"properties":{"Name":"Reed,David E","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2277},"geometry":null},{"type":"Feature","id":2278,"properties":{"Name":"Stewart,Timothy P","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2278},"geometry":null},{"type":"Feature","id":2279,"properties":{"Name":"Ussery,Barry C","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2279},"geometry":null},{"type":"Feature","id":2280,"properties":{"Name":"Atwell,Benjamin Kyle","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter I","Annual_Rt":"$43,036.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2280},"geometry":null},{"type":"Feature","id":2281,"properties":{"Name":"Balatsias,John Christopher","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2281},"geometry":null},{"type":"Feature","id":2282,"properties":{"Name":"Bradt,Michael Andrew","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2282},"geometry":null},{"type":"Feature","id":2283,"properties":{"Name":"Floyd Jr,Wiley Benjamin","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2283},"geometry":null},{"type":"Feature","id":2284,"properties":{"Name":"Galatas,Nickolaos Sam","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2284},"geometry":null},{"type":"Feature","id":2285,"properties":{"Name":"Glover,Travis Jason","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter I","Annual_Rt":"$45,291.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2285},"geometry":null},{"type":"Feature","id":2286,"properties":{"Name":"Headley,Nicholas Andrew","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter I","Annual_Rt":"$43,036.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2286},"geometry":null},{"type":"Feature","id":2287,"properties":{"Name":"Nunez,Moises Miguel","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter I","Annual_Rt":"$45,291.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2287},"geometry":null},{"type":"Feature","id":2288,"properties":{"Name":"Robles,Daniel Luis","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter I","Annual_Rt":"$39,124.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2288},"geometry":null},{"type":"Feature","id":2289,"properties":{"Name":"Taylor,Clinton Vann","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2289},"geometry":null},{"type":"Feature","id":2290,"properties":{"Name":"Allen,Eric M","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2290},"geometry":null},{"type":"Feature","id":2291,"properties":{"Name":"Blackwelder,Thomas J","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2291},"geometry":null},{"type":"Feature","id":2292,"properties":{"Name":"Grant Jr,David","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2292},"geometry":null},{"type":"Feature","id":2293,"properties":{"Name":"Maxwell,Craig Alan","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2293},"geometry":null},{"type":"Feature","id":2294,"properties":{"Name":"McBryde,Joseph E","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2294},"geometry":null},{"type":"Feature","id":2295,"properties":{"Name":"Phillips,Jeffrey W","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2295},"geometry":null},{"type":"Feature","id":2296,"properties":{"Name":"Sanburg,William Brady","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2296},"geometry":null},{"type":"Feature","id":2297,"properties":{"Name":"Cherry,Ronald E","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2297},"geometry":null},{"type":"Feature","id":2298,"properties":{"Name":"Creason Jr,Stephen A","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2298},"geometry":null},{"type":"Feature","id":2299,"properties":{"Name":"Rink,Kevin M","Unit":"Fire","Dept":"Fire Station 17","Job_Title":"Relief Captain","Annual_Rt":"$70,221.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2299},"geometry":null},{"type":"Feature","id":2300,"properties":{"Name":"Alexander,Derek P","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2300},"geometry":null},{"type":"Feature","id":2301,"properties":{"Name":"Black,Joseph E","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2301},"geometry":null},{"type":"Feature","id":2302,"properties":{"Name":"Flowers,Tony K","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2302},"geometry":null},{"type":"Feature","id":2303,"properties":{"Name":"Lambeck,Peter","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2303},"geometry":null},{"type":"Feature","id":2304,"properties":{"Name":"Smith,Philip A","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2304},"geometry":null},{"type":"Feature","id":2305,"properties":{"Name":"White,Seth D","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2305},"geometry":null},{"type":"Feature","id":2306,"properties":{"Name":"Ashe,Michael A","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2306},"geometry":null},{"type":"Feature","id":2307,"properties":{"Name":"Brown,Barry L","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2307},"geometry":null},{"type":"Feature","id":2308,"properties":{"Name":"David,Robert A","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2308},"geometry":null},{"type":"Feature","id":2309,"properties":{"Name":"Dowell,Kenneth L","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2309},"geometry":null},{"type":"Feature","id":2310,"properties":{"Name":"King Jr,Harry T","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2310},"geometry":null},{"type":"Feature","id":2311,"properties":{"Name":"Knox,Frankie L","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2311},"geometry":null},{"type":"Feature","id":2312,"properties":{"Name":"Greenhalgh,Gregory Ivan John","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter I","Annual_Rt":"$45,291.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2312},"geometry":null},{"type":"Feature","id":2313,"properties":{"Name":"Adams Jr,Earl L","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2313},"geometry":null},{"type":"Feature","id":2314,"properties":{"Name":"Ashford,Craig C","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2314},"geometry":null},{"type":"Feature","id":2315,"properties":{"Name":"Barbee,Guerry N","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2315},"geometry":null},{"type":"Feature","id":2316,"properties":{"Name":"Foster,Jason W.","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2316},"geometry":null},{"type":"Feature","id":2317,"properties":{"Name":"Hager,Jeffery C","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2317},"geometry":null},{"type":"Feature","id":2318,"properties":{"Name":"Hoover,Roger Eugene","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$52,461.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2318},"geometry":null},{"type":"Feature","id":2319,"properties":{"Name":"Jones,Rahsarn Jabbar","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2319},"geometry":null},{"type":"Feature","id":2320,"properties":{"Name":"Maynor,Carlton G","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2320},"geometry":null},{"type":"Feature","id":2321,"properties":{"Name":"Merrill,Derek A","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2321},"geometry":null},{"type":"Feature","id":2322,"properties":{"Name":"Murphy III,Raymond Joseph","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2322},"geometry":null},{"type":"Feature","id":2323,"properties":{"Name":"Rasmussen,Kemp A","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2323},"geometry":null},{"type":"Feature","id":2324,"properties":{"Name":"Rikard,Jeremy L","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2324},"geometry":null},{"type":"Feature","id":2325,"properties":{"Name":"Tinsley,Seth Anthony","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$57,707.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2325},"geometry":null},{"type":"Feature","id":2326,"properties":{"Name":"Walsh,Kenneth R.","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2326},"geometry":null},{"type":"Feature","id":2327,"properties":{"Name":"Washington,Terrell Hammid","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$55,084.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2327},"geometry":null},{"type":"Feature","id":2328,"properties":{"Name":"Whisnant,Robert Nicolas","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2328},"geometry":null},{"type":"Feature","id":2329,"properties":{"Name":"Gilmore,Jackie Kevin","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Relief Captain","Annual_Rt":"$68,509.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2329},"geometry":null},{"type":"Feature","id":2330,"properties":{"Name":"Mackey,Nathaniel C","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Relief Captain","Annual_Rt":"$70,221.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2330},"geometry":null},{"type":"Feature","id":2331,"properties":{"Name":"Shumate,Kenneth Terence","Unit":"Fire","Dept":"Fire Station 18","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2331},"geometry":null},{"type":"Feature","id":2332,"properties":{"Name":"Owen,David W","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2332},"geometry":null},{"type":"Feature","id":2333,"properties":{"Name":"Smith,Jonah E","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2333},"geometry":null},{"type":"Feature","id":2334,"properties":{"Name":"Warren,Raymond P","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2334},"geometry":null},{"type":"Feature","id":2335,"properties":{"Name":"Clary,Jon C","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2335},"geometry":null},{"type":"Feature","id":2336,"properties":{"Name":"Sawtelle III,Matthew Trimble","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2336},"geometry":null},{"type":"Feature","id":2337,"properties":{"Name":"Swett,Scott B","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2337},"geometry":null},{"type":"Feature","id":2338,"properties":{"Name":"Worrell II,Thomas Jeffrey","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2338},"geometry":null},{"type":"Feature","id":2339,"properties":{"Name":"Anderson,Kirt D.","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2339},"geometry":null},{"type":"Feature","id":2340,"properties":{"Name":"Dellinger,Scott L","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Fighter II","Annual_Rt":"$55,117.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2340},"geometry":null},{"type":"Feature","id":2341,"properties":{"Name":"Harris Jr,Jerry Alexander","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2341},"geometry":null},{"type":"Feature","id":2342,"properties":{"Name":"Law,Julie A","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2342},"geometry":null},{"type":"Feature","id":2343,"properties":{"Name":"McCormac,Douglas Edward","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2343},"geometry":null},{"type":"Feature","id":2344,"properties":{"Name":"Mulet,David Gregg","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2344},"geometry":null},{"type":"Feature","id":2345,"properties":{"Name":"Shytle,John R","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2345},"geometry":null},{"type":"Feature","id":2346,"properties":{"Name":"Tackson,Christopher David","Unit":"Fire","Dept":"Fire Station 19","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2346},"geometry":null},{"type":"Feature","id":2347,"properties":{"Name":"Bradey,Christopher L","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2347},"geometry":null},{"type":"Feature","id":2348,"properties":{"Name":"Cranford,Edward W","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2348},"geometry":null},{"type":"Feature","id":2349,"properties":{"Name":"Hall,James A","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2349},"geometry":null},{"type":"Feature","id":2350,"properties":{"Name":"Nicholson,Gregory L","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2350},"geometry":null},{"type":"Feature","id":2351,"properties":{"Name":"Starnes,Andrew J","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2351},"geometry":null},{"type":"Feature","id":2352,"properties":{"Name":"Watts,Jeffrey G","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2352},"geometry":null},{"type":"Feature","id":2353,"properties":{"Name":"Coulson,Steve R","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2353},"geometry":null},{"type":"Feature","id":2354,"properties":{"Name":"Fink,Todd M","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2354},"geometry":null},{"type":"Feature","id":2355,"properties":{"Name":"Hanline,James D","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2355},"geometry":null},{"type":"Feature","id":2356,"properties":{"Name":"Mack,John","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2356},"geometry":null},{"type":"Feature","id":2357,"properties":{"Name":"Martin,Wallace K","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2357},"geometry":null},{"type":"Feature","id":2358,"properties":{"Name":"McKown Jr,Randall L","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2358},"geometry":null},{"type":"Feature","id":2359,"properties":{"Name":"Bradshaw,Zachary K","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2359},"geometry":null},{"type":"Feature","id":2360,"properties":{"Name":"Cochran,William Brett","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$55,117.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2360},"geometry":null},{"type":"Feature","id":2361,"properties":{"Name":"Colbert,Douglass Jyoji","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2361},"geometry":null},{"type":"Feature","id":2362,"properties":{"Name":"Defrancisci,Thomas Michael","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2362},"geometry":null},{"type":"Feature","id":2363,"properties":{"Name":"Ganous,Cameron Lee","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2363},"geometry":null},{"type":"Feature","id":2364,"properties":{"Name":"Gilmore,Brian Eugene","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2364},"geometry":null},{"type":"Feature","id":2365,"properties":{"Name":"Harris,Robert Bryant","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2365},"geometry":null},{"type":"Feature","id":2366,"properties":{"Name":"Henderson,Nicholas Kent","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2366},"geometry":null},{"type":"Feature","id":2367,"properties":{"Name":"Holstein,Daniel Carl","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2367},"geometry":null},{"type":"Feature","id":2368,"properties":{"Name":"Maschi,Richard Thomas","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2368},"geometry":null},{"type":"Feature","id":2369,"properties":{"Name":"Murray,Justen T","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2369},"geometry":null},{"type":"Feature","id":2370,"properties":{"Name":"Norton,Robert Zack","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2370},"geometry":null},{"type":"Feature","id":2371,"properties":{"Name":"Perez,Anthony A","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2371},"geometry":null},{"type":"Feature","id":2372,"properties":{"Name":"Richardson,Brett Aaron","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2372},"geometry":null},{"type":"Feature","id":2373,"properties":{"Name":"Shick,William R","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2373},"geometry":null},{"type":"Feature","id":2374,"properties":{"Name":"Stroud,Jamar L","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2374},"geometry":null},{"type":"Feature","id":2375,"properties":{"Name":"Suhr,Brett M.","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2375},"geometry":null},{"type":"Feature","id":2376,"properties":{"Name":"Warlick,Kevin M","Unit":"Fire","Dept":"Fire Station 2","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2376},"geometry":null},{"type":"Feature","id":2377,"properties":{"Name":"Foulk,Michael L","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Battalion Fire Chief","Annual_Rt":"$92,934.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2377},"geometry":null},{"type":"Feature","id":2378,"properties":{"Name":"McDaniel,Paula D","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Battalion Fire Chief","Annual_Rt":"$92,934.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2378},"geometry":null},{"type":"Feature","id":2379,"properties":{"Name":"Sharpe,Gregory R","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Battalion Fire Chief","Annual_Rt":"$92,934.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2379},"geometry":null},{"type":"Feature","id":2380,"properties":{"Name":"Clark Jr,June B","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Captain","Annual_Rt":"$77,419.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2380},"geometry":null},{"type":"Feature","id":2381,"properties":{"Name":"Cole Jr,Troy D","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2381},"geometry":null},{"type":"Feature","id":2382,"properties":{"Name":"Wilson,Brian W","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2382},"geometry":null},{"type":"Feature","id":2383,"properties":{"Name":"Allen,Robert B","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2383},"geometry":null},{"type":"Feature","id":2384,"properties":{"Name":"Carter,Michael F","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2384},"geometry":null},{"type":"Feature","id":2385,"properties":{"Name":"Edwards,Richard J.","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2385},"geometry":null},{"type":"Feature","id":2386,"properties":{"Name":"Auten Jr,Charles Clifford","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2386},"geometry":null},{"type":"Feature","id":2387,"properties":{"Name":"Baker,Thomas A.","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Fighter II","Annual_Rt":"$55,117.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2387},"geometry":null},{"type":"Feature","id":2388,"properties":{"Name":"Field,Jeffrey S","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2388},"geometry":null},{"type":"Feature","id":2389,"properties":{"Name":"Herrera,Michael M","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2389},"geometry":null},{"type":"Feature","id":2390,"properties":{"Name":"Jackson,Kenney F","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2390},"geometry":null},{"type":"Feature","id":2391,"properties":{"Name":"Melone Jr,Steven C","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2391},"geometry":null},{"type":"Feature","id":2392,"properties":{"Name":"Rummage,Adam P","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2392},"geometry":null},{"type":"Feature","id":2393,"properties":{"Name":"Sikes,Brett C","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2393},"geometry":null},{"type":"Feature","id":2394,"properties":{"Name":"Thomas,Andrew Charles","Unit":"Fire","Dept":"Fire Station 20","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2394},"geometry":null},{"type":"Feature","id":2395,"properties":{"Name":"Bell,Timothy S","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2395},"geometry":null},{"type":"Feature","id":2396,"properties":{"Name":"Bradford,Lane B.","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2396},"geometry":null},{"type":"Feature","id":2397,"properties":{"Name":"Johnson,Joshua Eric","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2397},"geometry":null},{"type":"Feature","id":2398,"properties":{"Name":"Chapman,Robert H","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2398},"geometry":null},{"type":"Feature","id":2399,"properties":{"Name":"Storie,William F.","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2399},"geometry":null},{"type":"Feature","id":2400,"properties":{"Name":"Williams,Andrew V","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2400},"geometry":null},{"type":"Feature","id":2401,"properties":{"Name":"Forbes,Justin Arthur","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Fighter I","Annual_Rt":"$45,291.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2401},"geometry":null},{"type":"Feature","id":2402,"properties":{"Name":"Kennedy,Randall Isaac","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2402},"geometry":null},{"type":"Feature","id":2403,"properties":{"Name":"Ranson,Justin Trent","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2403},"geometry":null},{"type":"Feature","id":2404,"properties":{"Name":"Slagle,Joseph Eric","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Fighter I","Annual_Rt":"$45,291.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2404},"geometry":null},{"type":"Feature","id":2405,"properties":{"Name":"Hampton II,Dennis Levell","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2405},"geometry":null},{"type":"Feature","id":2406,"properties":{"Name":"Loera,Jose Adrian","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2406},"geometry":null},{"type":"Feature","id":2407,"properties":{"Name":"Minton,Travis A","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2407},"geometry":null},{"type":"Feature","id":2408,"properties":{"Name":"Scheeder,E Clark","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Fighter II","Annual_Rt":"$57,707.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2408},"geometry":null},{"type":"Feature","id":2409,"properties":{"Name":"Turbyfill,James A","Unit":"Fire","Dept":"Fire Station 21","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2409},"geometry":null},{"type":"Feature","id":2410,"properties":{"Name":"Andrews,Donald R","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2410},"geometry":null},{"type":"Feature","id":2411,"properties":{"Name":"Field,Justin Anthony","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2411},"geometry":null},{"type":"Feature","id":2412,"properties":{"Name":"Nance,Darryl C","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2412},"geometry":null},{"type":"Feature","id":2413,"properties":{"Name":"Lee,Bill L","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$55,084.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2413},"geometry":null},{"type":"Feature","id":2414,"properties":{"Name":"Maver,Michael T","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2414},"geometry":null},{"type":"Feature","id":2415,"properties":{"Name":"Phifer,Jeffrey A","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2415},"geometry":null},{"type":"Feature","id":2416,"properties":{"Name":"Andrade,Kyren Rico","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2416},"geometry":null},{"type":"Feature","id":2417,"properties":{"Name":"Hundley,Deonte Andrew","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2417},"geometry":null},{"type":"Feature","id":2418,"properties":{"Name":"Colson,Michael J","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Fighter II","Annual_Rt":"$60,629.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2418},"geometry":null},{"type":"Feature","id":2419,"properties":{"Name":"Hardin,Christopher Jason","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2419},"geometry":null},{"type":"Feature","id":2420,"properties":{"Name":"Moore,Evan Eugene","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2420},"geometry":null},{"type":"Feature","id":2421,"properties":{"Name":"Orr,Kevin L","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2421},"geometry":null},{"type":"Feature","id":2422,"properties":{"Name":"Perkins,Jason Andrew","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2422},"geometry":null},{"type":"Feature","id":2423,"properties":{"Name":"Stansberry,James Kurtis","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2423},"geometry":null},{"type":"Feature","id":2424,"properties":{"Name":"Tucker,Willie Earl","Unit":"Fire","Dept":"Fire Station 22","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2424},"geometry":null},{"type":"Feature","id":2425,"properties":{"Name":"Chapman,Michael B","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2425},"geometry":null},{"type":"Feature","id":2426,"properties":{"Name":"King,Alan S","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2426},"geometry":null},{"type":"Feature","id":2427,"properties":{"Name":"Knight,Jerry D","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2427},"geometry":null},{"type":"Feature","id":2428,"properties":{"Name":"Royall,Shawn L","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2428},"geometry":null},{"type":"Feature","id":2429,"properties":{"Name":"Tuttle,Robert K","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2429},"geometry":null},{"type":"Feature","id":2430,"properties":{"Name":"Williams,Jeffrey M","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2430},"geometry":null},{"type":"Feature","id":2431,"properties":{"Name":"Coley II,Larry W","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2431},"geometry":null},{"type":"Feature","id":2432,"properties":{"Name":"Crosby III,James B","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2432},"geometry":null},{"type":"Feature","id":2433,"properties":{"Name":"Dixon,Jeffrey W","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2433},"geometry":null},{"type":"Feature","id":2434,"properties":{"Name":"Moore Jr,Robert E","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2434},"geometry":null},{"type":"Feature","id":2435,"properties":{"Name":"Morton,Michael S","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2435},"geometry":null},{"type":"Feature","id":2436,"properties":{"Name":"Poplin,Michael S","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2436},"geometry":null},{"type":"Feature","id":2437,"properties":{"Name":"Blackwelder Jr,Steven D","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2437},"geometry":null},{"type":"Feature","id":2438,"properties":{"Name":"Boyd,David F","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2438},"geometry":null},{"type":"Feature","id":2439,"properties":{"Name":"Brown,Joshua Devin","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2439},"geometry":null},{"type":"Feature","id":2440,"properties":{"Name":"Davis,Matthew Justin","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2440},"geometry":null},{"type":"Feature","id":2441,"properties":{"Name":"DeFranzo,Edward J","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2441},"geometry":null},{"type":"Feature","id":2442,"properties":{"Name":"Eury,Rodney C","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2442},"geometry":null},{"type":"Feature","id":2443,"properties":{"Name":"Garlick,Glen A.","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2443},"geometry":null},{"type":"Feature","id":2444,"properties":{"Name":"Lavoie,Michael C","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2444},"geometry":null},{"type":"Feature","id":2445,"properties":{"Name":"Metzler,Jonathan","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2445},"geometry":null},{"type":"Feature","id":2446,"properties":{"Name":"Mills,Jason William","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2446},"geometry":null},{"type":"Feature","id":2447,"properties":{"Name":"Pope,Ryan Scott","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$55,084.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2447},"geometry":null},{"type":"Feature","id":2448,"properties":{"Name":"Rabeau,Christopher Lawrence","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2448},"geometry":null},{"type":"Feature","id":2449,"properties":{"Name":"Rosario,Henry Q","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2449},"geometry":null},{"type":"Feature","id":2450,"properties":{"Name":"Thompson,Michael M","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$57,873.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2450},"geometry":null},{"type":"Feature","id":2451,"properties":{"Name":"Walker,Charles A","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2451},"geometry":null},{"type":"Feature","id":2452,"properties":{"Name":"Ward,Tyler D.","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2452},"geometry":null},{"type":"Feature","id":2453,"properties":{"Name":"Wright,Ernest S","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2453},"geometry":null},{"type":"Feature","id":2454,"properties":{"Name":"Clymer II,Thomas Lester","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Relief Captain","Annual_Rt":"$70,221.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2454},"geometry":null},{"type":"Feature","id":2455,"properties":{"Name":"Fasanaro,Kenneth C","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Relief Captain","Annual_Rt":"$73,733.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2455},"geometry":null},{"type":"Feature","id":2456,"properties":{"Name":"Ickes,Brian J","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2456},"geometry":null},{"type":"Feature","id":2457,"properties":{"Name":"Petraske,Denise C","Unit":"Fire","Dept":"Fire Station 23","Job_Title":"Relief Captain","Annual_Rt":"$70,221.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2457},"geometry":null},{"type":"Feature","id":2458,"properties":{"Name":"Damron III,James O","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2458},"geometry":null},{"type":"Feature","id":2459,"properties":{"Name":"Kelly,Lynda Ann","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2459},"geometry":null},{"type":"Feature","id":2460,"properties":{"Name":"Matera,Francis P","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2460},"geometry":null},{"type":"Feature","id":2461,"properties":{"Name":"Rudisill,Ricky L","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2461},"geometry":null},{"type":"Feature","id":2462,"properties":{"Name":"Spooner,Jere B","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2462},"geometry":null},{"type":"Feature","id":2463,"properties":{"Name":"Tish,Hubert H","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2463},"geometry":null},{"type":"Feature","id":2464,"properties":{"Name":"Burke,Gregory A","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2464},"geometry":null},{"type":"Feature","id":2465,"properties":{"Name":"DeFranzo Jr,Paul A","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2465},"geometry":null},{"type":"Feature","id":2466,"properties":{"Name":"Morgan,Robert L","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2466},"geometry":null},{"type":"Feature","id":2467,"properties":{"Name":"Nixon,Jonathan R","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$56,461.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2467},"geometry":null},{"type":"Feature","id":2468,"properties":{"Name":"Shirley,James A","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2468},"geometry":null},{"type":"Feature","id":2469,"properties":{"Name":"Thompson,Lane P.","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2469},"geometry":null},{"type":"Feature","id":2470,"properties":{"Name":"Gonzalez Jr,Frankie","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter I","Annual_Rt":"$41,080.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2470},"geometry":null},{"type":"Feature","id":2471,"properties":{"Name":"Labrador,Minervino Antonio","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter I","Annual_Rt":"$49,604.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2471},"geometry":null},{"type":"Feature","id":2472,"properties":{"Name":"Morris,Christopher Paul","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2472},"geometry":null},{"type":"Feature","id":2473,"properties":{"Name":"Niswander,Levi Allan","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2473},"geometry":null},{"type":"Feature","id":2474,"properties":{"Name":"Anderson,Thomas Gerald","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2474},"geometry":null},{"type":"Feature","id":2475,"properties":{"Name":"Barringer,Justin D","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2475},"geometry":null},{"type":"Feature","id":2476,"properties":{"Name":"Burke,Daniel Ryan","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2476},"geometry":null},{"type":"Feature","id":2477,"properties":{"Name":"Campbell,Brian James","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2477},"geometry":null},{"type":"Feature","id":2478,"properties":{"Name":"Darlington,Peter B","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2478},"geometry":null},{"type":"Feature","id":2479,"properties":{"Name":"Ezekiel,David P.","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2479},"geometry":null},{"type":"Feature","id":2480,"properties":{"Name":"Ingram,Christopher Eric","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2480},"geometry":null},{"type":"Feature","id":2481,"properties":{"Name":"Martone,Kenneth J.","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2481},"geometry":null},{"type":"Feature","id":2482,"properties":{"Name":"Monteith,Nicky Charles","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$52,461.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2482},"geometry":null},{"type":"Feature","id":2483,"properties":{"Name":"Passons,Todd P","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2483},"geometry":null},{"type":"Feature","id":2484,"properties":{"Name":"Riggins,David Hamilton","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2484},"geometry":null},{"type":"Feature","id":2485,"properties":{"Name":"Severance,Michael K","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2485},"geometry":null},{"type":"Feature","id":2486,"properties":{"Name":"Smith,Timothy Scott","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2486},"geometry":null},{"type":"Feature","id":2487,"properties":{"Name":"St. Onge,Jerry R","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2487},"geometry":null},{"type":"Feature","id":2488,"properties":{"Name":"Gill,Brandon L","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2488},"geometry":null},{"type":"Feature","id":2489,"properties":{"Name":"Kaylor,James J","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2489},"geometry":null},{"type":"Feature","id":2490,"properties":{"Name":"Phillips,Justin R","Unit":"Fire","Dept":"Fire Station 24","Job_Title":"Relief Captain","Annual_Rt":"$68,509.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2490},"geometry":null},{"type":"Feature","id":2491,"properties":{"Name":"Moore,David F","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Battalion Fire Chief","Annual_Rt":"$95,722.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2491},"geometry":null},{"type":"Feature","id":2492,"properties":{"Name":"Ramsey,Tim R","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Battalion Fire Chief","Annual_Rt":"$92,934.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2492},"geometry":null},{"type":"Feature","id":2493,"properties":{"Name":"Reed,Stanley","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Battalion Fire Chief","Annual_Rt":"$92,934.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2493},"geometry":null},{"type":"Feature","id":2494,"properties":{"Name":"Ellison Jr,William L","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2494},"geometry":null},{"type":"Feature","id":2495,"properties":{"Name":"Hill,Michael D","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2495},"geometry":null},{"type":"Feature","id":2496,"properties":{"Name":"Holland,David C","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2496},"geometry":null},{"type":"Feature","id":2497,"properties":{"Name":"Abernathy Jr,David B","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2497},"geometry":null},{"type":"Feature","id":2498,"properties":{"Name":"Ganous,Gregg L","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2498},"geometry":null},{"type":"Feature","id":2499,"properties":{"Name":"Inman,James K","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2499},"geometry":null},{"type":"Feature","id":2500,"properties":{"Name":"Dunn,Andrew James","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2500},"geometry":null},{"type":"Feature","id":2501,"properties":{"Name":"Worden,Jared Austin","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Fighter I","Annual_Rt":"$39,124.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2501},"geometry":null},{"type":"Feature","id":2502,"properties":{"Name":"Alexander,Roger S.","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2502},"geometry":null},{"type":"Feature","id":2503,"properties":{"Name":"Beaver,Michael Todd","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2503},"geometry":null},{"type":"Feature","id":2504,"properties":{"Name":"Beman Jr,Kenneth V","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2504},"geometry":null},{"type":"Feature","id":2505,"properties":{"Name":"Brown,John B","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2505},"geometry":null},{"type":"Feature","id":2506,"properties":{"Name":"Cheek,Ray S","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2506},"geometry":null},{"type":"Feature","id":2507,"properties":{"Name":"Gwynn,Kenneth L","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2507},"geometry":null},{"type":"Feature","id":2508,"properties":{"Name":"Walton,Ryan M","Unit":"Fire","Dept":"Fire Station 25","Job_Title":"Fire Fighter II","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2508},"geometry":null},{"type":"Feature","id":2509,"properties":{"Name":"Brown,James W","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2509},"geometry":null},{"type":"Feature","id":2510,"properties":{"Name":"Budzinski,Timothy F","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2510},"geometry":null},{"type":"Feature","id":2511,"properties":{"Name":"Cash Jr,Bobby G.","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2511},"geometry":null},{"type":"Feature","id":2512,"properties":{"Name":"de Jonge,Douglas J.","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2512},"geometry":null},{"type":"Feature","id":2513,"properties":{"Name":"Forbes,James S","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2513},"geometry":null},{"type":"Feature","id":2514,"properties":{"Name":"Wooten,Jesse Ray","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2514},"geometry":null},{"type":"Feature","id":2515,"properties":{"Name":"Campbell,Will T","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2515},"geometry":null},{"type":"Feature","id":2516,"properties":{"Name":"DeMaio,Christopher Joseph","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$63,698.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2516},"geometry":null},{"type":"Feature","id":2517,"properties":{"Name":"Demartini,Michael R","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2517},"geometry":null},{"type":"Feature","id":2518,"properties":{"Name":"Franz,Michael J","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2518},"geometry":null},{"type":"Feature","id":2519,"properties":{"Name":"Gersdorff,David K","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$60,803.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2519},"geometry":null},{"type":"Feature","id":2520,"properties":{"Name":"Newman,John Roland","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$53,772.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2520},"geometry":null},{"type":"Feature","id":2521,"properties":{"Name":"Akstin,Megan A","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2521},"geometry":null},{"type":"Feature","id":2522,"properties":{"Name":"Blackmon Jr,Reginald Valone","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2522},"geometry":null},{"type":"Feature","id":2523,"properties":{"Name":"Bollinger,Neil Thomas","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter I","Annual_Rt":"$45,291.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2523},"geometry":null},{"type":"Feature","id":2524,"properties":{"Name":"Brake,Adam Tyler","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2524},"geometry":null},{"type":"Feature","id":2525,"properties":{"Name":"Bryant,Phillip Michael","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2525},"geometry":null},{"type":"Feature","id":2526,"properties":{"Name":"Cook,Jason Kyle","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter I","Annual_Rt":"$39,124.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2526},"geometry":null},{"type":"Feature","id":2527,"properties":{"Name":"Kasso,Omar Alecssandre","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2527},"geometry":null},{"type":"Feature","id":2528,"properties":{"Name":"Kloefkorn,Grant James","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2528},"geometry":null},{"type":"Feature","id":2529,"properties":{"Name":"Squittieri,Joseph Anthony","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2529},"geometry":null},{"type":"Feature","id":2530,"properties":{"Name":"Wilcox,Jeremy Jackson","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2530},"geometry":null},{"type":"Feature","id":2531,"properties":{"Name":"Benson Jr,Richard Haskell","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2531},"geometry":null},{"type":"Feature","id":2532,"properties":{"Name":"Brodzinski,Brad Bryn","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2532},"geometry":null},{"type":"Feature","id":2533,"properties":{"Name":"Hedgepeth,Darren O","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2533},"geometry":null},{"type":"Feature","id":2534,"properties":{"Name":"Paprota,Edward S.","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2534},"geometry":null},{"type":"Feature","id":2535,"properties":{"Name":"Pearson,Todd R","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2535},"geometry":null},{"type":"Feature","id":2536,"properties":{"Name":"Privette,William A","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2536},"geometry":null},{"type":"Feature","id":2537,"properties":{"Name":"Sandau,Shawn M","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2537},"geometry":null},{"type":"Feature","id":2538,"properties":{"Name":"Shimsky,Tyler John","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2538},"geometry":null},{"type":"Feature","id":2539,"properties":{"Name":"Amann Jr,Thomas Michael","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Relief Captain","Annual_Rt":"$68,509.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2539},"geometry":null},{"type":"Feature","id":2540,"properties":{"Name":"Cranford,Christopher A","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2540},"geometry":null},{"type":"Feature","id":2541,"properties":{"Name":"Dotoli Jr,James","Unit":"Fire","Dept":"Fire Station 26","Job_Title":"Relief Captain","Annual_Rt":"$70,221.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2541},"geometry":null},{"type":"Feature","id":2542,"properties":{"Name":"Link,Tommy C","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Battalion Fire Chief","Annual_Rt":"$95,722.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2542},"geometry":null},{"type":"Feature","id":2543,"properties":{"Name":"Summers,Willie N","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Battalion Fire Chief","Annual_Rt":"$95,722.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2543},"geometry":null},{"type":"Feature","id":2544,"properties":{"Name":"Wilson,Michael H","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Battalion Fire Chief","Annual_Rt":"$95,722.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2544},"geometry":null},{"type":"Feature","id":2545,"properties":{"Name":"Benson,Jerry D","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2545},"geometry":null},{"type":"Feature","id":2546,"properties":{"Name":"Clumpner,Michael D","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2546},"geometry":null},{"type":"Feature","id":2547,"properties":{"Name":"Hopkins,Jeffrey A","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2547},"geometry":null},{"type":"Feature","id":2548,"properties":{"Name":"Hunter,Michael L","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2548},"geometry":null},{"type":"Feature","id":2549,"properties":{"Name":"Stiles,Bradford S","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2549},"geometry":null},{"type":"Feature","id":2550,"properties":{"Name":"Watts,Jimmy H","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2550},"geometry":null},{"type":"Feature","id":2551,"properties":{"Name":"Gandy,David W","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2551},"geometry":null},{"type":"Feature","id":2552,"properties":{"Name":"Hutchison,R. Ryan","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$57,873.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2552},"geometry":null},{"type":"Feature","id":2553,"properties":{"Name":"Pridmore,Brian L","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2553},"geometry":null},{"type":"Feature","id":2554,"properties":{"Name":"Reagan,Matthew B","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2554},"geometry":null},{"type":"Feature","id":2555,"properties":{"Name":"Walker,Scott M","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2555},"geometry":null},{"type":"Feature","id":2556,"properties":{"Name":"Williams,Thomas R","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2556},"geometry":null},{"type":"Feature","id":2557,"properties":{"Name":"Calle,Henry Alberto","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter I","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2557},"geometry":null},{"type":"Feature","id":2558,"properties":{"Name":"Cipriano,Alexander Francesco","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2558},"geometry":null},{"type":"Feature","id":2559,"properties":{"Name":"Haley,Marcus Wayne","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2559},"geometry":null},{"type":"Feature","id":2560,"properties":{"Name":"McDaniel,Alex Steven","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2560},"geometry":null},{"type":"Feature","id":2561,"properties":{"Name":"Smith,Jared Wayne","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter I","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2561},"geometry":null},{"type":"Feature","id":2562,"properties":{"Name":"Alexander,George L","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter II","Annual_Rt":"$55,117.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2562},"geometry":null},{"type":"Feature","id":2563,"properties":{"Name":"Blumberg,Robert P","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2563},"geometry":null},{"type":"Feature","id":2564,"properties":{"Name":"Greist,Scott D.","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2564},"geometry":null},{"type":"Feature","id":2565,"properties":{"Name":"Hall III,Clayton Lonnie","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2565},"geometry":null},{"type":"Feature","id":2566,"properties":{"Name":"Jordan,Greggory Jon","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2566},"geometry":null},{"type":"Feature","id":2567,"properties":{"Name":"Lloyd,Jared Christian","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2567},"geometry":null},{"type":"Feature","id":2568,"properties":{"Name":"Robinette,Samuel M","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2568},"geometry":null},{"type":"Feature","id":2569,"properties":{"Name":"Tilley,Jason D.","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2569},"geometry":null},{"type":"Feature","id":2570,"properties":{"Name":"Tran,Lam Tan","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter II","Annual_Rt":"$52,461.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2570},"geometry":null},{"type":"Feature","id":2571,"properties":{"Name":"Watts,Michael Robert","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2571},"geometry":null},{"type":"Feature","id":2572,"properties":{"Name":"Wedrychowicz,Ryan Thomas","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2572},"geometry":null},{"type":"Feature","id":2573,"properties":{"Name":"Wiatrowski,Matthew A","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2573},"geometry":null},{"type":"Feature","id":2574,"properties":{"Name":"Wieczorek,Douglas G","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2574},"geometry":null},{"type":"Feature","id":2575,"properties":{"Name":"McClain,Thomas G","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Relief Captain","Annual_Rt":"$68,509.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2575},"geometry":null},{"type":"Feature","id":2576,"properties":{"Name":"Poole,Jeremy Davis","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Relief Captain","Annual_Rt":"$70,221.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2576},"geometry":null},{"type":"Feature","id":2577,"properties":{"Name":"Soto,JuanPablo","Unit":"Fire","Dept":"Fire Station 27","Job_Title":"Relief Captain","Annual_Rt":"$70,180.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2577},"geometry":null},{"type":"Feature","id":2578,"properties":{"Name":"Darnell,Phillip W","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2578},"geometry":null},{"type":"Feature","id":2579,"properties":{"Name":"Hamilton,Hoyt D","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2579},"geometry":null},{"type":"Feature","id":2580,"properties":{"Name":"Marrow,Melvin J","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2580},"geometry":null},{"type":"Feature","id":2581,"properties":{"Name":"Baucom,Paula D","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2581},"geometry":null},{"type":"Feature","id":2582,"properties":{"Name":"Honeycutt,Christopher E.","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2582},"geometry":null},{"type":"Feature","id":2583,"properties":{"Name":"Steele,Levi V","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2583},"geometry":null},{"type":"Feature","id":2584,"properties":{"Name":"Battle,Tremayne Deshawn","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2584},"geometry":null},{"type":"Feature","id":2585,"properties":{"Name":"Cunningham,Brian Tremmier","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2585},"geometry":null},{"type":"Feature","id":2586,"properties":{"Name":"Hitchcock,Aaron M","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2586},"geometry":null},{"type":"Feature","id":2587,"properties":{"Name":"Jones,Jeremy Dean","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2587},"geometry":null},{"type":"Feature","id":2588,"properties":{"Name":"Melillo Jr,Michael","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2588},"geometry":null},{"type":"Feature","id":2589,"properties":{"Name":"Nelson,Kelvin L","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2589},"geometry":null},{"type":"Feature","id":2590,"properties":{"Name":"Roy,Venessa Louise","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2590},"geometry":null},{"type":"Feature","id":2591,"properties":{"Name":"Sherrill,Christopher M.","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Fighter II","Annual_Rt":"$60,629.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2591},"geometry":null},{"type":"Feature","id":2592,"properties":{"Name":"Williams,Scott A.","Unit":"Fire","Dept":"Fire Station 28","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2592},"geometry":null},{"type":"Feature","id":2593,"properties":{"Name":"Couick,Jonathan K","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2593},"geometry":null},{"type":"Feature","id":2594,"properties":{"Name":"Decker,Joshua R","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2594},"geometry":null},{"type":"Feature","id":2595,"properties":{"Name":"Fitzgerald,Robert C","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2595},"geometry":null},{"type":"Feature","id":2596,"properties":{"Name":"Johnson,Troy C","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2596},"geometry":null},{"type":"Feature","id":2597,"properties":{"Name":"Osborne,Ellen D","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2597},"geometry":null},{"type":"Feature","id":2598,"properties":{"Name":"Rufert,Christopher S","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2598},"geometry":null},{"type":"Feature","id":2599,"properties":{"Name":"Bagley,Robert W","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2599},"geometry":null},{"type":"Feature","id":2600,"properties":{"Name":"Ennis,Deryl L","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2600},"geometry":null},{"type":"Feature","id":2601,"properties":{"Name":"Jernigan,Douglas L","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2601},"geometry":null},{"type":"Feature","id":2602,"properties":{"Name":"Lathan,David S","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2602},"geometry":null},{"type":"Feature","id":2603,"properties":{"Name":"Leclair,Jeff L","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2603},"geometry":null},{"type":"Feature","id":2604,"properties":{"Name":"McWhirter,Robert L","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2604},"geometry":null},{"type":"Feature","id":2605,"properties":{"Name":"Brown Jr,Mark Anthony","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2605},"geometry":null},{"type":"Feature","id":2606,"properties":{"Name":"Garon,Jessica","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2606},"geometry":null},{"type":"Feature","id":2607,"properties":{"Name":"Logan,Garrett Arthur","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2607},"geometry":null},{"type":"Feature","id":2608,"properties":{"Name":"Barnard,Betsy L","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2608},"geometry":null},{"type":"Feature","id":2609,"properties":{"Name":"Burns,William F","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2609},"geometry":null},{"type":"Feature","id":2610,"properties":{"Name":"Caskey,David M","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2610},"geometry":null},{"type":"Feature","id":2611,"properties":{"Name":"Freeman Jr,William F","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2611},"geometry":null},{"type":"Feature","id":2612,"properties":{"Name":"Garland,Terri Katherine","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2612},"geometry":null},{"type":"Feature","id":2613,"properties":{"Name":"Grigston,Ronald M","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2613},"geometry":null},{"type":"Feature","id":2614,"properties":{"Name":"Honeycutt,Jonathan H","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$57,707.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2614},"geometry":null},{"type":"Feature","id":2615,"properties":{"Name":"Lee,Samuel J","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2615},"geometry":null},{"type":"Feature","id":2616,"properties":{"Name":"McCullum,Steven A","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2616},"geometry":null},{"type":"Feature","id":2617,"properties":{"Name":"Mullis,Dale D","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2617},"geometry":null},{"type":"Feature","id":2618,"properties":{"Name":"Rojas,Fernando Daniel","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2618},"geometry":null},{"type":"Feature","id":2619,"properties":{"Name":"Snyder,Casey Byron","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2619},"geometry":null},{"type":"Feature","id":2620,"properties":{"Name":"Stikeleather,Chase Bradley","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2620},"geometry":null},{"type":"Feature","id":2621,"properties":{"Name":"Turpin III,Philip B","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2621},"geometry":null},{"type":"Feature","id":2622,"properties":{"Name":"Wood,Brian K.","Unit":"Fire","Dept":"Fire Station 29","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2622},"geometry":null},{"type":"Feature","id":2623,"properties":{"Name":"Billig,Thomas A","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2623},"geometry":null},{"type":"Feature","id":2624,"properties":{"Name":"Case,Joshua L","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2624},"geometry":null},{"type":"Feature","id":2625,"properties":{"Name":"Graham II,Robert W","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2625},"geometry":null},{"type":"Feature","id":2626,"properties":{"Name":"Lambeth,James K","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2626},"geometry":null},{"type":"Feature","id":2627,"properties":{"Name":"Lovett,Aaron N","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2627},"geometry":null},{"type":"Feature","id":2628,"properties":{"Name":"Withers,Eric C","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2628},"geometry":null},{"type":"Feature","id":2629,"properties":{"Name":"Dickson,Jason R","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$68,258.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2629},"geometry":null},{"type":"Feature","id":2630,"properties":{"Name":"Dixon,Jeffrey E","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2630},"geometry":null},{"type":"Feature","id":2631,"properties":{"Name":"Jamison,Ernest M","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2631},"geometry":null},{"type":"Feature","id":2632,"properties":{"Name":"Martin,Simon James","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2632},"geometry":null},{"type":"Feature","id":2633,"properties":{"Name":"McGinnis,Jon M","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2633},"geometry":null},{"type":"Feature","id":2634,"properties":{"Name":"McGuire,Kevin J","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2634},"geometry":null},{"type":"Feature","id":2635,"properties":{"Name":"Hoag,Kyle Sean","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2635},"geometry":null},{"type":"Feature","id":2636,"properties":{"Name":"Bowman,David R","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2636},"geometry":null},{"type":"Feature","id":2637,"properties":{"Name":"DePoto,Eric C","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2637},"geometry":null},{"type":"Feature","id":2638,"properties":{"Name":"Fulk,Bradley Wayne","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2638},"geometry":null},{"type":"Feature","id":2639,"properties":{"Name":"Haynes,Trina Louise","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2639},"geometry":null},{"type":"Feature","id":2640,"properties":{"Name":"Honeycutt,Brian K","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2640},"geometry":null},{"type":"Feature","id":2641,"properties":{"Name":"King,Christopher Allen","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2641},"geometry":null},{"type":"Feature","id":2642,"properties":{"Name":"Lazarus,Drew W","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$58,859.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2642},"geometry":null},{"type":"Feature","id":2643,"properties":{"Name":"Marro,Nicholas J","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$55,084.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2643},"geometry":null},{"type":"Feature","id":2644,"properties":{"Name":"Ransom,Timothy Alan","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2644},"geometry":null},{"type":"Feature","id":2645,"properties":{"Name":"Renner IV,John Benjamin","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2645},"geometry":null},{"type":"Feature","id":2646,"properties":{"Name":"Rooks,William Stacy","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$58,859.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2646},"geometry":null},{"type":"Feature","id":2647,"properties":{"Name":"Saraceno,Matthew B","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$57,423.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2647},"geometry":null},{"type":"Feature","id":2648,"properties":{"Name":"Shank,Kyle A","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2648},"geometry":null},{"type":"Feature","id":2649,"properties":{"Name":"Squittieri,James Edwards","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2649},"geometry":null},{"type":"Feature","id":2650,"properties":{"Name":"Stallings,Brantley Gray","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2650},"geometry":null},{"type":"Feature","id":2651,"properties":{"Name":"Tolbert,Gregory S.","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2651},"geometry":null},{"type":"Feature","id":2652,"properties":{"Name":"Walker,Matthew James","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$58,859.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2652},"geometry":null},{"type":"Feature","id":2653,"properties":{"Name":"Walling,Kevin Stewart","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2653},"geometry":null},{"type":"Feature","id":2654,"properties":{"Name":"Wood,Adam R","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2654},"geometry":null},{"type":"Feature","id":2655,"properties":{"Name":"Yow,Thomas E","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2655},"geometry":null},{"type":"Feature","id":2656,"properties":{"Name":"Dygert,Jonathan D","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Relief Captain","Annual_Rt":"$73,732.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2656},"geometry":null},{"type":"Feature","id":2657,"properties":{"Name":"Foltz,Derrick S","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Relief Captain","Annual_Rt":"$73,732.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2657},"geometry":null},{"type":"Feature","id":2658,"properties":{"Name":"Perry,Scott A","Unit":"Fire","Dept":"Fire Station 3","Job_Title":"Relief Captain","Annual_Rt":"$73,732.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2658},"geometry":null},{"type":"Feature","id":2659,"properties":{"Name":"Gunter,Philip A","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2659},"geometry":null},{"type":"Feature","id":2660,"properties":{"Name":"Jones,Terrell A","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2660},"geometry":null},{"type":"Feature","id":2661,"properties":{"Name":"Nastase,Jay E","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2661},"geometry":null},{"type":"Feature","id":2662,"properties":{"Name":"Hatley,Randy L","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2662},"geometry":null},{"type":"Feature","id":2663,"properties":{"Name":"Howell,John F","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2663},"geometry":null},{"type":"Feature","id":2664,"properties":{"Name":"Lemmond,Justin M","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$53,772.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2664},"geometry":null},{"type":"Feature","id":2665,"properties":{"Name":"Calloway,SeDrekus Antoine","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2665},"geometry":null},{"type":"Feature","id":2666,"properties":{"Name":"Fuller,Andre Demetris","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2666},"geometry":null},{"type":"Feature","id":2667,"properties":{"Name":"Harrison,James William","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2667},"geometry":null},{"type":"Feature","id":2668,"properties":{"Name":"Parnell,William Adam","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Fighter I","Annual_Rt":"$39,124.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2668},"geometry":null},{"type":"Feature","id":2669,"properties":{"Name":"Williams,Dustin Patrick","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Fighter I","Annual_Rt":"$41,080.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2669},"geometry":null},{"type":"Feature","id":2670,"properties":{"Name":"Dawkins,Michael A","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2670},"geometry":null},{"type":"Feature","id":2671,"properties":{"Name":"Hager,Tyrone L","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2671},"geometry":null},{"type":"Feature","id":2672,"properties":{"Name":"Hall,Leyungio Stagalee","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2672},"geometry":null},{"type":"Feature","id":2673,"properties":{"Name":"Watts,Gregory Ryan","Unit":"Fire","Dept":"Fire Station 30","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2673},"geometry":null},{"type":"Feature","id":2674,"properties":{"Name":"Herte,Sean E","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2674},"geometry":null},{"type":"Feature","id":2675,"properties":{"Name":"Holiman,Gregg A","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2675},"geometry":null},{"type":"Feature","id":2676,"properties":{"Name":"Morris Jr,Charlie D","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2676},"geometry":null},{"type":"Feature","id":2677,"properties":{"Name":"Riddle Jr,Robert C.","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2677},"geometry":null},{"type":"Feature","id":2678,"properties":{"Name":"Whitson,Martin A","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2678},"geometry":null},{"type":"Feature","id":2679,"properties":{"Name":"Wilkes,Jackie","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2679},"geometry":null},{"type":"Feature","id":2680,"properties":{"Name":"Brown,Kelly R","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2680},"geometry":null},{"type":"Feature","id":2681,"properties":{"Name":"Brown,Steven A","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2681},"geometry":null},{"type":"Feature","id":2682,"properties":{"Name":"Fields,William S.","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2682},"geometry":null},{"type":"Feature","id":2683,"properties":{"Name":"Hager,Joseph E","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$60,803.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2683},"geometry":null},{"type":"Feature","id":2684,"properties":{"Name":"McGee,Brian N","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2684},"geometry":null},{"type":"Feature","id":2685,"properties":{"Name":"Merritt,Jason R","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2685},"geometry":null},{"type":"Feature","id":2686,"properties":{"Name":"Auten,Kevin Jamison","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2686},"geometry":null},{"type":"Feature","id":2687,"properties":{"Name":"Barber,Ranon Omar","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter I","Annual_Rt":"$43,036.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2687},"geometry":null},{"type":"Feature","id":2688,"properties":{"Name":"Davis,Nicholas Eugene","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2688},"geometry":null},{"type":"Feature","id":2689,"properties":{"Name":"Goodwin,Brenton Shawn","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter I","Annual_Rt":"$43,036.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2689},"geometry":null},{"type":"Feature","id":2690,"properties":{"Name":"Hester,Ryan Lee","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2690},"geometry":null},{"type":"Feature","id":2691,"properties":{"Name":"Landrum,Senterrio Mandriel","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2691},"geometry":null},{"type":"Feature","id":2692,"properties":{"Name":"Lemmond,Colby Wriston","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter I","Annual_Rt":"$39,124.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2692},"geometry":null},{"type":"Feature","id":2693,"properties":{"Name":"Rodriguez Jr,Carlos Roberto","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter I","Annual_Rt":"$41,080.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2693},"geometry":null},{"type":"Feature","id":2694,"properties":{"Name":"Tuttle,Maurice Malcom-Tramine","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2694},"geometry":null},{"type":"Feature","id":2695,"properties":{"Name":"Wilson,Ryan M","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2695},"geometry":null},{"type":"Feature","id":2696,"properties":{"Name":"Armstrong,Darrell K","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2696},"geometry":null},{"type":"Feature","id":2697,"properties":{"Name":"Coleman Jr,James E","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2697},"geometry":null},{"type":"Feature","id":2698,"properties":{"Name":"Ely,Austin Robert","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2698},"geometry":null},{"type":"Feature","id":2699,"properties":{"Name":"Ferrell,Paul Lee","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter II","Annual_Rt":"$45,291.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2699},"geometry":null},{"type":"Feature","id":2700,"properties":{"Name":"Johnston,Timothy G","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2700},"geometry":null},{"type":"Feature","id":2701,"properties":{"Name":"Dimmick,Fields M","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2701},"geometry":null},{"type":"Feature","id":2702,"properties":{"Name":"McIntosh,Darin Troy","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2702},"geometry":null},{"type":"Feature","id":2703,"properties":{"Name":"Richardson,Travis D","Unit":"Fire","Dept":"Fire Station 31","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2703},"geometry":null},{"type":"Feature","id":2704,"properties":{"Name":"Fullam,Matthew J.","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2704},"geometry":null},{"type":"Feature","id":2705,"properties":{"Name":"Honaker,Matthew V.","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2705},"geometry":null},{"type":"Feature","id":2706,"properties":{"Name":"Horne,Charles S","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2706},"geometry":null},{"type":"Feature","id":2707,"properties":{"Name":"Mitchum II,David M","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2707},"geometry":null},{"type":"Feature","id":2708,"properties":{"Name":"Taylor,Maurice A.","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2708},"geometry":null},{"type":"Feature","id":2709,"properties":{"Name":"Teague,Timothy W","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2709},"geometry":null},{"type":"Feature","id":2710,"properties":{"Name":"Ligon,William M","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2710},"geometry":null},{"type":"Feature","id":2711,"properties":{"Name":"Parker,Michael D.","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$60,803.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2711},"geometry":null},{"type":"Feature","id":2712,"properties":{"Name":"Robitaille,Todd T","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2712},"geometry":null},{"type":"Feature","id":2713,"properties":{"Name":"Schott,Kenneth P","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2713},"geometry":null},{"type":"Feature","id":2714,"properties":{"Name":"Staker,Mark A","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2714},"geometry":null},{"type":"Feature","id":2715,"properties":{"Name":"Vogel,Michael W","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2715},"geometry":null},{"type":"Feature","id":2716,"properties":{"Name":"Gordon,Kevin Alexander","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter I","Annual_Rt":"$43,036.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2716},"geometry":null},{"type":"Feature","id":2717,"properties":{"Name":"Hayden,Travis Lavar","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter I","Annual_Rt":"$43,036.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2717},"geometry":null},{"type":"Feature","id":2718,"properties":{"Name":"Long,Jeffrey Darrell","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter I","Annual_Rt":"$45,291.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2718},"geometry":null},{"type":"Feature","id":2719,"properties":{"Name":"Ashe,Timothy Lynn","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2719},"geometry":null},{"type":"Feature","id":2720,"properties":{"Name":"Ayscue,David A","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2720},"geometry":null},{"type":"Feature","id":2721,"properties":{"Name":"Baretsky,Peter","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2721},"geometry":null},{"type":"Feature","id":2722,"properties":{"Name":"Briggs,Timothy A","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$57,873.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2722},"geometry":null},{"type":"Feature","id":2723,"properties":{"Name":"Brooks,Jared Matthew","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2723},"geometry":null},{"type":"Feature","id":2724,"properties":{"Name":"Carroll Jr,Jimmie Edward","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$64,969.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2724},"geometry":null},{"type":"Feature","id":2725,"properties":{"Name":"Holcomb,Nathan James","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2725},"geometry":null},{"type":"Feature","id":2726,"properties":{"Name":"Kahdemann,Stefan","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2726},"geometry":null},{"type":"Feature","id":2727,"properties":{"Name":"Lopez,James","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2727},"geometry":null},{"type":"Feature","id":2728,"properties":{"Name":"Manning,Judge Bryant","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$52,084.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2728},"geometry":null},{"type":"Feature","id":2729,"properties":{"Name":"McBryde,Teresa L","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2729},"geometry":null},{"type":"Feature","id":2730,"properties":{"Name":"Rennie,Steven J","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2730},"geometry":null},{"type":"Feature","id":2731,"properties":{"Name":"Strickland,Christopher R.","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2731},"geometry":null},{"type":"Feature","id":2732,"properties":{"Name":"Williams,Steven J","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2732},"geometry":null},{"type":"Feature","id":2733,"properties":{"Name":"Wolfe,Vincent James","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Fire Fighter II","Annual_Rt":"$57,873.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2733},"geometry":null},{"type":"Feature","id":2734,"properties":{"Name":"Hensley Jr,Gary Lee","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Relief Captain","Annual_Rt":"$70,180.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2734},"geometry":null},{"type":"Feature","id":2735,"properties":{"Name":"Hooker,George B","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Relief Captain","Annual_Rt":"$73,732.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2735},"geometry":null},{"type":"Feature","id":2736,"properties":{"Name":"Jones III,Charles Eugene","Unit":"Fire","Dept":"Fire Station 32","Job_Title":"Relief Captain","Annual_Rt":"$71,934.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2736},"geometry":null},{"type":"Feature","id":2737,"properties":{"Name":"Cherry,Joel Max","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2737},"geometry":null},{"type":"Feature","id":2738,"properties":{"Name":"Farrell,Vincent D.","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2738},"geometry":null},{"type":"Feature","id":2739,"properties":{"Name":"Huffman,Marcus Ian","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2739},"geometry":null},{"type":"Feature","id":2740,"properties":{"Name":"Melton,Charles E","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2740},"geometry":null},{"type":"Feature","id":2741,"properties":{"Name":"Richards,Steven B","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2741},"geometry":null},{"type":"Feature","id":2742,"properties":{"Name":"Small,Michael A","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2742},"geometry":null},{"type":"Feature","id":2743,"properties":{"Name":"Blythe Jr,Floyd M","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2743},"geometry":null},{"type":"Feature","id":2744,"properties":{"Name":"Cooper,Tony G","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2744},"geometry":null},{"type":"Feature","id":2745,"properties":{"Name":"Keistler,Gregg A","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2745},"geometry":null},{"type":"Feature","id":2746,"properties":{"Name":"Plemmons,Jeffrey F","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2746},"geometry":null},{"type":"Feature","id":2747,"properties":{"Name":"Stroup,Michael T","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2747},"geometry":null},{"type":"Feature","id":2748,"properties":{"Name":"Warlick,John R","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2748},"geometry":null},{"type":"Feature","id":2749,"properties":{"Name":"Beacham,John Harwood","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter I","Annual_Rt":"$43,036.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2749},"geometry":null},{"type":"Feature","id":2750,"properties":{"Name":"Daniel,Madeline April","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter I","Annual_Rt":"$39,124.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2750},"geometry":null},{"type":"Feature","id":2751,"properties":{"Name":"Hines,Joshua Caleb","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter I","Annual_Rt":"$43,036.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2751},"geometry":null},{"type":"Feature","id":2752,"properties":{"Name":"Irvin,Brent Olin","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2752},"geometry":null},{"type":"Feature","id":2753,"properties":{"Name":"Leigh,Amanda Rae","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter I","Annual_Rt":"$43,036.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2753},"geometry":null},{"type":"Feature","id":2754,"properties":{"Name":"Marks,Lucas Spencer","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter I","Annual_Rt":"$45,291.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2754},"geometry":null},{"type":"Feature","id":2755,"properties":{"Name":"Parks,Alan Gary","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter I","Annual_Rt":"$43,036.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2755},"geometry":null},{"type":"Feature","id":2756,"properties":{"Name":"Shank,Kelley Wayne","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2756},"geometry":null},{"type":"Feature","id":2757,"properties":{"Name":"Bell,Stuart D.","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter II","Annual_Rt":"$60,629.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2757},"geometry":null},{"type":"Feature","id":2758,"properties":{"Name":"Chapman Jr,Ronald E","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2758},"geometry":null},{"type":"Feature","id":2759,"properties":{"Name":"Cornette,Adrian L","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2759},"geometry":null},{"type":"Feature","id":2760,"properties":{"Name":"Cunningham,Robert B","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2760},"geometry":null},{"type":"Feature","id":2761,"properties":{"Name":"Long,Kimani Anthony","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2761},"geometry":null},{"type":"Feature","id":2762,"properties":{"Name":"Mahaley Jr,Benjamin Rhett","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2762},"geometry":null},{"type":"Feature","id":2763,"properties":{"Name":"McKee,Justin Lee","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2763},"geometry":null},{"type":"Feature","id":2764,"properties":{"Name":"Reid,Harold J","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2764},"geometry":null},{"type":"Feature","id":2765,"properties":{"Name":"Robinette,Bradley C","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter II","Annual_Rt":"$55,117.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2765},"geometry":null},{"type":"Feature","id":2766,"properties":{"Name":"Smith Jr,Ronald Earl","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2766},"geometry":null},{"type":"Feature","id":2767,"properties":{"Name":"Story,Kevin R","Unit":"Fire","Dept":"Fire Station 33","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2767},"geometry":null},{"type":"Feature","id":2768,"properties":{"Name":"Beatty,Anthony E","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2768},"geometry":null},{"type":"Feature","id":2769,"properties":{"Name":"Smith,Mark B","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2769},"geometry":null},{"type":"Feature","id":2770,"properties":{"Name":"Wright,Larry DeWayne","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2770},"geometry":null},{"type":"Feature","id":2771,"properties":{"Name":"Cook,Jeffery A","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2771},"geometry":null},{"type":"Feature","id":2772,"properties":{"Name":"Moorefield,Garry L","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2772},"geometry":null},{"type":"Feature","id":2773,"properties":{"Name":"Rubright,Clint W","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2773},"geometry":null},{"type":"Feature","id":2774,"properties":{"Name":"Allen,Bradley C","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2774},"geometry":null},{"type":"Feature","id":2775,"properties":{"Name":"Matthews,Travis Dwayne","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2775},"geometry":null},{"type":"Feature","id":2776,"properties":{"Name":"Greene,Christopher D","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2776},"geometry":null},{"type":"Feature","id":2777,"properties":{"Name":"Jones,Derrick L","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2777},"geometry":null},{"type":"Feature","id":2778,"properties":{"Name":"Kimrey,Philip S","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2778},"geometry":null},{"type":"Feature","id":2779,"properties":{"Name":"McCraven,Jamie L","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2779},"geometry":null},{"type":"Feature","id":2780,"properties":{"Name":"McLaughlin,Ben D","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2780},"geometry":null},{"type":"Feature","id":2781,"properties":{"Name":"Miller,Reed Andrew","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2781},"geometry":null},{"type":"Feature","id":2782,"properties":{"Name":"Mincey,Brent J.","Unit":"Fire","Dept":"Fire Station 34","Job_Title":"Fire Fighter II","Annual_Rt":"$55,084.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2782},"geometry":null},{"type":"Feature","id":2783,"properties":{"Name":"Moses,Kevin R","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2783},"geometry":null},{"type":"Feature","id":2784,"properties":{"Name":"Paramore,Darwin E","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2784},"geometry":null},{"type":"Feature","id":2785,"properties":{"Name":"Reames,Ronald C","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2785},"geometry":null},{"type":"Feature","id":2786,"properties":{"Name":"Hanline,Mark C","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2786},"geometry":null},{"type":"Feature","id":2787,"properties":{"Name":"Holt,Mitchell V","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2787},"geometry":null},{"type":"Feature","id":2788,"properties":{"Name":"Taylor,Lawrence J","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2788},"geometry":null},{"type":"Feature","id":2789,"properties":{"Name":"Eury III,John Jacob","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Fighter I","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2789},"geometry":null},{"type":"Feature","id":2790,"properties":{"Name":"Grant,Rashad A.","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2790},"geometry":null},{"type":"Feature","id":2791,"properties":{"Name":"Isenhour,James Brett","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2791},"geometry":null},{"type":"Feature","id":2792,"properties":{"Name":"Carter,Michael S","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2792},"geometry":null},{"type":"Feature","id":2793,"properties":{"Name":"Hart,Brandon Scott","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2793},"geometry":null},{"type":"Feature","id":2794,"properties":{"Name":"LaPiana,Mark S","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2794},"geometry":null},{"type":"Feature","id":2795,"properties":{"Name":"Newell,Richard Dearmond","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Fighter II","Annual_Rt":"$57,873.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2795},"geometry":null},{"type":"Feature","id":2796,"properties":{"Name":"Sain,Scott M","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2796},"geometry":null},{"type":"Feature","id":2797,"properties":{"Name":"Tobias,W Adam","Unit":"Fire","Dept":"Fire Station 35","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2797},"geometry":null},{"type":"Feature","id":2798,"properties":{"Name":"Blake,Eric B","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2798},"geometry":null},{"type":"Feature","id":2799,"properties":{"Name":"Jolly Jr,Wendell M","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2799},"geometry":null},{"type":"Feature","id":2800,"properties":{"Name":"Merriwether,Douglas K","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2800},"geometry":null},{"type":"Feature","id":2801,"properties":{"Name":"English,Devane N","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2801},"geometry":null},{"type":"Feature","id":2802,"properties":{"Name":"Mingus,Christopher L","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2802},"geometry":null},{"type":"Feature","id":2803,"properties":{"Name":"Springs,Dequintin R.","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2803},"geometry":null},{"type":"Feature","id":2804,"properties":{"Name":"Blumberg,Joseph Brent","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2804},"geometry":null},{"type":"Feature","id":2805,"properties":{"Name":"Anderson,Gary Michael","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Fighter II","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2805},"geometry":null},{"type":"Feature","id":2806,"properties":{"Name":"Butler,Terry Sean","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Fighter II","Annual_Rt":"$52,461.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2806},"geometry":null},{"type":"Feature","id":2807,"properties":{"Name":"Forsythe Jr,Otis Glenn","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2807},"geometry":null},{"type":"Feature","id":2808,"properties":{"Name":"Hall,Danny L","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2808},"geometry":null},{"type":"Feature","id":2809,"properties":{"Name":"Martin Jr,Henry D","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2809},"geometry":null},{"type":"Feature","id":2810,"properties":{"Name":"Ortiz Jr,Jose","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2810},"geometry":null},{"type":"Feature","id":2811,"properties":{"Name":"Peters,Damian L","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2811},"geometry":null},{"type":"Feature","id":2812,"properties":{"Name":"Puckett,Marty J","Unit":"Fire","Dept":"Fire Station 36","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2812},"geometry":null},{"type":"Feature","id":2813,"properties":{"Name":"Causby Jr,Barry D","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2813},"geometry":null},{"type":"Feature","id":2814,"properties":{"Name":"Matthews,Jeffrey S","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2814},"geometry":null},{"type":"Feature","id":2815,"properties":{"Name":"Ratchford,Troy A","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2815},"geometry":null},{"type":"Feature","id":2816,"properties":{"Name":"Miller III,James R","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2816},"geometry":null},{"type":"Feature","id":2817,"properties":{"Name":"Nally,Kevin J","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2817},"geometry":null},{"type":"Feature","id":2818,"properties":{"Name":"Turner,Richard C","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2818},"geometry":null},{"type":"Feature","id":2819,"properties":{"Name":"Capps Jr,Samuel Robert","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2819},"geometry":null},{"type":"Feature","id":2820,"properties":{"Name":"Carter,Michael L","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2820},"geometry":null},{"type":"Feature","id":2821,"properties":{"Name":"Cichy Jr,Kenneth Allen","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2821},"geometry":null},{"type":"Feature","id":2822,"properties":{"Name":"Davis,Anthony","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2822},"geometry":null},{"type":"Feature","id":2823,"properties":{"Name":"Furr,John S","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2823},"geometry":null},{"type":"Feature","id":2824,"properties":{"Name":"George,Dana F","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2824},"geometry":null},{"type":"Feature","id":2825,"properties":{"Name":"Henson,Jody L","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2825},"geometry":null},{"type":"Feature","id":2826,"properties":{"Name":"Lawson,Daniel","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2826},"geometry":null},{"type":"Feature","id":2827,"properties":{"Name":"Worley,Kenneth D","Unit":"Fire","Dept":"Fire Station 37","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2827},"geometry":null},{"type":"Feature","id":2828,"properties":{"Name":"Cuff,Dale A","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2828},"geometry":null},{"type":"Feature","id":2829,"properties":{"Name":"Jackson,Jonathan D","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2829},"geometry":null},{"type":"Feature","id":2830,"properties":{"Name":"Sawyer,Rodney B","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Captain","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2830},"geometry":null},{"type":"Feature","id":2831,"properties":{"Name":"Ledford,Mark L","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2831},"geometry":null},{"type":"Feature","id":2832,"properties":{"Name":"Nastase,Robert T","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$68,258.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2832},"geometry":null},{"type":"Feature","id":2833,"properties":{"Name":"Petrea,William F","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2833},"geometry":null},{"type":"Feature","id":2834,"properties":{"Name":"Hibbs,Tyson Lee","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Fighter I","Annual_Rt":"$49,604.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2834},"geometry":null},{"type":"Feature","id":2835,"properties":{"Name":"Parks,Cory Ryan","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2835},"geometry":null},{"type":"Feature","id":2836,"properties":{"Name":"Reynolds,Dustin Eric","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Fighter I","Annual_Rt":"$49,604.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2836},"geometry":null},{"type":"Feature","id":2837,"properties":{"Name":"Boesmiller,Mark Timothy","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2837},"geometry":null},{"type":"Feature","id":2838,"properties":{"Name":"Lee,Kathleen Anne","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Fighter II","Annual_Rt":"$58,859.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2838},"geometry":null},{"type":"Feature","id":2839,"properties":{"Name":"Locklair,Daniel A.","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2839},"geometry":null},{"type":"Feature","id":2840,"properties":{"Name":"Marler,Jonathan M.","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2840},"geometry":null},{"type":"Feature","id":2841,"properties":{"Name":"Unnasch,David L","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2841},"geometry":null},{"type":"Feature","id":2842,"properties":{"Name":"Wright,Thomas M","Unit":"Fire","Dept":"Fire Station 38","Job_Title":"Fire Fighter II","Annual_Rt":"$57,873.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2842},"geometry":null},{"type":"Feature","id":2843,"properties":{"Name":"Beam,Barbara A","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Battalion Fire Chief","Annual_Rt":"$92,934.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2843},"geometry":null},{"type":"Feature","id":2844,"properties":{"Name":"Moore,Daniel C","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Battalion Fire Chief","Annual_Rt":"$95,722.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2844},"geometry":null},{"type":"Feature","id":2845,"properties":{"Name":"Winkles,Jerry A","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Battalion Fire Chief","Annual_Rt":"$92,934.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2845},"geometry":null},{"type":"Feature","id":2846,"properties":{"Name":"Bell,Terry W","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2846},"geometry":null},{"type":"Feature","id":2847,"properties":{"Name":"Cruey,Jerry D","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2847},"geometry":null},{"type":"Feature","id":2848,"properties":{"Name":"Hasty,Glyn S","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2848},"geometry":null},{"type":"Feature","id":2849,"properties":{"Name":"Carriker IV,John A","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2849},"geometry":null},{"type":"Feature","id":2850,"properties":{"Name":"Morris,Todd S","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2850},"geometry":null},{"type":"Feature","id":2851,"properties":{"Name":"Sharpe,William E.","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2851},"geometry":null},{"type":"Feature","id":2852,"properties":{"Name":"Davis,Cody Lyle","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2852},"geometry":null},{"type":"Feature","id":2853,"properties":{"Name":"Love II,Walter Raymond","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Fighter I","Annual_Rt":"$39,124.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2853},"geometry":null},{"type":"Feature","id":2854,"properties":{"Name":"Alwran,Shawn Layne","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Fighter II","Annual_Rt":"$55,117.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2854},"geometry":null},{"type":"Feature","id":2855,"properties":{"Name":"Burch,Randall Douglas","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2855},"geometry":null},{"type":"Feature","id":2856,"properties":{"Name":"Clark,Jason S","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Fighter II","Annual_Rt":"$57,873.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2856},"geometry":null},{"type":"Feature","id":2857,"properties":{"Name":"Dowdey,Paul William","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2857},"geometry":null},{"type":"Feature","id":2858,"properties":{"Name":"Haney,Keith Michael","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2858},"geometry":null},{"type":"Feature","id":2859,"properties":{"Name":"King,Paul S","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2859},"geometry":null},{"type":"Feature","id":2860,"properties":{"Name":"Nixon,Jeffrey G","Unit":"Fire","Dept":"Fire Station 39","Job_Title":"Fire Fighter II","Annual_Rt":"$57,707.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2860},"geometry":null},{"type":"Feature","id":2861,"properties":{"Name":"Cox,Marc K","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2861},"geometry":null},{"type":"Feature","id":2862,"properties":{"Name":"Hardin,Denver S","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2862},"geometry":null},{"type":"Feature","id":2863,"properties":{"Name":"Keffer,John M","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2863},"geometry":null},{"type":"Feature","id":2864,"properties":{"Name":"Killian Jr,James H","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2864},"geometry":null},{"type":"Feature","id":2865,"properties":{"Name":"Schellhase,Cory L","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2865},"geometry":null},{"type":"Feature","id":2866,"properties":{"Name":"Whitener,David L","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2866},"geometry":null},{"type":"Feature","id":2867,"properties":{"Name":"Hunning,Richard Chadwick","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$57,907.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2867},"geometry":null},{"type":"Feature","id":2868,"properties":{"Name":"King Jr,David A","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2868},"geometry":null},{"type":"Feature","id":2869,"properties":{"Name":"Lindley,Andrew P","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2869},"geometry":null},{"type":"Feature","id":2870,"properties":{"Name":"Robinette,James M","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2870},"geometry":null},{"type":"Feature","id":2871,"properties":{"Name":"Tombaugh,Andrew J","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2871},"geometry":null},{"type":"Feature","id":2872,"properties":{"Name":"Torrence,Darel A","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2872},"geometry":null},{"type":"Feature","id":2873,"properties":{"Name":"Carow,Matthew Steven","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2873},"geometry":null},{"type":"Feature","id":2874,"properties":{"Name":"Homan,John Kevin","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2874},"geometry":null},{"type":"Feature","id":2875,"properties":{"Name":"McCarn,Jarad Thomas","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter I","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2875},"geometry":null},{"type":"Feature","id":2876,"properties":{"Name":"Clingerman,Kyle Geoffrey","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2876},"geometry":null},{"type":"Feature","id":2877,"properties":{"Name":"Darge,Kevin M.","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2877},"geometry":null},{"type":"Feature","id":2878,"properties":{"Name":"Folk,Michael B","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2878},"geometry":null},{"type":"Feature","id":2879,"properties":{"Name":"Holland,William L","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2879},"geometry":null},{"type":"Feature","id":2880,"properties":{"Name":"Jefferies,Thomas Jason","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2880},"geometry":null},{"type":"Feature","id":2881,"properties":{"Name":"Johnson,Joshua D","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2881},"geometry":null},{"type":"Feature","id":2882,"properties":{"Name":"Joyner,Brian C","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2882},"geometry":null},{"type":"Feature","id":2883,"properties":{"Name":"Justice,William Kyle","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2883},"geometry":null},{"type":"Feature","id":2884,"properties":{"Name":"Lambert,David Timothy","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2884},"geometry":null},{"type":"Feature","id":2885,"properties":{"Name":"McNay,Anthony King","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2885},"geometry":null},{"type":"Feature","id":2886,"properties":{"Name":"Phillips,Travis Lee","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2886},"geometry":null},{"type":"Feature","id":2887,"properties":{"Name":"Price,Jerry K","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2887},"geometry":null},{"type":"Feature","id":2888,"properties":{"Name":"Rudisill,Nicky J","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2888},"geometry":null},{"type":"Feature","id":2889,"properties":{"Name":"Summerville,David Travis","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2889},"geometry":null},{"type":"Feature","id":2890,"properties":{"Name":"Tarsia Jr,John S","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2890},"geometry":null},{"type":"Feature","id":2891,"properties":{"Name":"Ashe,Christopher N","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Relief Captain","Annual_Rt":"$68,509.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2891},"geometry":null},{"type":"Feature","id":2892,"properties":{"Name":"Harwell,Joseph Russell","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2892},"geometry":null},{"type":"Feature","id":2893,"properties":{"Name":"Wallace,Rahragus Teray","Unit":"Fire","Dept":"Fire Station 4","Job_Title":"Relief Captain","Annual_Rt":"$68,509.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2893},"geometry":null},{"type":"Feature","id":2894,"properties":{"Name":"Arrington,Dillard R.","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2894},"geometry":null},{"type":"Feature","id":2895,"properties":{"Name":"Bumgarner,Jeremy P","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2895},"geometry":null},{"type":"Feature","id":2896,"properties":{"Name":"Collier,DiAnn Marie","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2896},"geometry":null},{"type":"Feature","id":2897,"properties":{"Name":"Hawley Jr,John A","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2897},"geometry":null},{"type":"Feature","id":2898,"properties":{"Name":"Honeycutt,Robert L","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2898},"geometry":null},{"type":"Feature","id":2899,"properties":{"Name":"Duncan,William B","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2899},"geometry":null},{"type":"Feature","id":2900,"properties":{"Name":"Hendrick,William D","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2900},"geometry":null},{"type":"Feature","id":2901,"properties":{"Name":"Kimbrell,Eddie W","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2901},"geometry":null},{"type":"Feature","id":2902,"properties":{"Name":"Queen Jr,Garland William","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2902},"geometry":null},{"type":"Feature","id":2903,"properties":{"Name":"Scaggs,Denver C","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2903},"geometry":null},{"type":"Feature","id":2904,"properties":{"Name":"Styron,Timothy Lamar","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$56,461.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2904},"geometry":null},{"type":"Feature","id":2905,"properties":{"Name":"Barringer,Matthew Levi","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2905},"geometry":null},{"type":"Feature","id":2906,"properties":{"Name":"Bingler,Richard Scott","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2906},"geometry":null},{"type":"Feature","id":2907,"properties":{"Name":"Hall,Casey Alonzo","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2907},"geometry":null},{"type":"Feature","id":2908,"properties":{"Name":"Huffman,Dustin Tracy","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter I","Annual_Rt":"$43,036.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2908},"geometry":null},{"type":"Feature","id":2909,"properties":{"Name":"Howie,Donald Jason","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter I","Annual_Rt":"$43,036.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2909},"geometry":null},{"type":"Feature","id":2910,"properties":{"Name":"Meadows,Hunter C","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter I","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2910},"geometry":null},{"type":"Feature","id":2911,"properties":{"Name":"Rockholt,Roddy Jack","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter I","Annual_Rt":"$45,291.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2911},"geometry":null},{"type":"Feature","id":2912,"properties":{"Name":"Royal III,Daniel W","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter I","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2912},"geometry":null},{"type":"Feature","id":2913,"properties":{"Name":"Ward,Amanda Lee","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter I","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2913},"geometry":null},{"type":"Feature","id":2914,"properties":{"Name":"Batchelor,Mark G","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2914},"geometry":null},{"type":"Feature","id":2915,"properties":{"Name":"Beteta,Carlos P","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2915},"geometry":null},{"type":"Feature","id":2916,"properties":{"Name":"Hager,Stevie Bernard","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2916},"geometry":null},{"type":"Feature","id":2917,"properties":{"Name":"Kell Jr,Daniel B","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2917},"geometry":null},{"type":"Feature","id":2918,"properties":{"Name":"Marron,Gregory E.","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter II","Annual_Rt":"$60,629.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2918},"geometry":null},{"type":"Feature","id":2919,"properties":{"Name":"Lail,Jeffrey B","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2919},"geometry":null},{"type":"Feature","id":2920,"properties":{"Name":"Medina,Frangey Edward","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter II","Annual_Rt":"$60,330.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2920},"geometry":null},{"type":"Feature","id":2921,"properties":{"Name":"Spratling,Ryan S","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter II","Annual_Rt":"$55,084.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2921},"geometry":null},{"type":"Feature","id":2922,"properties":{"Name":"Anderson Jr,Larkin","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2922},"geometry":null},{"type":"Feature","id":2923,"properties":{"Name":"White,Timothy E","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2923},"geometry":null},{"type":"Feature","id":2924,"properties":{"Name":"Harthorne,Israel Jeremiah","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2924},"geometry":null},{"type":"Feature","id":2925,"properties":{"Name":"Baldwin,Maos R","Unit":"Fire","Dept":"Fire Station 40","Job_Title":"Relief Captain","Annual_Rt":"$66,838.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2925},"geometry":null},{"type":"Feature","id":2926,"properties":{"Name":"Cobb,William J","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2926},"geometry":null},{"type":"Feature","id":2927,"properties":{"Name":"Cooper,Darrick D","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2927},"geometry":null},{"type":"Feature","id":2928,"properties":{"Name":"Kelly,Eric M","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2928},"geometry":null},{"type":"Feature","id":2929,"properties":{"Name":"Redden,Jeffrey B","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Captain","Annual_Rt":"$73,733.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2929},"geometry":null},{"type":"Feature","id":2930,"properties":{"Name":"Todd Jr,William A","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2930},"geometry":null},{"type":"Feature","id":2931,"properties":{"Name":"Vanhoy,Charles E","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2931},"geometry":null},{"type":"Feature","id":2932,"properties":{"Name":"Austin,Alan J","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2932},"geometry":null},{"type":"Feature","id":2933,"properties":{"Name":"Chaput,Gabriel","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2933},"geometry":null},{"type":"Feature","id":2934,"properties":{"Name":"Grissom,John L","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2934},"geometry":null},{"type":"Feature","id":2935,"properties":{"Name":"Miller,Curtis W","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2935},"geometry":null},{"type":"Feature","id":2936,"properties":{"Name":"Erwin,Wayne L","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2936},"geometry":null},{"type":"Feature","id":2937,"properties":{"Name":"Myers,Barry L","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2937},"geometry":null},{"type":"Feature","id":2938,"properties":{"Name":"Raulerson,Mark E","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2938},"geometry":null},{"type":"Feature","id":2939,"properties":{"Name":"Stanley,Michael D","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2939},"geometry":null},{"type":"Feature","id":2940,"properties":{"Name":"Yount,Kelly T.","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2940},"geometry":null},{"type":"Feature","id":2941,"properties":{"Name":"Collins,Tyrik Kawan","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter I","Annual_Rt":"$39,124.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2941},"geometry":null},{"type":"Feature","id":2942,"properties":{"Name":"Polk,Jonathan Vincent","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter I","Annual_Rt":"$39,124.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2942},"geometry":null},{"type":"Feature","id":2943,"properties":{"Name":"Feneis,Michael Richard","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter I","Annual_Rt":"$39,124.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2943},"geometry":null},{"type":"Feature","id":2944,"properties":{"Name":"Adkins,Randel D.","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2944},"geometry":null},{"type":"Feature","id":2945,"properties":{"Name":"Anthony,Stafford J","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2945},"geometry":null},{"type":"Feature","id":2946,"properties":{"Name":"Heyward,Dwayne A","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2946},"geometry":null},{"type":"Feature","id":2947,"properties":{"Name":"McGill,Jeffery Q","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2947},"geometry":null},{"type":"Feature","id":2948,"properties":{"Name":"Murphy,Gregory R","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2948},"geometry":null},{"type":"Feature","id":2949,"properties":{"Name":"Newell,Warren","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter II","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2949},"geometry":null},{"type":"Feature","id":2950,"properties":{"Name":"Overcash,Cindy D","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2950},"geometry":null},{"type":"Feature","id":2951,"properties":{"Name":"Pate,Scottie L.","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2951},"geometry":null},{"type":"Feature","id":2952,"properties":{"Name":"Price Jr,Dennis R","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2952},"geometry":null},{"type":"Feature","id":2953,"properties":{"Name":"Taylor,Mark A","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2953},"geometry":null},{"type":"Feature","id":2954,"properties":{"Name":"Thompson,Bradley O","Unit":"Fire","Dept":"Fire Station 41","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2954},"geometry":null},{"type":"Feature","id":2955,"properties":{"Name":"Bonham,Cynthia D","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Battalion Fire Chief","Annual_Rt":"$95,722.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2955},"geometry":null},{"type":"Feature","id":2956,"properties":{"Name":"Rogers,Keith A","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Battalion Fire Chief","Annual_Rt":"$95,722.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2956},"geometry":null},{"type":"Feature","id":2957,"properties":{"Name":"Skeris,Peter J","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Battalion Fire Chief","Annual_Rt":"$92,934.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2957},"geometry":null},{"type":"Feature","id":2958,"properties":{"Name":"Dunn,George P","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2958},"geometry":null},{"type":"Feature","id":2959,"properties":{"Name":"Farnum Jr,David M.","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2959},"geometry":null},{"type":"Feature","id":2960,"properties":{"Name":"Hoffman,Alan S","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2960},"geometry":null},{"type":"Feature","id":2961,"properties":{"Name":"Carr II,Blair D","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2961},"geometry":null},{"type":"Feature","id":2962,"properties":{"Name":"Holmes,Michael T","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2962},"geometry":null},{"type":"Feature","id":2963,"properties":{"Name":"Irvin,Larry D","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2963},"geometry":null},{"type":"Feature","id":2964,"properties":{"Name":"Almond,Jason G.","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2964},"geometry":null},{"type":"Feature","id":2965,"properties":{"Name":"Curtis Jr,Fred W","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2965},"geometry":null},{"type":"Feature","id":2966,"properties":{"Name":"Gleason,Kyle Roy","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Fighter II","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2966},"geometry":null},{"type":"Feature","id":2967,"properties":{"Name":"Greene,James R","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2967},"geometry":null},{"type":"Feature","id":2968,"properties":{"Name":"Houston,Joseph H.","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2968},"geometry":null},{"type":"Feature","id":2969,"properties":{"Name":"Kiser,Jonathan B","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2969},"geometry":null},{"type":"Feature","id":2970,"properties":{"Name":"Maier,Adam William","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2970},"geometry":null},{"type":"Feature","id":2971,"properties":{"Name":"Shank,Joshua F","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2971},"geometry":null},{"type":"Feature","id":2972,"properties":{"Name":"Moose,Howard A","Unit":"Fire","Dept":"Fire Station 42","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2972},"geometry":null},{"type":"Feature","id":2973,"properties":{"Name":"Hogue,Kenneth A","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2973},"geometry":null},{"type":"Feature","id":2974,"properties":{"Name":"Killian,Brennan S","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2974},"geometry":null},{"type":"Feature","id":2975,"properties":{"Name":"Blackmon,Donna D","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2975},"geometry":null},{"type":"Feature","id":2976,"properties":{"Name":"Murphy,Jeffrey B","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2976},"geometry":null},{"type":"Feature","id":2977,"properties":{"Name":"Odell,William J","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2977},"geometry":null},{"type":"Feature","id":2978,"properties":{"Name":"Westbrooks,Josh E","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2978},"geometry":null},{"type":"Feature","id":2979,"properties":{"Name":"Bailey,Ryan Patrick","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2979},"geometry":null},{"type":"Feature","id":2980,"properties":{"Name":"Belcher,Jonathan Benton","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Fighter II","Annual_Rt":"$53,741.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2980},"geometry":null},{"type":"Feature","id":2981,"properties":{"Name":"Cook,Patrick A","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2981},"geometry":null},{"type":"Feature","id":2982,"properties":{"Name":"Ewart,Harrison B","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2982},"geometry":null},{"type":"Feature","id":2983,"properties":{"Name":"Gibson II,David A","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2983},"geometry":null},{"type":"Feature","id":2984,"properties":{"Name":"Henkle,Joseph H","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Fighter II","Annual_Rt":"$55,084.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2984},"geometry":null},{"type":"Feature","id":2985,"properties":{"Name":"Hutchison,Dustin T","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2985},"geometry":null},{"type":"Feature","id":2986,"properties":{"Name":"Marler,Michael Justin","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2986},"geometry":null},{"type":"Feature","id":2987,"properties":{"Name":"Morrison,Jonathan James","Unit":"Fire","Dept":"Fire Station 5","Job_Title":"Fire Fighter II","Annual_Rt":"$45,291.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2987},"geometry":null},{"type":"Feature","id":2988,"properties":{"Name":"Gist,Dennis P","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2988},"geometry":null},{"type":"Feature","id":2989,"properties":{"Name":"Homme,Kimberly J","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2989},"geometry":null},{"type":"Feature","id":2990,"properties":{"Name":"Parks,Shawn E","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2990},"geometry":null},{"type":"Feature","id":2991,"properties":{"Name":"Keller,David B","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2991},"geometry":null},{"type":"Feature","id":2992,"properties":{"Name":"Miller,Justin T","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2992},"geometry":null},{"type":"Feature","id":2993,"properties":{"Name":"Shupe,Frank H","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$62,323.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2993},"geometry":null},{"type":"Feature","id":2994,"properties":{"Name":"Bandieramonte,Matthew Brian","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2994},"geometry":null},{"type":"Feature","id":2995,"properties":{"Name":"Clark,Derrick Benton","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2995},"geometry":null},{"type":"Feature","id":2996,"properties":{"Name":"Clark,Matthew Alan","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2996},"geometry":null},{"type":"Feature","id":2997,"properties":{"Name":"Crouse,Andrew Tyler","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2997},"geometry":null},{"type":"Feature","id":2998,"properties":{"Name":"Gibson,David John-wesley","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2998},"geometry":null},{"type":"Feature","id":2999,"properties":{"Name":"Hedrick,Joshua Matthew","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Fighter I","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":2999},"geometry":null},{"type":"Feature","id":3000,"properties":{"Name":"Hefner,Houston Daniel","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3000},"geometry":null},{"type":"Feature","id":3001,"properties":{"Name":"Humphries,Scott Andrew","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3001},"geometry":null},{"type":"Feature","id":3002,"properties":{"Name":"Powell,Lee Franklin","Unit":"Fire","Dept":"Fire Station 6","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3002},"geometry":null},{"type":"Feature","id":3003,"properties":{"Name":"Adams Jr,James H","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3003},"geometry":null},{"type":"Feature","id":3004,"properties":{"Name":"Cochran,Arthur K","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3004},"geometry":null},{"type":"Feature","id":3005,"properties":{"Name":"Dobbins,David E","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3005},"geometry":null},{"type":"Feature","id":3006,"properties":{"Name":"Haydt,Harold W","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3006},"geometry":null},{"type":"Feature","id":3007,"properties":{"Name":"Petraske,Keith L","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3007},"geometry":null},{"type":"Feature","id":3008,"properties":{"Name":"Anderson,James T","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3008},"geometry":null},{"type":"Feature","id":3009,"properties":{"Name":"Cote,Matthew John","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3009},"geometry":null},{"type":"Feature","id":3010,"properties":{"Name":"Jones,David B.","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Fighter II","Annual_Rt":"$57,873.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3010},"geometry":null},{"type":"Feature","id":3011,"properties":{"Name":"Cannon,Robert G","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3011},"geometry":null},{"type":"Feature","id":3012,"properties":{"Name":"Moser,Ryan Stephen","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3012},"geometry":null},{"type":"Feature","id":3013,"properties":{"Name":"Nevins,Corey Raymond","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3013},"geometry":null},{"type":"Feature","id":3014,"properties":{"Name":"Porter,Robert Weite","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3014},"geometry":null},{"type":"Feature","id":3015,"properties":{"Name":"Spratling,Jason T","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Fighter II","Annual_Rt":"$56,300.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3015},"geometry":null},{"type":"Feature","id":3016,"properties":{"Name":"Troutman,Joshua James","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3016},"geometry":null},{"type":"Feature","id":3017,"properties":{"Name":"Tubiolo,Peter R","Unit":"Fire","Dept":"Fire Station 7","Job_Title":"Fire Fighter II","Annual_Rt":"$59,320.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3017},"geometry":null},{"type":"Feature","id":3018,"properties":{"Name":"Jones,Samuel G","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3018},"geometry":null},{"type":"Feature","id":3019,"properties":{"Name":"Robinette,Timothy A","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3019},"geometry":null},{"type":"Feature","id":3020,"properties":{"Name":"Smith,Jeffrey H","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3020},"geometry":null},{"type":"Feature","id":3021,"properties":{"Name":"Dancey,Joshua L","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3021},"geometry":null},{"type":"Feature","id":3022,"properties":{"Name":"Davis,Dolph C","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3022},"geometry":null},{"type":"Feature","id":3023,"properties":{"Name":"Friend,Joelle C","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$65,290.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3023},"geometry":null},{"type":"Feature","id":3024,"properties":{"Name":"Bergen,Matthew Kevin","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Fighter II","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3024},"geometry":null},{"type":"Feature","id":3025,"properties":{"Name":"Brown,Caston J","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3025},"geometry":null},{"type":"Feature","id":3026,"properties":{"Name":"Hutto,Anthony L.","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3026},"geometry":null},{"type":"Feature","id":3027,"properties":{"Name":"Huffstetler,Wesley Rhyne","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Fighter II","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3027},"geometry":null},{"type":"Feature","id":3028,"properties":{"Name":"Eland,Drew M","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Fighter I","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3028},"geometry":null},{"type":"Feature","id":3029,"properties":{"Name":"Lindroth,Todd A","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3029},"geometry":null},{"type":"Feature","id":3030,"properties":{"Name":"McCord,Christopher Howard","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Fighter II","Annual_Rt":"$51,182.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3030},"geometry":null},{"type":"Feature","id":3031,"properties":{"Name":"Rodman,Brian J","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Fighter II","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3031},"geometry":null},{"type":"Feature","id":3032,"properties":{"Name":"Wurschmidt III,Leo C.","Unit":"Fire","Dept":"Fire Station 8","Job_Title":"Fire Fighter II","Annual_Rt":"$62,144.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3032},"geometry":null},{"type":"Feature","id":3033,"properties":{"Name":"Helms,Tony L","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3033},"geometry":null},{"type":"Feature","id":3034,"properties":{"Name":"King,Steven A","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3034},"geometry":null},{"type":"Feature","id":3035,"properties":{"Name":"Keller II,William W.","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Captain","Annual_Rt":"$77,419.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3035},"geometry":null},{"type":"Feature","id":3036,"properties":{"Name":"Arney,Dennis S","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3036},"geometry":null},{"type":"Feature","id":3037,"properties":{"Name":"Timberlake III,Frank O","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$59,355.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3037},"geometry":null},{"type":"Feature","id":3038,"properties":{"Name":"Swigunski,Joseph Raymond","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Fighter Engineer","Annual_Rt":"$56,461.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3038},"geometry":null},{"type":"Feature","id":3039,"properties":{"Name":"Arnold,Jalen QuadR","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Fighter I","Annual_Rt":"$39,124.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3039},"geometry":null},{"type":"Feature","id":3040,"properties":{"Name":"Martinez,Yomai","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Fighter I","Annual_Rt":"$41,080.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3040},"geometry":null},{"type":"Feature","id":3041,"properties":{"Name":"Silvers,Kenneth Matthew","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Fighter I","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3041},"geometry":null},{"type":"Feature","id":3042,"properties":{"Name":"Broome,Douglas V","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3042},"geometry":null},{"type":"Feature","id":3043,"properties":{"Name":"Burgess,John G","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Fighter II","Annual_Rt":"$57,873.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3043},"geometry":null},{"type":"Feature","id":3044,"properties":{"Name":"Hromada,Jeremy M","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3044},"geometry":null},{"type":"Feature","id":3045,"properties":{"Name":"Morosky,Jeremy J.","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Fighter I","Annual_Rt":"$39,124.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3045},"geometry":null},{"type":"Feature","id":3046,"properties":{"Name":"Watts,Marvin L","Unit":"Fire","Dept":"Fire Station 9","Job_Title":"Fire Fighter II","Annual_Rt":"$56,495.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3046},"geometry":null},{"type":"Feature","id":3047,"properties":{"Name":"Reilly,Mark C","Unit":"Fire","Dept":"Fire Training","Job_Title":"Administrative Officer I","Annual_Rt":"$50,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3047},"geometry":null},{"type":"Feature","id":3048,"properties":{"Name":"Warren,Jason L.","Unit":"Fire","Dept":"Fire Training","Job_Title":"Applications Administrator","Annual_Rt":"$84,508.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3048},"geometry":null},{"type":"Feature","id":3049,"properties":{"Name":"Gordon,Kevin S","Unit":"Fire","Dept":"Fire Training","Job_Title":"Battalion Fire Chief","Annual_Rt":"$100,507.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3049},"geometry":null},{"type":"Feature","id":3050,"properties":{"Name":"Coffey,Shawn D.","Unit":"Fire","Dept":"Fire Training","Job_Title":"Building Maintenance Asst","Annual_Rt":"$33,843.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3050},"geometry":null},{"type":"Feature","id":3051,"properties":{"Name":"Overstreet,Diane A","Unit":"Fire","Dept":"Fire Training","Job_Title":"Facilities Services Coordinato","Annual_Rt":"$57,244.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3051},"geometry":null},{"type":"Feature","id":3052,"properties":{"Name":"Brim,Kelvin A","Unit":"Fire","Dept":"Fire Training","Job_Title":"Fire Captain - Spec Assign","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3052},"geometry":null},{"type":"Feature","id":3053,"properties":{"Name":"Creed,Ryan M.","Unit":"Fire","Dept":"Fire Training","Job_Title":"Fire Captain - Spec Assign","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3053},"geometry":null},{"type":"Feature","id":3054,"properties":{"Name":"Fitzgerald,Reuben B","Unit":"Fire","Dept":"Fire Training","Job_Title":"Fire Captain - Spec Assign","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3054},"geometry":null},{"type":"Feature","id":3055,"properties":{"Name":"Griffin,William C","Unit":"Fire","Dept":"Fire Training","Job_Title":"Fire Captain - Spec Assign","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3055},"geometry":null},{"type":"Feature","id":3056,"properties":{"Name":"Kennedy,Jeremy S","Unit":"Fire","Dept":"Fire Training","Job_Title":"Fire Captain - Spec Assign","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3056},"geometry":null},{"type":"Feature","id":3057,"properties":{"Name":"Newell,Kevin D","Unit":"Fire","Dept":"Fire Training","Job_Title":"Fire Captain - Spec Assign","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3057},"geometry":null},{"type":"Feature","id":3058,"properties":{"Name":"Thomas,James D","Unit":"Fire","Dept":"Fire Training","Job_Title":"Fire Captain - Spec Assign","Annual_Rt":"$81,290.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3058},"geometry":null},{"type":"Feature","id":3059,"properties":{"Name":"West,Danny C","Unit":"Fire","Dept":"Fire Training","Job_Title":"Fire EMS Instructor Coord","Annual_Rt":"$78,966.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3059},"geometry":null},{"type":"Feature","id":3060,"properties":{"Name":"Dillard,Amanda Leigh","Unit":"Human Resources","Dept":"HR Management System","Job_Title":"Administrative Officer II","Annual_Rt":"$49,914.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3060},"geometry":null},{"type":"Feature","id":3061,"properties":{"Name":"Boyles,Tamara W","Unit":"Human Resources","Dept":"HR Management System","Job_Title":"Human Resour Program Mgr","Annual_Rt":"$104,840.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3061},"geometry":null},{"type":"Feature","id":3062,"properties":{"Name":"Burris,Patricia Ann","Unit":"Human Resources","Dept":"HR Management System","Job_Title":"Human Resources Analyst","Annual_Rt":"$69,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3062},"geometry":null},{"type":"Feature","id":3063,"properties":{"Name":"Houser,Laurie A","Unit":"Human Resources","Dept":"HR Management System","Job_Title":"Human Resources Analyst","Annual_Rt":"$65,936.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":3063},"geometry":null},{"type":"Feature","id":3064,"properties":{"Name":"Poore,Sandra L","Unit":"Human Resources","Dept":"HR Management System","Job_Title":"Payroll Manager","Annual_Rt":"$80,121.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3064},"geometry":null},{"type":"Feature","id":3065,"properties":{"Name":"McIver,Monice Lechon","Unit":"Human Resources","Dept":"HR Management System","Job_Title":"Payroll Specialist","Annual_Rt":"$45,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3065},"geometry":null},{"type":"Feature","id":3066,"properties":{"Name":"Leadbeter,Lara C","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Administrative Officer I","Annual_Rt":null,"Hrly_Rate":"$21.39 ","RegTemp":"T","Full/Part":"F","OBJECTID":3066},"geometry":null},{"type":"Feature","id":3067,"properties":{"Name":"Williams,Tierra","Unit":"Human Resources","Dept":"HR Management System","Job_Title":"Payroll Specialist","Annual_Rt":null,"Hrly_Rate":"$20.67 ","RegTemp":"T","Full/Part":"F","OBJECTID":3067},"geometry":null},{"type":"Feature","id":3068,"properties":{"Name":"Swett,Tracy Thompson","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Administrative Officer II","Annual_Rt":"$54,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3068},"geometry":null},{"type":"Feature","id":3069,"properties":{"Name":"Simpson,Sheila C","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Deputy Human Resources Dir","Annual_Rt":"$109,662.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3069},"geometry":null},{"type":"Feature","id":3070,"properties":{"Name":"Darby,Nakyhia Renee","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"HR Benefits Systems Specialist","Annual_Rt":"$48,344.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3070},"geometry":null},{"type":"Feature","id":3071,"properties":{"Name":"Ward,Rhonda S","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"HR Benefits Systems Specialist","Annual_Rt":"$56,493.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3071},"geometry":null},{"type":"Feature","id":3072,"properties":{"Name":"Ellis,Anna S","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Human Resour Program Mgr","Annual_Rt":"$107,653.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3072},"geometry":null},{"type":"Feature","id":3073,"properties":{"Name":"Huneycutt,Lisa DeLane","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Human Resour Program Mgr","Annual_Rt":"$97,785.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3073},"geometry":null},{"type":"Feature","id":3074,"properties":{"Name":"Curlin,Teresa E","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Human Resources Analyst","Annual_Rt":"$85,354.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3074},"geometry":null},{"type":"Feature","id":3075,"properties":{"Name":"Carter,Patricia","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Human Resources Analyst","Annual_Rt":"$73,000.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3075},"geometry":null},{"type":"Feature","id":3076,"properties":{"Name":"Edwards,Rebecca L","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Human Resources Analyst","Annual_Rt":"$70,941.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3076},"geometry":null},{"type":"Feature","id":3077,"properties":{"Name":"Fath,Christina Alison-DePriest","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Human Resources Analyst","Annual_Rt":"$71,071.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3077},"geometry":null},{"type":"Feature","id":3078,"properties":{"Name":"Ensley Sr,Antoine Maurice","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Human Resources Analyst","Annual_Rt":"$69,528.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3078},"geometry":null},{"type":"Feature","id":3079,"properties":{"Name":"Grant,Clyde L","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Human Resources Analyst","Annual_Rt":"$74,303.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3079},"geometry":null},{"type":"Feature","id":3080,"properties":{"Name":"Lutmer,Aubra Childers","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Human Resources Analyst","Annual_Rt":"$68,471.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3080},"geometry":null},{"type":"Feature","id":3081,"properties":{"Name":"Whitesides,Stephanie M","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Human Resources Analyst","Annual_Rt":"$81,558.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3081},"geometry":null},{"type":"Feature","id":3082,"properties":{"Name":"Brown,Cheryl L","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Human Resources Director","Annual_Rt":"$158,936.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3082},"geometry":null},{"type":"Feature","id":3083,"properties":{"Name":"Carter,Andrea P","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Office Assistant IV","Annual_Rt":"$28,719.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":3083},"geometry":null},{"type":"Feature","id":3084,"properties":{"Name":"Davis,Kathryn H","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Office Assistant IV","Annual_Rt":null,"Hrly_Rate":"$12.13 ","RegTemp":"T","Full/Part":"P","OBJECTID":3084},"geometry":null},{"type":"Feature","id":3085,"properties":{"Name":"Sanchez,Taisha","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Office Assistant IV","Annual_Rt":null,"Hrly_Rate":"$12.62 ","RegTemp":"T","Full/Part":"P","OBJECTID":3085},"geometry":null},{"type":"Feature","id":3086,"properties":{"Name":"Moody,Margaret E","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Office Assistant IV","Annual_Rt":null,"Hrly_Rate":"$12.19 ","RegTemp":"T","Full/Part":"P","OBJECTID":3086},"geometry":null},{"type":"Feature","id":3087,"properties":{"Name":"Graham,Carol Lynn","Unit":"Human Resources","Dept":"Organization Dev & Learning","Job_Title":"HR Training Specialist","Annual_Rt":"$70,170.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3087},"geometry":null},{"type":"Feature","id":3088,"properties":{"Name":"Womack,Donna S","Unit":"Human Resources","Dept":"Human Resources","Job_Title":"Office Assistant V","Annual_Rt":null,"Hrly_Rate":"$18.34 ","RegTemp":"T","Full/Part":"F","OBJECTID":3088},"geometry":null},{"type":"Feature","id":3089,"properties":{"Name":"Kilic,Kimberly Andress","Unit":"Human Resources","Dept":"Organization Dev & Learning","Job_Title":"HR Training Specialist","Annual_Rt":"$60,937.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3089},"geometry":null},{"type":"Feature","id":3090,"properties":{"Name":"Moorefield,Katherine M","Unit":"Human Resources","Dept":"Organization Dev & Learning","Job_Title":"HR Training Specialist","Annual_Rt":"$72,621.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3090},"geometry":null},{"type":"Feature","id":3091,"properties":{"Name":"Mullis,Alyson W","Unit":"Human Resources","Dept":"Organization Dev & Learning","Job_Title":"HR Training Specialist","Annual_Rt":"$64,630.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3091},"geometry":null},{"type":"Feature","id":3092,"properties":{"Name":"Thomas-Massey,Kathy","Unit":"Human Resources","Dept":"Organization Dev & Learning","Job_Title":"HR Training Specialist","Annual_Rt":"$69,000.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3092},"geometry":null},{"type":"Feature","id":3093,"properties":{"Name":"Duke,La-Tashia D.","Unit":"Human Resources","Dept":"Organization Dev & Learning","Job_Title":"HR Training Specialist-Assc","Annual_Rt":"$46,534.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3093},"geometry":null},{"type":"Feature","id":3094,"properties":{"Name":"Arant-McAdoo,Deywon Denean","Unit":"Human Resources","Dept":"Organization Dev & Learning","Job_Title":"HR Trainng Supervisor","Annual_Rt":"$85,500.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3094},"geometry":null},{"type":"Feature","id":3095,"properties":{"Name":"Phillips,Candice D","Unit":"Human Resources","Dept":"Organization Dev & Learning","Job_Title":"Human Resour Program Mgr","Annual_Rt":"$97,877.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3095},"geometry":null},{"type":"Feature","id":3096,"properties":{"Name":"Leonardo,Lynn Turney","Unit":"Human Resources","Dept":"Organization Dev & Learning","Job_Title":"Training Representative","Annual_Rt":"$40,924.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3096},"geometry":null},{"type":"Feature","id":3097,"properties":{"Name":"Harrell,Timothy Jerome","Unit":"Human Resources","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op I","Annual_Rt":"$34,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3097},"geometry":null},{"type":"Feature","id":3098,"properties":{"Name":"Velez,Angel L","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$66,052.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3098},"geometry":null},{"type":"Feature","id":3099,"properties":{"Name":"Stevenson,Ernest E","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Electronics Maintenance Supv","Annual_Rt":"$64,468.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3099},"geometry":null},{"type":"Feature","id":3100,"properties":{"Name":"Sweezer,Richard E","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Electronics Technician I","Annual_Rt":"$47,485.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3100},"geometry":null},{"type":"Feature","id":3101,"properties":{"Name":"Walker,Desmond Raunell","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Electronics Technician I","Annual_Rt":"$48,260.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3101},"geometry":null},{"type":"Feature","id":3102,"properties":{"Name":"Fetterly,Robert","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Electronics Technician II","Annual_Rt":"$48,438.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3102},"geometry":null},{"type":"Feature","id":3103,"properties":{"Name":"Carpenter,Zachary C","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3103},"geometry":null},{"type":"Feature","id":3104,"properties":{"Name":"Finger,James Michael","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Network Commun Integrator","Annual_Rt":"$74,976.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3104},"geometry":null},{"type":"Feature","id":3105,"properties":{"Name":"Wilkerson,Paul N.","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Network Operations Supervisor","Annual_Rt":"$76,349.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3105},"geometry":null},{"type":"Feature","id":3106,"properties":{"Name":"Rasheed,Shirahba","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Office Assistant IV","Annual_Rt":"$39,283.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3106},"geometry":null},{"type":"Feature","id":3107,"properties":{"Name":"Ellis,Terry W","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Radio Network Technician","Annual_Rt":"$58,246.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3107},"geometry":null},{"type":"Feature","id":3108,"properties":{"Name":"Gerard,Timothy J","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Radio Network Technician","Annual_Rt":"$55,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3108},"geometry":null},{"type":"Feature","id":3109,"properties":{"Name":"Morris,Douglas E","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Radio Network Technician","Annual_Rt":"$53,403.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3109},"geometry":null},{"type":"Feature","id":3110,"properties":{"Name":"Reynolds,Paul G","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Radio Network Technician","Annual_Rt":"$63,259.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3110},"geometry":null},{"type":"Feature","id":3111,"properties":{"Name":"Rhodes,Marquiessa Monique","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Radio Network Technician","Annual_Rt":"$48,421.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3111},"geometry":null},{"type":"Feature","id":3112,"properties":{"Name":"Lovett,Danny","Unit":"Innovation & Technology","Dept":"BSS- IT Radio Shop Services","Job_Title":"Wireless Communications Mgr","Annual_Rt":"$101,597.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3112},"geometry":null},{"type":"Feature","id":3113,"properties":{"Name":"Thomas,Gregory","Unit":"Innovation & Technology","Dept":"BSS- IT Wireless","Job_Title":"Network Architect Senior","Annual_Rt":"$105,867.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3113},"geometry":null},{"type":"Feature","id":3114,"properties":{"Name":"Williams,Michael K","Unit":"Innovation & Technology","Dept":"BSS- IT Wireless","Job_Title":"Network Commun Integrator","Annual_Rt":"$77,388.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3114},"geometry":null},{"type":"Feature","id":3115,"properties":{"Name":"Dunn,Jerry","Unit":"Innovation & Technology","Dept":"BSS- IT Wireless","Job_Title":"Sr Network Commn Integrator","Annual_Rt":"$70,980.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3115},"geometry":null},{"type":"Feature","id":3116,"properties":{"Name":"Symonds,Douglas P.","Unit":"Innovation & Technology","Dept":"BSS- IT Wireless","Job_Title":"Telephony Program Manager","Annual_Rt":"$108,872.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3116},"geometry":null},{"type":"Feature","id":3117,"properties":{"Name":"Canterbury,Jeffrey Lee","Unit":"Innovation & Technology","Dept":"BSS-Equip Mgt-Seigle Avenue","Job_Title":"Light Equipment Srvc Tech Mstr","Annual_Rt":"$48,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3117},"geometry":null},{"type":"Feature","id":3118,"properties":{"Name":"Grayson,Daniel W","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Active Directory Administrator","Annual_Rt":"$79,377.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3118},"geometry":null},{"type":"Feature","id":3119,"properties":{"Name":"Kolaya,Mellissa Ann","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Active Directory Specialist","Annual_Rt":"$62,743.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3119},"geometry":null},{"type":"Feature","id":3120,"properties":{"Name":"Snedecor,D S","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Application Services Manager","Annual_Rt":"$135,021.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3120},"geometry":null},{"type":"Feature","id":3121,"properties":{"Name":"Heller,Daniel L","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Data Center Services Manager","Annual_Rt":"$110,938.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3121},"geometry":null},{"type":"Feature","id":3122,"properties":{"Name":"Young,Richard C","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Data Services Manager","Annual_Rt":"$130,490.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3122},"geometry":null},{"type":"Feature","id":3123,"properties":{"Name":"McConnell,Shawn","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Data Storage Administrator","Annual_Rt":"$82,031.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3123},"geometry":null},{"type":"Feature","id":3124,"properties":{"Name":"Peyton,Harry L.","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Data Storage Administrator","Annual_Rt":"$80,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3124},"geometry":null},{"type":"Feature","id":3125,"properties":{"Name":"Charlton,Laurence","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Database Administrator","Annual_Rt":"$111,743.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3125},"geometry":null},{"type":"Feature","id":3126,"properties":{"Name":"Hall,Steven Robert","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Database Administrator","Annual_Rt":"$99,170.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3126},"geometry":null},{"type":"Feature","id":3127,"properties":{"Name":"OConnell,Brian Michael","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Database Administrator","Annual_Rt":"$81,606.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3127},"geometry":null},{"type":"Feature","id":3128,"properties":{"Name":"Price,Mark David","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Database Administrator","Annual_Rt":"$107,474.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3128},"geometry":null},{"type":"Feature","id":3129,"properties":{"Name":"Davis IV,Berton Emerson","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Deputy IT Chief Operat Officer","Annual_Rt":"$135,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3129},"geometry":null},{"type":"Feature","id":3130,"properties":{"Name":"Bowman,Leslie S","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Administrator","Annual_Rt":"$101,774.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3130},"geometry":null},{"type":"Feature","id":3131,"properties":{"Name":"Bulanda Jr,John","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Administrator","Annual_Rt":"$78,388.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3131},"geometry":null},{"type":"Feature","id":3132,"properties":{"Name":"Donald,Deborah C","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Administrator","Annual_Rt":"$88,376.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3132},"geometry":null},{"type":"Feature","id":3133,"properties":{"Name":"Evans,Darlene R.","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Administrator","Annual_Rt":"$92,009.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3133},"geometry":null},{"type":"Feature","id":3134,"properties":{"Name":"Harford,Delvin Lewis","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Administrator","Annual_Rt":"$101,047.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3134},"geometry":null},{"type":"Feature","id":3135,"properties":{"Name":"Kesel,David P","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Administrator","Annual_Rt":"$98,573.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3135},"geometry":null},{"type":"Feature","id":3136,"properties":{"Name":"Mattocks,Melvin Lee","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Administrator","Annual_Rt":"$76,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3136},"geometry":null},{"type":"Feature","id":3137,"properties":{"Name":"McClurkin,Rosetta C.","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Administrator","Annual_Rt":"$91,818.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3137},"geometry":null},{"type":"Feature","id":3138,"properties":{"Name":"Poonamalle,Swaminathan","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Administrator","Annual_Rt":"$96,445.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3138},"geometry":null},{"type":"Feature","id":3139,"properties":{"Name":"Yang,Lee","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Administrator","Annual_Rt":"$81,600.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3139},"geometry":null},{"type":"Feature","id":3140,"properties":{"Name":"Eaton,Terry S","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Supervisor","Annual_Rt":"$86,074.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3140},"geometry":null},{"type":"Feature","id":3141,"properties":{"Name":"Goodman,Mark R","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Supervisor","Annual_Rt":"$111,546.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3141},"geometry":null},{"type":"Feature","id":3142,"properties":{"Name":"Gray,Sean B","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Supervisor","Annual_Rt":"$101,184.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3142},"geometry":null},{"type":"Feature","id":3143,"properties":{"Name":"Haney,Jeffrey A.","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Supervisor","Annual_Rt":"$103,866.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3143},"geometry":null},{"type":"Feature","id":3144,"properties":{"Name":"Hawkins,Sonya Denise","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Supervisor","Annual_Rt":"$97,965.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3144},"geometry":null},{"type":"Feature","id":3145,"properties":{"Name":"Liu,Nianwei","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Supervisor","Annual_Rt":"$96,387.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3145},"geometry":null},{"type":"Feature","id":3146,"properties":{"Name":"Stephens,William H.","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Supervisor","Annual_Rt":"$86,142.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3146},"geometry":null},{"type":"Feature","id":3147,"properties":{"Name":"Tahsler,Robert Joseph","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Supervisor","Annual_Rt":"$94,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3147},"geometry":null},{"type":"Feature","id":3148,"properties":{"Name":"Phillips,Doris Jean","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Information Tech Team Lead","Annual_Rt":"$87,890.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3148},"geometry":null},{"type":"Feature","id":3149,"properties":{"Name":"Robbins,Barry L","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"IT Chief Operating Officer","Annual_Rt":"$154,982.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3149},"geometry":null},{"type":"Feature","id":3150,"properties":{"Name":"Kersey,Rachel Taylor","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"IT Client Services Manager","Annual_Rt":"$114,623.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3150},"geometry":null},{"type":"Feature","id":3151,"properties":{"Name":"Gray,James R","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"IT Process Manager","Annual_Rt":"$72,420.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3151},"geometry":null},{"type":"Feature","id":3152,"properties":{"Name":"Stitt,Phillip","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"IT Process Manager","Annual_Rt":"$73,899.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3152},"geometry":null},{"type":"Feature","id":3153,"properties":{"Name":"Young,Laura J","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"IT Process Manager","Annual_Rt":"$108,149.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3153},"geometry":null},{"type":"Feature","id":3154,"properties":{"Name":"Oliver,Sandra Bittle","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"IT Services Portfolio Manager","Annual_Rt":"$112,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3154},"geometry":null},{"type":"Feature","id":3155,"properties":{"Name":"Jain,Subhash K","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Middleware Specialist","Annual_Rt":"$104,040.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3155},"geometry":null},{"type":"Feature","id":3156,"properties":{"Name":"Daniels,Scott E","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Network Commun Integrator","Annual_Rt":"$71,400.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3156},"geometry":null},{"type":"Feature","id":3157,"properties":{"Name":"Gragg,Rachel","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Network Operations Supervisor","Annual_Rt":"$81,600.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3157},"geometry":null},{"type":"Feature","id":3158,"properties":{"Name":"Russell,Kevin K","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Network Commun Integrator","Annual_Rt":"$106,959.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3158},"geometry":null},{"type":"Feature","id":3159,"properties":{"Name":"Samuels,David","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Senior Tech Service Specialist","Annual_Rt":"$62,510.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3159},"geometry":null},{"type":"Feature","id":3160,"properties":{"Name":"Walker,Kelly Shane","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Senior Tech Service Specialist","Annual_Rt":"$51,410.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3160},"geometry":null},{"type":"Feature","id":3161,"properties":{"Name":"Archer,Robert F.","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Server Administrator","Annual_Rt":"$73,709.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3161},"geometry":null},{"type":"Feature","id":3162,"properties":{"Name":"Cash,Thomas N","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Server Administrator","Annual_Rt":"$109,618.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3162},"geometry":null},{"type":"Feature","id":3163,"properties":{"Name":"Jenkins,Steven T.","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Server Administrator","Annual_Rt":"$80,720.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3163},"geometry":null},{"type":"Feature","id":3164,"properties":{"Name":"Smith Jr,Clayton","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Server Administrator","Annual_Rt":"$63,648.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3164},"geometry":null},{"type":"Feature","id":3165,"properties":{"Name":"Morrison,Leslie James","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Sharepoint Administrator","Annual_Rt":"$106,775.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3165},"geometry":null},{"type":"Feature","id":3166,"properties":{"Name":"Price,Maurice A","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Sharepoint Administrator","Annual_Rt":"$82,620.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3166},"geometry":null},{"type":"Feature","id":3167,"properties":{"Name":"Siegel,Joshua","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Sharepoint Administrator","Annual_Rt":"$67,990.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3167},"geometry":null},{"type":"Feature","id":3168,"properties":{"Name":"Jenkins,Billie B","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Senior Tech Service Specialist","Annual_Rt":"$58,543.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3168},"geometry":null},{"type":"Feature","id":3169,"properties":{"Name":"Genus,Samuel David","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Software Developer Intermediat","Annual_Rt":"$71,696.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3169},"geometry":null},{"type":"Feature","id":3170,"properties":{"Name":"Graves,Anthony G","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Software Developer Intermediat","Annual_Rt":"$60,446.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3170},"geometry":null},{"type":"Feature","id":3171,"properties":{"Name":"Tse,Sung-hei S","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Software Developer Intermediat","Annual_Rt":"$68,710.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3171},"geometry":null},{"type":"Feature","id":3172,"properties":{"Name":"Das,Suresh C","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Software Developer Senior","Annual_Rt":"$99,807.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3172},"geometry":null},{"type":"Feature","id":3173,"properties":{"Name":"Yang,Ling","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Software Developer Senior","Annual_Rt":"$87,199.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3173},"geometry":null},{"type":"Feature","id":3174,"properties":{"Name":"Farmer,Brandon S","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Techncial Accounts Specialist","Annual_Rt":"$59,873.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3174},"geometry":null},{"type":"Feature","id":3175,"properties":{"Name":"Gamble,Catherine B","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Techncial Accounts Specialist","Annual_Rt":"$61,417.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3175},"geometry":null},{"type":"Feature","id":3176,"properties":{"Name":"Renaud,Marc Paul","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Technical Systems Specialist","Annual_Rt":"$69,581.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3176},"geometry":null},{"type":"Feature","id":3177,"properties":{"Name":"Ireland III,William H","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Technical Systems Specialist","Annual_Rt":"$63,199.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3177},"geometry":null},{"type":"Feature","id":3178,"properties":{"Name":"Thomas,Tim","Unit":"Innovation & Technology","Dept":"BSS-IT Infrastructure","Job_Title":"Technical Systems Specialist","Annual_Rt":"$65,137.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3178},"geometry":null},{"type":"Feature","id":3179,"properties":{"Name":"Dennis,Douglas S.","Unit":"Innovation & Technology","Dept":"BSS-IT Telecommunications","Job_Title":"Data Center Specialist","Annual_Rt":"$74,270.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3179},"geometry":null},{"type":"Feature","id":3180,"properties":{"Name":"Joyce,Walter S","Unit":"Innovation & Technology","Dept":"BSS-IT Telecommunications","Job_Title":"IT Communications Technician","Annual_Rt":"$66,903.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3180},"geometry":null},{"type":"Feature","id":3181,"properties":{"Name":"Levine,Mindy E.","Unit":"Mayor and City Council ","Dept":"M&CC Admin","Job_Title":"Administrative Officer II","Annual_Rt":"$52,551.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3181},"geometry":null},{"type":"Feature","id":3182,"properties":{"Name":"Burney,Alban Simpson","Unit":"Mayor and City Council ","Dept":"M&CC Admin","Job_Title":"Asst To The City Manager I","Annual_Rt":"$66,402.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3182},"geometry":null},{"type":"Feature","id":3183,"properties":{"Name":"Simmons,Ashley E","Unit":"Mayor and City Council ","Dept":"M&CC Admin","Job_Title":"Asst To The City Manager I","Annual_Rt":"$72,000.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3183},"geometry":null},{"type":"Feature","id":3184,"properties":{"Name":"Mitchell,Antanea Laniece","Unit":"Mayor and City Council ","Dept":"M&CC Admin","Job_Title":"Administrative Secretary II","Annual_Rt":"$46,802.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3184},"geometry":null},{"type":"Feature","id":3185,"properties":{"Name":"Kendrick,Barbara J","Unit":"Neighborhood and Business Services","Dept":"Business Support Admin","Job_Title":"Administrative Officer I","Annual_Rt":"$51,861.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3185},"geometry":null},{"type":"Feature","id":3186,"properties":{"Name":"Oliver,Kimberly Rochelle","Unit":"Mayor and City Council ","Dept":"M&CC Admin","Job_Title":"Executive Assist to City Mgr","Annual_Rt":"$82,425.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3186},"geometry":null},{"type":"Feature","id":3187,"properties":{"Name":"Campbell,Norma Joan","Unit":"Neighborhood and Business Services","Dept":"Business Support Admin","Job_Title":"Assistant Nd Bus Svcs Dir Supp","Annual_Rt":"$110,133.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3187},"geometry":null},{"type":"Feature","id":3188,"properties":{"Name":"Sargent,Kerry A","Unit":"Neighborhood and Business Services","Dept":"Business Support Compliance","Job_Title":"Administrative Officer II","Annual_Rt":"$59,976.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3188},"geometry":null},{"type":"Feature","id":3189,"properties":{"Name":"Mason,Patricia R.","Unit":"Neighborhood and Business Services","Dept":"Business Support Compliance","Job_Title":"Compliance Unit Manager","Annual_Rt":"$80,320.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3189},"geometry":null},{"type":"Feature","id":3190,"properties":{"Name":"White,Anita R","Unit":"Neighborhood and Business Services","Dept":"Business Support Compliance","Job_Title":"Neighborhood Devel Specialist","Annual_Rt":"$54,239.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3190},"geometry":null},{"type":"Feature","id":3191,"properties":{"Name":"Curtis,Mikal Joseph","Unit":"Neighborhood and Business Services","Dept":"Business Support Finance","Job_Title":"Accountant II","Annual_Rt":"$60,643.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3191},"geometry":null},{"type":"Feature","id":3192,"properties":{"Name":"Jeter,Janet Davis","Unit":"Neighborhood and Business Services","Dept":"Business Support Finance","Job_Title":"Administrative Officer III","Annual_Rt":"$54,409.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3192},"geometry":null},{"type":"Feature","id":3193,"properties":{"Name":"Moor,Bruce","Unit":"Neighborhood and Business Services","Dept":"Business Support Finance","Job_Title":"Administrative Officer III","Annual_Rt":"$54,409.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3193},"geometry":null},{"type":"Feature","id":3194,"properties":{"Name":"Clipston,Amy G","Unit":"Neighborhood and Business Services","Dept":"Business Support Human Resourc","Job_Title":"Administrative Officer I","Annual_Rt":"$53,064.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3194},"geometry":null},{"type":"Feature","id":3195,"properties":{"Name":"King,Krystal Sirman","Unit":"Neighborhood and Business Services","Dept":"Charlotte International Cabine","Job_Title":"Administrative Officer I","Annual_Rt":"$41,359.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3195},"geometry":null},{"type":"Feature","id":3196,"properties":{"Name":"Coleman,Tenya C","Unit":"Neighborhood and Business Services","Dept":"Business Support Compliance","Job_Title":"Neighborhood Devel Specialist","Annual_Rt":"$53,789.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3196},"geometry":null},{"type":"Feature","id":3197,"properties":{"Name":"Gordon,Alexis D","Unit":"Neighborhood and Business Services","Dept":"Charlotte International Cabine","Job_Title":"Economic Development Spec","Annual_Rt":"$50,879.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3197},"geometry":null},{"type":"Feature","id":3198,"properties":{"Name":"Gilleland,Elissa R","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Administrative Officer I","Annual_Rt":"$50,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3198},"geometry":null},{"type":"Feature","id":3199,"properties":{"Name":"Edwards,Kevin S","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Coordinator","Annual_Rt":"$69,298.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3199},"geometry":null},{"type":"Feature","id":3200,"properties":{"Name":"Jenkins,Mike","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Coordinator","Annual_Rt":"$79,248.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3200},"geometry":null},{"type":"Feature","id":3201,"properties":{"Name":"Allman,Jacob","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,452.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3201},"geometry":null},{"type":"Feature","id":3202,"properties":{"Name":"Anselmo,Marcelo Jorge","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,452.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3202},"geometry":null},{"type":"Feature","id":3203,"properties":{"Name":"Bernesser Jr,Thomas James","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,451.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3203},"geometry":null},{"type":"Feature","id":3204,"properties":{"Name":"Brown,William Scott","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,452.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3204},"geometry":null},{"type":"Feature","id":3205,"properties":{"Name":"Canterbury,Carl E","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,332.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3205},"geometry":null},{"type":"Feature","id":3206,"properties":{"Name":"Carson,Marta Rosario","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$48,610.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3206},"geometry":null},{"type":"Feature","id":3207,"properties":{"Name":"Clifton,Brenda V","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,455.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3207},"geometry":null},{"type":"Feature","id":3208,"properties":{"Name":"Craven-Redmond,Kristin Yevonne","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,452.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3208},"geometry":null},{"type":"Feature","id":3209,"properties":{"Name":"Edwards,Amanda Westmoreland","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,332.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3209},"geometry":null},{"type":"Feature","id":3210,"properties":{"Name":"Frixen,Jennifer Jo","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,452.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3210},"geometry":null},{"type":"Feature","id":3211,"properties":{"Name":"Gregory,Alex D","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$47,010.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3211},"geometry":null},{"type":"Feature","id":3212,"properties":{"Name":"Hitsman Jr,Charles L","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$48,730.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3212},"geometry":null},{"type":"Feature","id":3213,"properties":{"Name":"Hogan,Michael Corey","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,452.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3213},"geometry":null},{"type":"Feature","id":3214,"properties":{"Name":"Lamy,Elizabeth E","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,332.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3214},"geometry":null},{"type":"Feature","id":3215,"properties":{"Name":"Lichtenfeld,Nicolas M","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,332.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3215},"geometry":null},{"type":"Feature","id":3216,"properties":{"Name":"Lockamy,Melissa Charlotte","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,452.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3216},"geometry":null},{"type":"Feature","id":3217,"properties":{"Name":"Lofton,Erin Mae","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,460.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3217},"geometry":null},{"type":"Feature","id":3218,"properties":{"Name":"Lominick,Christopher James","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,452.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3218},"geometry":null},{"type":"Feature","id":3219,"properties":{"Name":"McMahon,Joseph K","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,452.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3219},"geometry":null},{"type":"Feature","id":3220,"properties":{"Name":"Miller,John A","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,452.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3220},"geometry":null},{"type":"Feature","id":3221,"properties":{"Name":"Mumbulo,Travis E","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$43,047.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3221},"geometry":null},{"type":"Feature","id":3222,"properties":{"Name":"Pope Jr,Harry","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,452.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3222},"geometry":null},{"type":"Feature","id":3223,"properties":{"Name":"Reece,Lori Ann","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$43,597.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3223},"geometry":null},{"type":"Feature","id":3224,"properties":{"Name":"Shums,Zafar S","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$50,625.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3224},"geometry":null},{"type":"Feature","id":3225,"properties":{"Name":"Wyrick,Anmarie Behymer","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,823.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3225},"geometry":null},{"type":"Feature","id":3226,"properties":{"Name":"Cummings,Jessica Lynn","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector Ld","Annual_Rt":"$51,386.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3226},"geometry":null},{"type":"Feature","id":3227,"properties":{"Name":"Johnson Jr,Michael Wayne","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector Ld","Annual_Rt":"$51,386.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3227},"geometry":null},{"type":"Feature","id":3228,"properties":{"Name":"Mattingly,Stephen Scott","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector Ld","Annual_Rt":"$51,386.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3228},"geometry":null},{"type":"Feature","id":3229,"properties":{"Name":"Privette,Justin Keith","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector Ld","Annual_Rt":"$51,386.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3229},"geometry":null},{"type":"Feature","id":3230,"properties":{"Name":"Sauer,Kimberly T.","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector Ld","Annual_Rt":"$51,386.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3230},"geometry":null},{"type":"Feature","id":3231,"properties":{"Name":"Wallace,April D","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Code Enforcement Inspector Ld","Annual_Rt":"$51,386.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3231},"geometry":null},{"type":"Feature","id":3232,"properties":{"Name":"Barnes,Kim Ellen","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Community&Commerce Specialist","Annual_Rt":"$51,506.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3232},"geometry":null},{"type":"Feature","id":3233,"properties":{"Name":"Coleman,Denise R","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Community&Commerce Specialist","Annual_Rt":"$51,504.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3233},"geometry":null},{"type":"Feature","id":3234,"properties":{"Name":"Powell,Millicent E","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Community&Commerce Specialist","Annual_Rt":"$51,502.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3234},"geometry":null},{"type":"Feature","id":3235,"properties":{"Name":"Duncan,Charlenea Sims","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Community&Commerce Specialist","Annual_Rt":"$60,219.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3235},"geometry":null},{"type":"Feature","id":3236,"properties":{"Name":"Rathod,Sherry B","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Community&Commerce Specialist","Annual_Rt":"$56,453.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3236},"geometry":null},{"type":"Feature","id":3237,"properties":{"Name":"Bradley Jr,Eugene L","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"N&BS Area Supervisor","Annual_Rt":"$61,807.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3237},"geometry":null},{"type":"Feature","id":3238,"properties":{"Name":"Davis,Kristin Marie","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"N&BS Area Supervisor","Annual_Rt":"$61,805.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3238},"geometry":null},{"type":"Feature","id":3239,"properties":{"Name":"Green Jr,Jerry M","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"N&BS Area Supervisor","Annual_Rt":"$61,807.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3239},"geometry":null},{"type":"Feature","id":3240,"properties":{"Name":"Harris,Randy G.","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"N&BS Area Supervisor","Annual_Rt":"$61,803.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3240},"geometry":null},{"type":"Feature","id":3241,"properties":{"Name":"Moore,Donald C.","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"N&BS Area Supervisor","Annual_Rt":"$61,805.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3241},"geometry":null},{"type":"Feature","id":3242,"properties":{"Name":"Short III,John Joseph","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"N&BS Area Supervisor","Annual_Rt":"$61,807.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3242},"geometry":null},{"type":"Feature","id":3243,"properties":{"Name":"Naftel,Allison Lea","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"N&BS Area Supervisor","Annual_Rt":"$61,803.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3243},"geometry":null},{"type":"Feature","id":3244,"properties":{"Name":"White III,James Curtis","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"N&BS Area Supervisor","Annual_Rt":"$61,805.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3244},"geometry":null},{"type":"Feature","id":3245,"properties":{"Name":"Taillon,Jane E","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"N&BS Operations Manager","Annual_Rt":"$75,602.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3245},"geometry":null},{"type":"Feature","id":3246,"properties":{"Name":"Carrothers,Constance H.","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Office Assistant IV","Annual_Rt":"$37,310.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3246},"geometry":null},{"type":"Feature","id":3247,"properties":{"Name":"Krise,Benjamin D","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"N&BS Services Division Manager","Annual_Rt":"$99,003.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3247},"geometry":null},{"type":"Feature","id":3248,"properties":{"Name":"Clements,Pansy K","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Office Assistant IV","Annual_Rt":"$32,857.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3248},"geometry":null},{"type":"Feature","id":3249,"properties":{"Name":"Hardison,Joann S.","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Office Assistant IV","Annual_Rt":"$29,305.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":3249},"geometry":null},{"type":"Feature","id":3250,"properties":{"Name":"Hicks,Hattie M","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Office Assistant IV","Annual_Rt":"$34,396.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3250},"geometry":null},{"type":"Feature","id":3251,"properties":{"Name":"Reddick,Yolonda Kaye","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Office Assistant IV","Annual_Rt":"$32,856.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3251},"geometry":null},{"type":"Feature","id":3252,"properties":{"Name":"Moore,Shirley T","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Office Assistant IV","Annual_Rt":"$46,706.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3252},"geometry":null},{"type":"Feature","id":3253,"properties":{"Name":"Schimmel,Cynthia G","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Office Assistant IV","Annual_Rt":"$37,262.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3253},"geometry":null},{"type":"Feature","id":3254,"properties":{"Name":"Turner,Mary Ellen","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Operating","Job_Title":"Office Assistant IV","Annual_Rt":"$32,857.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3254},"geometry":null},{"type":"Feature","id":3255,"properties":{"Name":"Sutton,John R","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Rehab","Job_Title":"Code Enforcement Inspector Ld","Annual_Rt":"$51,386.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3255},"geometry":null},{"type":"Feature","id":3256,"properties":{"Name":"Selles,Waleska","Unit":"Neighborhood and Business Services","Dept":"Code Enforcement Rehab","Job_Title":"Office Assistant IV","Annual_Rt":"$35,670.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3256},"geometry":null},{"type":"Feature","id":3257,"properties":{"Name":"Bhavnani,Louise","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Community&Commerce Specialist","Annual_Rt":"$50,495.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3257},"geometry":null},{"type":"Feature","id":3258,"properties":{"Name":"Bowen,Andrew Haskell","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Community&Commerce Specialist","Annual_Rt":"$51,873.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3258},"geometry":null},{"type":"Feature","id":3259,"properties":{"Name":"Davis,Sophia C","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Community&Commerce Specialist","Annual_Rt":"$51,873.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3259},"geometry":null},{"type":"Feature","id":3260,"properties":{"Name":"Gover,Angela Lee","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Community&Commerce Specialist","Annual_Rt":"$51,873.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3260},"geometry":null},{"type":"Feature","id":3261,"properties":{"Name":"Mitchell,Elizabeth Nutter","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Community&Commerce Specialist","Annual_Rt":"$50,996.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3261},"geometry":null},{"type":"Feature","id":3262,"properties":{"Name":"Woods,Elaine","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Administrative Officer I","Annual_Rt":"$47,000.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3262},"geometry":null},{"type":"Feature","id":3263,"properties":{"Name":"Wood,Stephen L.","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Community&Commerce Specialist","Annual_Rt":"$51,873.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3263},"geometry":null},{"type":"Feature","id":3264,"properties":{"Name":"Zimmerman,Atalie Ann","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Community&Commerce Specialist","Annual_Rt":"$50,495.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3264},"geometry":null},{"type":"Feature","id":3265,"properties":{"Name":"Hefner,Rebecca A","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Economic Dev Program Mgr","Annual_Rt":"$70,091.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3265},"geometry":null},{"type":"Feature","id":3266,"properties":{"Name":"Hill,Dawn M.","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Economic Dev Program Mgr","Annual_Rt":"$73,985.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3266},"geometry":null},{"type":"Feature","id":3267,"properties":{"Name":"Storey,Nicole Renee","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Economic Dev Program Mgr","Annual_Rt":"$70,091.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3267},"geometry":null},{"type":"Feature","id":3268,"properties":{"Name":"Warshauer,Joel T","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"N&BS Services Division Manager","Annual_Rt":"$105,697.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3268},"geometry":null},{"type":"Feature","id":3269,"properties":{"Name":"Clark,Judy Little","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Office Assistant V","Annual_Rt":null,"Hrly_Rate":"$18.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3269},"geometry":null},{"type":"Feature","id":3270,"properties":{"Name":"Routt Jackson,Krishana E","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Youth Intern","Annual_Rt":null,"Hrly_Rate":"$16.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3270},"geometry":null},{"type":"Feature","id":3271,"properties":{"Name":"Smith,Natasha Monique","Unit":"Neighborhood and Business Services","Dept":"Community Engagement","Job_Title":"Youth Intern","Annual_Rt":null,"Hrly_Rate":"$16.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3271},"geometry":null},{"type":"Feature","id":3272,"properties":{"Name":"Young,Pamela J","Unit":"Neighborhood and Business Services","Dept":"Directors Office Admin","Job_Title":"Administrative Secretary I","Annual_Rt":"$57,614.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3272},"geometry":null},{"type":"Feature","id":3273,"properties":{"Name":"Mumford,Patrick Thomas","Unit":"Neighborhood and Business Services","Dept":"Directors Office Admin","Job_Title":"Neighborhood & Bus Svs Directo","Annual_Rt":"$167,171.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3273},"geometry":null},{"type":"Feature","id":3274,"properties":{"Name":"Bailey,Cathy S","Unit":"Neighborhood and Business Services","Dept":"Directors Office Admin","Job_Title":"Office Assistant IV","Annual_Rt":"$34,763.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3274},"geometry":null},{"type":"Feature","id":3275,"properties":{"Name":"Cantrell,Emily Westbrook","Unit":"Neighborhood and Business Services","Dept":"Directors Office Admin","Job_Title":"Process Improvement Manager","Annual_Rt":"$72,124.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3275},"geometry":null},{"type":"Feature","id":3276,"properties":{"Name":"Ford,Ashley Lewis","Unit":"Neighborhood and Business Services","Dept":"Directors Office Communicatio","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$57,599.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3276},"geometry":null},{"type":"Feature","id":3277,"properties":{"Name":"Sparrow,Mary Kathryn","Unit":"Neighborhood and Business Services","Dept":"Directors Office Communicatio","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$59,399.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3277},"geometry":null},{"type":"Feature","id":3278,"properties":{"Name":"Everett,Darcy","Unit":"Neighborhood and Business Services","Dept":"Directors Office Operating","Job_Title":"Administrative Officer II","Annual_Rt":null,"Hrly_Rate":"$19.23 ","RegTemp":"T","Full/Part":"F","OBJECTID":3278},"geometry":null},{"type":"Feature","id":3279,"properties":{"Name":"Phocas,Robert John","Unit":"Neighborhood and Business Services","Dept":"Directors Office Operating","Job_Title":"Energy & Sustainability Manage","Annual_Rt":"$107,183.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3279},"geometry":null},{"type":"Feature","id":3280,"properties":{"Name":"Pak,Chae Hyon","Unit":"Neighborhood and Business Services","Dept":"Directors Office Technology","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$60,635.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3280},"geometry":null},{"type":"Feature","id":3281,"properties":{"Name":"Majercsik,William M","Unit":"Neighborhood and Business Services","Dept":"Directors Office Technology","Job_Title":"Business System Spec Sr","Annual_Rt":"$74,580.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3281},"geometry":null},{"type":"Feature","id":3282,"properties":{"Name":"Nicholson,Amy Lynn","Unit":"Neighborhood and Business Services","Dept":"Directors Office Technology","Job_Title":"Content Webmaster","Annual_Rt":"$55,055.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3282},"geometry":null},{"type":"Feature","id":3283,"properties":{"Name":"Woods,Cynthia L","Unit":"Neighborhood and Business Services","Dept":"Directors Office Training","Job_Title":"Training Specialist","Annual_Rt":"$71,029.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3283},"geometry":null},{"type":"Feature","id":3284,"properties":{"Name":"Nelson,Eric B.","Unit":"Neighborhood and Business Services","Dept":"Economic Development","Job_Title":"Economic Dev Program Mgr","Annual_Rt":"$73,440.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3284},"geometry":null},{"type":"Feature","id":3285,"properties":{"Name":"Warren,Natasha E","Unit":"Neighborhood and Business Services","Dept":"Economic Development","Job_Title":"Economic Dev Program Mgr","Annual_Rt":"$74,408.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3285},"geometry":null},{"type":"Feature","id":3286,"properties":{"Name":"Grier,Angela Adona","Unit":"Neighborhood and Business Services","Dept":"Economic Development","Job_Title":"Administrative Secretary II Ld","Annual_Rt":"$57,786.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3286},"geometry":null},{"type":"Feature","id":3287,"properties":{"Name":"Shull III,Atwell C","Unit":"Neighborhood and Business Services","Dept":"Economic Development","Job_Title":"Economic Dev Program Mgr","Annual_Rt":"$83,760.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3287},"geometry":null},{"type":"Feature","id":3288,"properties":{"Name":"Duru,Jennifer D. O.","Unit":"Neighborhood and Business Services","Dept":"Economic Development","Job_Title":"Economic Development Spec","Annual_Rt":"$59,987.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3288},"geometry":null},{"type":"Feature","id":3289,"properties":{"Name":"Mosley,Veronica W","Unit":"Neighborhood and Business Services","Dept":"Economic Development","Job_Title":"Economic Development Spec","Annual_Rt":"$62,434.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3289},"geometry":null},{"type":"Feature","id":3290,"properties":{"Name":"Whitcomb,Gail D.","Unit":"Neighborhood and Business Services","Dept":"Economic Development","Job_Title":"Economic Development Spec","Annual_Rt":"$55,516.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3290},"geometry":null},{"type":"Feature","id":3291,"properties":{"Name":"Richardson,Brad F","Unit":"Neighborhood and Business Services","Dept":"Economic Development","Job_Title":"N&BS Services Division Manager","Annual_Rt":"$99,327.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3291},"geometry":null},{"type":"Feature","id":3292,"properties":{"Name":"Floyd,Christi Chandler","Unit":"Neighborhood and Business Services","Dept":"Economic Development","Job_Title":"Small Business Program Special","Annual_Rt":"$51,912.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3292},"geometry":null},{"type":"Feature","id":3293,"properties":{"Name":"Bashore,Wendy Catherine","Unit":"Neighborhood and Business Services","Dept":"Housing - Administration","Job_Title":"Administrative Officer III","Annual_Rt":"$61,258.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3293},"geometry":null},{"type":"Feature","id":3294,"properties":{"Name":"Wideman,Pamela Jean","Unit":"Neighborhood and Business Services","Dept":"Housing - Administration","Job_Title":"Dep Neighborhood Bus Svc Dir","Annual_Rt":"$126,305.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3294},"geometry":null},{"type":"Feature","id":3295,"properties":{"Name":"Wooten,Timothy Warren","Unit":"Neighborhood and Business Services","Dept":"Housing - Administration","Job_Title":"N&BS Operations Manager","Annual_Rt":"$82,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3295},"geometry":null},{"type":"Feature","id":3296,"properties":{"Name":"Gaertner,Mary Carruthers","Unit":"Neighborhood and Business Services","Dept":"Housing - Administration","Job_Title":"N&BS Program Coordinator","Annual_Rt":"$60,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3296},"geometry":null},{"type":"Feature","id":3297,"properties":{"Name":"Pfeiffer,Rebecca H","Unit":"Neighborhood and Business Services","Dept":"Housing - Administration","Job_Title":"N&BS Program Coordinator","Annual_Rt":"$60,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3297},"geometry":null},{"type":"Feature","id":3298,"properties":{"Name":"Bennett,Linda M","Unit":"Neighborhood and Business Services","Dept":"Housing - Administration","Job_Title":"Office Assistant IV","Annual_Rt":"$43,402.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3298},"geometry":null},{"type":"Feature","id":3299,"properties":{"Name":"Beteta,W Denice","Unit":"Neighborhood and Business Services","Dept":"Housing - Asset Management","Job_Title":"Housing Services Supv","Annual_Rt":"$61,805.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3299},"geometry":null},{"type":"Feature","id":3300,"properties":{"Name":"Joyner,Delia Y.","Unit":"Neighborhood and Business Services","Dept":"Housing - Asset Management","Job_Title":"N&BS Program Coordinator","Annual_Rt":"$60,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3300},"geometry":null},{"type":"Feature","id":3301,"properties":{"Name":"Stoutamire,Mary Denise","Unit":"Neighborhood and Business Services","Dept":"Housing - Asset Management","Job_Title":"Neighborhood Devel Specialist","Annual_Rt":"$53,789.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3301},"geometry":null},{"type":"Feature","id":3302,"properties":{"Name":"West,Tasha M","Unit":"Neighborhood and Business Services","Dept":"Housing - Asset Management","Job_Title":"Neighborhood Devel Specialist","Annual_Rt":"$53,790.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3302},"geometry":null},{"type":"Feature","id":3303,"properties":{"Name":"Young,Robin F","Unit":"Neighborhood and Business Services","Dept":"Housing - Asset Management","Job_Title":"Neighborhood Devel Specialist","Annual_Rt":"$53,790.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3303},"geometry":null},{"type":"Feature","id":3304,"properties":{"Name":"Biermann,Zelleka A.","Unit":"Neighborhood and Business Services","Dept":"Housing -Development","Job_Title":"Housing Services Supv","Annual_Rt":"$68,090.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3304},"geometry":null},{"type":"Feature","id":3305,"properties":{"Name":"Angevin,Monique M","Unit":"Neighborhood and Business Services","Dept":"Housing - Asset Management","Job_Title":"Office Assistant IV","Annual_Rt":"$33,248.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3305},"geometry":null},{"type":"Feature","id":3306,"properties":{"Name":"Mason,Ronald M","Unit":"Neighborhood and Business Services","Dept":"Housing -Development","Job_Title":"Neighborhood Devel Specialist","Annual_Rt":"$53,790.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3306},"geometry":null},{"type":"Feature","id":3307,"properties":{"Name":"Adams,Diane M","Unit":"Neighborhood and Business Services","Dept":"Housing -Rehabilitation","Job_Title":"Code Enforcement Coordinator","Annual_Rt":"$74,182.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3307},"geometry":null},{"type":"Feature","id":3308,"properties":{"Name":"Mahon,James Marion","Unit":"Neighborhood and Business Services","Dept":"Housing -Rehabilitation","Job_Title":"Code Enforcement Inspector Ld","Annual_Rt":"$51,386.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3308},"geometry":null},{"type":"Feature","id":3309,"properties":{"Name":"Stoots,Kristina Johnson","Unit":"Neighborhood and Business Services","Dept":"Housing -Rehabilitation","Job_Title":"Code Enforcement Inspector Ld","Annual_Rt":"$51,386.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3309},"geometry":null},{"type":"Feature","id":3310,"properties":{"Name":"Jackson,Andrew D.","Unit":"Neighborhood and Business Services","Dept":"Small Business","Job_Title":"Small Business Program Adminis","Annual_Rt":"$61,862.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3310},"geometry":null},{"type":"Feature","id":3311,"properties":{"Name":"Rosado,Nancy Maria","Unit":"Neighborhood and Business Services","Dept":"Small Business","Job_Title":"Small Business Program Manager","Annual_Rt":"$82,676.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3311},"geometry":null},{"type":"Feature","id":3312,"properties":{"Name":"Hampton,Krystle S","Unit":"Neighborhood and Business Services","Dept":"Small Business","Job_Title":"Small Business Program Special","Annual_Rt":"$50,357.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3312},"geometry":null},{"type":"Feature","id":3313,"properties":{"Name":"Miles,Maria Nicole","Unit":"Neighborhood and Business Services","Dept":"Small Business","Job_Title":"Small Business Program Special","Annual_Rt":"$56,100.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3313},"geometry":null},{"type":"Feature","id":3314,"properties":{"Name":"Jackson,Jerrianne Berry","Unit":"Neighborhood and Business Services","Dept":"Small Business","Job_Title":"Small Business Program Special","Annual_Rt":"$51,363.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3314},"geometry":null},{"type":"Feature","id":3315,"properties":{"Name":"Tibbs,Kimberly S","Unit":"Neighborhood and Business Services","Dept":"Small Business","Job_Title":"Small Business Program Special","Annual_Rt":"$51,364.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3315},"geometry":null},{"type":"Feature","id":3316,"properties":{"Name":"Yaffe,Dora Emily","Unit":"Neighborhood and Business Services","Dept":"Small Business","Job_Title":"Small Business Program Special","Annual_Rt":"$51,900.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3316},"geometry":null},{"type":"Feature","id":3317,"properties":{"Name":"Barrett,Jon Patrick","Unit":"Neighborhood and Business Services","Dept":"Zoning Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,452.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3317},"geometry":null},{"type":"Feature","id":3318,"properties":{"Name":"Bell,Lovely Gee","Unit":"Neighborhood and Business Services","Dept":"Zoning Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$43,189.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3318},"geometry":null},{"type":"Feature","id":3319,"properties":{"Name":"Griffin,Mark J.","Unit":"Neighborhood and Business Services","Dept":"Zoning Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$50,730.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3319},"geometry":null},{"type":"Feature","id":3320,"properties":{"Name":"Cappetta,Margaret Hunter","Unit":"Neighborhood and Business Services","Dept":"Small Business","Job_Title":"Administrative Officer I","Annual_Rt":"$41,359.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3320},"geometry":null},{"type":"Feature","id":3321,"properties":{"Name":"Hodges,Charles T","Unit":"Neighborhood and Business Services","Dept":"Zoning Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$56,678.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3321},"geometry":null},{"type":"Feature","id":3322,"properties":{"Name":"Holback,Annesia Tylette","Unit":"Neighborhood and Business Services","Dept":"Zoning Enforcement Operating","Job_Title":"Code Enforcement Inspector","Annual_Rt":"$42,452.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3322},"geometry":null},{"type":"Feature","id":3323,"properties":{"Name":"Lee,George L","Unit":"Neighborhood and Business Services","Dept":"Zoning Enforcement Operating","Job_Title":"Code Enforcement Inspector Ld","Annual_Rt":"$51,386.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3323},"geometry":null},{"type":"Feature","id":3324,"properties":{"Name":"Gore,Gina","Unit":"Neighborhood and Business Services","Dept":"Zoning Enforcement Operating","Job_Title":"Code Process Specialist","Annual_Rt":"$42,452.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3324},"geometry":null},{"type":"Feature","id":3325,"properties":{"Name":"Moorer,Stephanie Lorraine","Unit":"Neighborhood and Business Services","Dept":"Zoning Enforcement Operating","Job_Title":"Code Process Specialist","Annual_Rt":"$42,452.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3325},"geometry":null},{"type":"Feature","id":3326,"properties":{"Name":"Fowler,Dennis Mark","Unit":"Neighborhood and Business Services","Dept":"Zoning Enforcement Operating","Job_Title":"N&BS Area Supervisor","Annual_Rt":"$61,804.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3326},"geometry":null},{"type":"Feature","id":3327,"properties":{"Name":"Hay,Jeannine Fay","Unit":"Neighborhood and Business Services","Dept":"Zoning Enforcement Operating","Job_Title":"Code Process Specialist","Annual_Rt":"$42,332.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3327},"geometry":null},{"type":"Feature","id":3328,"properties":{"Name":"Birmingham,Wanda S","Unit":"Planning ","Dept":"Historic District Commission","Job_Title":"Assistant Planner","Annual_Rt":"$51,953.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3328},"geometry":null},{"type":"Feature","id":3329,"properties":{"Name":"Fore,Portia Ramsona","Unit":"Neighborhood and Business Services","Dept":"Zoning Enforcement Operating","Job_Title":"Office Assistant IV","Annual_Rt":"$32,857.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3329},"geometry":null},{"type":"Feature","id":3330,"properties":{"Name":"Howard Jr,John G.","Unit":"Planning ","Dept":"Historic District Commission","Job_Title":"Planning Coordinator","Annual_Rt":"$74,479.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3330},"geometry":null},{"type":"Feature","id":3331,"properties":{"Name":"Robinson,Karen Washington","Unit":"Planning ","Dept":"Planning","Job_Title":"Administrative Officer II","Annual_Rt":"$53,741.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3331},"geometry":null},{"type":"Feature","id":3332,"properties":{"Name":"Harmon,Laura A","Unit":"Planning ","Dept":"Planning","Job_Title":"Assistant Planning Director","Annual_Rt":"$108,758.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3332},"geometry":null},{"type":"Feature","id":3333,"properties":{"Name":"Stewart,Sandra L","Unit":"Planning ","Dept":"Planning","Job_Title":"Administrative Officer III","Annual_Rt":"$60,765.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3333},"geometry":null},{"type":"Feature","id":3334,"properties":{"Name":"Johnson,Margaret Walsh","Unit":"Planning ","Dept":"Planning","Job_Title":"Assistant Planning Director","Annual_Rt":"$108,758.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3334},"geometry":null},{"type":"Feature","id":3335,"properties":{"Name":"McKinney,Edward James","Unit":"Planning ","Dept":"Planning","Job_Title":"Assistant Planning Director","Annual_Rt":"$106,451.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3335},"geometry":null},{"type":"Feature","id":3336,"properties":{"Name":"Aphayarath,Pontip","Unit":"Planning ","Dept":"Planning","Job_Title":"Associate Planner","Annual_Rt":"$49,769.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3336},"geometry":null},{"type":"Feature","id":3337,"properties":{"Name":"Stutts,Catherine Margaret","Unit":"Planning ","Dept":"Planning","Job_Title":"Associate Planner","Annual_Rt":"$47,940.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3337},"geometry":null},{"type":"Feature","id":3338,"properties":{"Name":"Prescott,Jason Vance","Unit":"Planning ","Dept":"Planning","Job_Title":"Associate Planner","Annual_Rt":"$47,940.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3338},"geometry":null},{"type":"Feature","id":3339,"properties":{"Name":"Taylor,Joseph I","Unit":"Planning ","Dept":"Planning","Job_Title":"GIS Technician","Annual_Rt":"$48,358.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3339},"geometry":null},{"type":"Feature","id":3340,"properties":{"Name":"Duhaney,Zenia E.","Unit":"Planning ","Dept":"Planning","Job_Title":"Office Assistant IV","Annual_Rt":"$34,408.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3340},"geometry":null},{"type":"Feature","id":3341,"properties":{"Name":"Barber,Michelle Streeter","Unit":"Planning ","Dept":"Planning","Job_Title":"Office Assistant V","Annual_Rt":"$39,200.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3341},"geometry":null},{"type":"Feature","id":3342,"properties":{"Name":"Main,Kent Ashley","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Coordinator","Annual_Rt":"$81,467.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3342},"geometry":null},{"type":"Feature","id":3343,"properties":{"Name":"Cothran,Penelope Jones","Unit":"Planning ","Dept":"Planning","Job_Title":"Office Assistant V","Annual_Rt":"$39,984.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3343},"geometry":null},{"type":"Feature","id":3344,"properties":{"Name":"Keich,Linda","Unit":"Planning ","Dept":"Planning","Job_Title":"Office Assistant V","Annual_Rt":"$40,576.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3344},"geometry":null},{"type":"Feature","id":3345,"properties":{"Name":"Dixon,Bridget Elise","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Coordinator","Annual_Rt":"$70,073.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3345},"geometry":null},{"type":"Feature","id":3346,"properties":{"Name":"Goodwin,Alan L","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Coordinator","Annual_Rt":"$74,478.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3346},"geometry":null},{"type":"Feature","id":3347,"properties":{"Name":"Hobbs,Richard B","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Coordinator","Annual_Rt":"$79,940.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3347},"geometry":null},{"type":"Feature","id":3348,"properties":{"Name":"Montgomery,Sandra Lynn","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Coordinator","Annual_Rt":"$85,903.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3348},"geometry":null},{"type":"Feature","id":3349,"properties":{"Name":"Mosley,Barry Pernell","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Coordinator","Annual_Rt":"$74,478.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3349},"geometry":null},{"type":"Feature","id":3350,"properties":{"Name":"Quinn,Lori A","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Coordinator","Annual_Rt":"$74,773.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3350},"geometry":null},{"type":"Feature","id":3351,"properties":{"Name":"Osborne,Alysia Davis","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Coordinator","Annual_Rt":"$74,479.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3351},"geometry":null},{"type":"Feature","id":3352,"properties":{"Name":"Jackson,Alice M","Unit":"Planning ","Dept":"Planning","Job_Title":"Office Assistant V","Annual_Rt":"$40,576.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3352},"geometry":null},{"type":"Feature","id":3353,"properties":{"Name":"Campbell,Debra D","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Director","Annual_Rt":"$184,293.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3353},"geometry":null},{"type":"Feature","id":3354,"properties":{"Name":"Cook,Robert W.","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Program Manager","Annual_Rt":"$90,670.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3354},"geometry":null},{"type":"Feature","id":3355,"properties":{"Name":"Frye,Shannon W","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Program Manager","Annual_Rt":"$86,935.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3355},"geometry":null},{"type":"Feature","id":3356,"properties":{"Name":"Keplinger,Tamara W","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Program Manager","Annual_Rt":"$86,932.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3356},"geometry":null},{"type":"Feature","id":3357,"properties":{"Name":"Spencer,Shad L","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Program Manager","Annual_Rt":"$86,932.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3357},"geometry":null},{"type":"Feature","id":3358,"properties":{"Name":"Thilo,Daniel C","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Program Manager","Annual_Rt":"$94,310.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3358},"geometry":null},{"type":"Feature","id":3359,"properties":{"Name":"Wells,Jonathan B","Unit":"Planning ","Dept":"Planning","Job_Title":"Planning Program Manager","Annual_Rt":"$94,312.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3359},"geometry":null},{"type":"Feature","id":3360,"properties":{"Name":"Bridges Jr,Curtis","Unit":"Planning ","Dept":"Planning","Job_Title":"Principal Planner","Annual_Rt":"$64,092.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3360},"geometry":null},{"type":"Feature","id":3361,"properties":{"Name":"Fortune,Solomon Avan","Unit":"Planning ","Dept":"Planning","Job_Title":"Principal Planner","Annual_Rt":"$67,457.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3361},"geometry":null},{"type":"Feature","id":3362,"properties":{"Name":"Kinley,John R","Unit":"Planning ","Dept":"Planning","Job_Title":"Principal Planner","Annual_Rt":"$61,517.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3362},"geometry":null},{"type":"Feature","id":3363,"properties":{"Name":"Lyte-Graham,Claire","Unit":"Planning ","Dept":"Planning","Job_Title":"Principal Planner","Annual_Rt":"$67,457.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3363},"geometry":null},{"type":"Feature","id":3364,"properties":{"Name":"Sigmon,Marcella K.","Unit":"Planning ","Dept":"Planning","Job_Title":"Principal Planner","Annual_Rt":"$65,634.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3364},"geometry":null},{"type":"Feature","id":3365,"properties":{"Name":"Weaver,Joshua F.","Unit":"Planning ","Dept":"Planning","Job_Title":"Principal Planner","Annual_Rt":"$67,457.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3365},"geometry":null},{"type":"Feature","id":3366,"properties":{"Name":"Suttle III,Bryman Oren","Unit":"Planning ","Dept":"Planning","Job_Title":"Principal Planner","Annual_Rt":"$67,457.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3366},"geometry":null},{"type":"Feature","id":3367,"properties":{"Name":"Cornett,Kathleen D","Unit":"Planning ","Dept":"Planning","Job_Title":"Sr Planning Coordinator","Annual_Rt":"$80,430.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3367},"geometry":null},{"type":"Feature","id":3368,"properties":{"Name":"Neely,Cheryl L","Unit":"Planning ","Dept":"Planning","Job_Title":"Sr Planning Coordinator","Annual_Rt":"$81,853.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3368},"geometry":null},{"type":"Feature","id":3369,"properties":{"Name":"McCullough,Melony C","Unit":"Planning ","Dept":"Planning","Job_Title":"Sr Planning Coordinator","Annual_Rt":"$85,511.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3369},"geometry":null},{"type":"Feature","id":3370,"properties":{"Name":"Burke,Neil Ailin","Unit":"Planning ","Dept":"Planning","Job_Title":"Sr Principal Planner","Annual_Rt":"$70,830.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3370},"geometry":null},{"type":"Feature","id":3371,"properties":{"Name":"Whitesell,Jan L","Unit":"Planning ","Dept":"Planning","Job_Title":"Sr Planning Coordinator","Annual_Rt":"$80,423.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3371},"geometry":null},{"type":"Feature","id":3372,"properties":{"Name":"Gonzalez,Alberto","Unit":"Planning ","Dept":"Planning","Job_Title":"Sr Principal Planner","Annual_Rt":"$70,902.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3372},"geometry":null},{"type":"Feature","id":3373,"properties":{"Name":"Grayson,Martha W","Unit":"Planning ","Dept":"Planning","Job_Title":"Sr Principal Planner","Annual_Rt":"$72,744.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3373},"geometry":null},{"type":"Feature","id":3374,"properties":{"Name":"Vari,Amanda","Unit":"Planning ","Dept":"Planning","Job_Title":"Principal Planner","Annual_Rt":"$61,517.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3374},"geometry":null},{"type":"Feature","id":3375,"properties":{"Name":"Jones,Paula Michelle","Unit":"Planning ","Dept":"Planning","Job_Title":"Sr Principal Planner","Annual_Rt":"$70,830.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3375},"geometry":null},{"type":"Feature","id":3376,"properties":{"Name":"Sanders,Sonja Y","Unit":"Planning ","Dept":"Zoning Administration","Job_Title":"Planning Coordinator","Annual_Rt":"$76,686.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3376},"geometry":null},{"type":"Feature","id":3377,"properties":{"Name":"Lowry,Evan H","Unit":"Planning ","Dept":"Planning","Job_Title":"Sr Principal Planner","Annual_Rt":"$70,830.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3377},"geometry":null},{"type":"Feature","id":3378,"properties":{"Name":"Wilkinson,Curry Brent","Unit":"Planning ","Dept":"Planning","Job_Title":"Sr Principal Planner","Annual_Rt":"$70,830.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3378},"geometry":null},{"type":"Feature","id":3379,"properties":{"Name":"Adams,Michael V","Unit":"Police","Dept":"Administrative Services Group","Job_Title":"Police Major","Annual_Rt":"$105,157.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3379},"geometry":null},{"type":"Feature","id":3380,"properties":{"Name":"Young,Katrina J.","Unit":"Planning ","Dept":"Zoning Administration","Job_Title":"Planning Program Manager","Annual_Rt":"$86,939.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3380},"geometry":null},{"type":"Feature","id":3381,"properties":{"Name":"Austin Jr,George R","Unit":"Police","Dept":"Administrative Services Group","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3381},"geometry":null},{"type":"Feature","id":3382,"properties":{"Name":"Graue,Katrina T","Unit":"Police","Dept":"Administrative Services Group","Job_Title":"Deputy Police Chief","Annual_Rt":"$120,792.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3382},"geometry":null},{"type":"Feature","id":3383,"properties":{"Name":"Kennedy,Sonda Sanders","Unit":"Planning ","Dept":"Zoning Administration","Job_Title":"Office Assistant V","Annual_Rt":"$40,548.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3383},"geometry":null},{"type":"Feature","id":3384,"properties":{"Name":"McNally,Teresa E","Unit":"Police","Dept":"Administrative Services Group","Job_Title":"Police Captain","Annual_Rt":null,"Hrly_Rate":"$36.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3384},"geometry":null},{"type":"Feature","id":3385,"properties":{"Name":"Goelz,Lisa A","Unit":"Police","Dept":"Administrative Services Group","Job_Title":"Police Major","Annual_Rt":"$103,095.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3385},"geometry":null},{"type":"Feature","id":3386,"properties":{"Name":"Betts,Alex David","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$46,906.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3386},"geometry":null},{"type":"Feature","id":3387,"properties":{"Name":"Robbins,Ricky R","Unit":"Police","Dept":"Administrative Services Group","Job_Title":"Police Sergeant","Annual_Rt":null,"Hrly_Rate":"$40.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3387},"geometry":null},{"type":"Feature","id":3388,"properties":{"Name":"Hare,Timothy M","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$51,056.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3388},"geometry":null},{"type":"Feature","id":3389,"properties":{"Name":"Hoffmann,Rachael Elisabeth","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$44,946.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3389},"geometry":null},{"type":"Feature","id":3390,"properties":{"Name":"Blanton,Shawn G","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$46,583.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3390},"geometry":null},{"type":"Feature","id":3391,"properties":{"Name":"Isner,Kerry B","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$45,219.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3391},"geometry":null},{"type":"Feature","id":3392,"properties":{"Name":"Cudd,Christopher Michael","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$46,600.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3392},"geometry":null},{"type":"Feature","id":3393,"properties":{"Name":"Lor,Xeng","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$42,864.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3393},"geometry":null},{"type":"Feature","id":3394,"properties":{"Name":"Lopez,Frank","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$46,986.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3394},"geometry":null},{"type":"Feature","id":3395,"properties":{"Name":"Marotta,John Scott","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$46,516.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3395},"geometry":null},{"type":"Feature","id":3396,"properties":{"Name":"Morales,Eric","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$42,098.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3396},"geometry":null},{"type":"Feature","id":3397,"properties":{"Name":"Paxton,Chad E.","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$47,057.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3397},"geometry":null},{"type":"Feature","id":3398,"properties":{"Name":"Blevins,Brandon Lee","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$44,894.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3398},"geometry":null},{"type":"Feature","id":3399,"properties":{"Name":"Russell II,Donald Oren","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$43,720.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3399},"geometry":null},{"type":"Feature","id":3400,"properties":{"Name":"Smith Jr,Hilton Grady","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$45,323.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3400},"geometry":null},{"type":"Feature","id":3401,"properties":{"Name":"Smith,Rocky Todd","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$44,749.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3401},"geometry":null},{"type":"Feature","id":3402,"properties":{"Name":"Strickland,David T","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$50,575.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3402},"geometry":null},{"type":"Feature","id":3403,"properties":{"Name":"Swaringen II,Julian M","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$49,792.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3403},"geometry":null},{"type":"Feature","id":3404,"properties":{"Name":"Wassel,Mark John","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer I","Annual_Rt":"$45,621.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3404},"geometry":null},{"type":"Feature","id":3405,"properties":{"Name":"Parker,Timothy David","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer II","Annual_Rt":"$55,349.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3405},"geometry":null},{"type":"Feature","id":3406,"properties":{"Name":"Wilson,James G","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Airport Safety Officer II","Annual_Rt":"$64,003.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3406},"geometry":null},{"type":"Feature","id":3407,"properties":{"Name":"Herring,George B","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3407},"geometry":null},{"type":"Feature","id":3408,"properties":{"Name":"Anagnostis,Nicky","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3408},"geometry":null},{"type":"Feature","id":3409,"properties":{"Name":"Alexander Jr,Ernest C","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3409},"geometry":null},{"type":"Feature","id":3410,"properties":{"Name":"Moorefield,David L.","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3410},"geometry":null},{"type":"Feature","id":3411,"properties":{"Name":"Boyce,Reginald D","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3411},"geometry":null},{"type":"Feature","id":3412,"properties":{"Name":"Brown,Robert E","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3412},"geometry":null},{"type":"Feature","id":3413,"properties":{"Name":"Brown,Anthony G","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3413},"geometry":null},{"type":"Feature","id":3414,"properties":{"Name":"Brown,Stephen Gregory","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$51,493.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3414},"geometry":null},{"type":"Feature","id":3415,"properties":{"Name":"Cabarcas-Ortega,Nestor","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$49,933.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3415},"geometry":null},{"type":"Feature","id":3416,"properties":{"Name":"Clark,Kenneth R","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3416},"geometry":null},{"type":"Feature","id":3417,"properties":{"Name":"Conner,Thomas J","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3417},"geometry":null},{"type":"Feature","id":3418,"properties":{"Name":"Corwin,Mark E","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3418},"geometry":null},{"type":"Feature","id":3419,"properties":{"Name":"Crawford,Anthony C","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3419},"geometry":null},{"type":"Feature","id":3420,"properties":{"Name":"Davis,Michael L","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3420},"geometry":null},{"type":"Feature","id":3421,"properties":{"Name":"Huffman,Amanda D","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3421},"geometry":null},{"type":"Feature","id":3422,"properties":{"Name":"Dendy,Bobby Joe","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$53,740.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3422},"geometry":null},{"type":"Feature","id":3423,"properties":{"Name":"Elliott Jr,James P","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3423},"geometry":null},{"type":"Feature","id":3424,"properties":{"Name":"Goodson,Barry W","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3424},"geometry":null},{"type":"Feature","id":3425,"properties":{"Name":"Greene,Teresa R","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3425},"geometry":null},{"type":"Feature","id":3426,"properties":{"Name":"Fletcher,Jerry S","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3426},"geometry":null},{"type":"Feature","id":3427,"properties":{"Name":"Gunner,Brad Lee","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3427},"geometry":null},{"type":"Feature","id":3428,"properties":{"Name":"Holshouser Jr,Oswald D","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3428},"geometry":null},{"type":"Feature","id":3429,"properties":{"Name":"House Jr,Roy W","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3429},"geometry":null},{"type":"Feature","id":3430,"properties":{"Name":"Davis,Craig S","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3430},"geometry":null},{"type":"Feature","id":3431,"properties":{"Name":"Jackson,Frances H","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3431},"geometry":null},{"type":"Feature","id":3432,"properties":{"Name":"Jackson,Harold R","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3432},"geometry":null},{"type":"Feature","id":3433,"properties":{"Name":"Klein,Jeffrey M","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3433},"geometry":null},{"type":"Feature","id":3434,"properties":{"Name":"James,Burnice E","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3434},"geometry":null},{"type":"Feature","id":3435,"properties":{"Name":"LeBlanc,Chad Michael","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$49,933.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3435},"geometry":null},{"type":"Feature","id":3436,"properties":{"Name":"McCrae,Daniel","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3436},"geometry":null},{"type":"Feature","id":3437,"properties":{"Name":"McDaniel,Joseph Anthony","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$47,555.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3437},"geometry":null},{"type":"Feature","id":3438,"properties":{"Name":"Milton,Robert Douglas","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$47,555.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3438},"geometry":null},{"type":"Feature","id":3439,"properties":{"Name":"Mintz,Thomas N","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3439},"geometry":null},{"type":"Feature","id":3440,"properties":{"Name":"Quiles,Rene","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3440},"geometry":null},{"type":"Feature","id":3441,"properties":{"Name":"Sarvis,Susan D","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3441},"geometry":null},{"type":"Feature","id":3442,"properties":{"Name":"Setzer,Howard P","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3442},"geometry":null},{"type":"Feature","id":3443,"properties":{"Name":"Sims,Kenneth R","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3443},"geometry":null},{"type":"Feature","id":3444,"properties":{"Name":"Starnes,Angela Dawn","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3444},"geometry":null},{"type":"Feature","id":3445,"properties":{"Name":"Spencer,Robert L","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$49,933.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3445},"geometry":null},{"type":"Feature","id":3446,"properties":{"Name":"Waller,Derek Glenn","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3446},"geometry":null},{"type":"Feature","id":3447,"properties":{"Name":"Walton,Costa A","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3447},"geometry":null},{"type":"Feature","id":3448,"properties":{"Name":"Warren,Michael F","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3448},"geometry":null},{"type":"Feature","id":3449,"properties":{"Name":"Watkins,Anthony Jerome","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$47,555.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3449},"geometry":null},{"type":"Feature","id":3450,"properties":{"Name":"Williams,Vickie Lorraine","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$47,555.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3450},"geometry":null},{"type":"Feature","id":3451,"properties":{"Name":"Williams,James E","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3451},"geometry":null},{"type":"Feature","id":3452,"properties":{"Name":"Spaulding,Jeffrey S","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3452},"geometry":null},{"type":"Feature","id":3453,"properties":{"Name":"Wilson,Christopher Clifford","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3453},"geometry":null},{"type":"Feature","id":3454,"properties":{"Name":"Woodley,Joseph H","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3454},"geometry":null},{"type":"Feature","id":3455,"properties":{"Name":"Eubanks,Christopher P","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3455},"geometry":null},{"type":"Feature","id":3456,"properties":{"Name":"Yanacsek,Robert S","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3456},"geometry":null},{"type":"Feature","id":3457,"properties":{"Name":"Robson,Arthur M","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3457},"geometry":null},{"type":"Feature","id":3458,"properties":{"Name":"McMurray,Brenda Little","Unit":"Police","Dept":"Alarm Ordinance Enforcement Un","Job_Title":"Police Investigation Tech","Annual_Rt":null,"Hrly_Rate":"$21.74 ","RegTemp":"T","Full/Part":"F","OBJECTID":3458},"geometry":null},{"type":"Feature","id":3459,"properties":{"Name":"McIlwain,Rico J","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3459},"geometry":null},{"type":"Feature","id":3460,"properties":{"Name":"Schwob,David M","Unit":"Police","Dept":"Airport Law Enforcement Divisi","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3460},"geometry":null},{"type":"Feature","id":3461,"properties":{"Name":"Wilson,David S","Unit":"Police","Dept":"Alarm Ordinance Enforcement Un","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3461},"geometry":null},{"type":"Feature","id":3462,"properties":{"Name":"Nelson,Verna J.","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Administrative Officer I","Annual_Rt":"$44,566.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3462},"geometry":null},{"type":"Feature","id":3463,"properties":{"Name":"Balestra,Mark A","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Bureau Mgr","Annual_Rt":"$74,755.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3463},"geometry":null},{"type":"Feature","id":3464,"properties":{"Name":"Tatom,Angela L","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Administrative Officer I","Annual_Rt":"$46,615.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3464},"geometry":null},{"type":"Feature","id":3465,"properties":{"Name":"Blanchett,Jennifer V","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,455.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3465},"geometry":null},{"type":"Feature","id":3466,"properties":{"Name":"Bell,Jay W.","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,455.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3466},"geometry":null},{"type":"Feature","id":3467,"properties":{"Name":"Davila,Alexander","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,310.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3467},"geometry":null},{"type":"Feature","id":3468,"properties":{"Name":"Felstow,Jeremy W","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,455.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3468},"geometry":null},{"type":"Feature","id":3469,"properties":{"Name":"Hopkins,Nicholas Ryan","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,455.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3469},"geometry":null},{"type":"Feature","id":3470,"properties":{"Name":"Conner,Julia Gilmore","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,594.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3470},"geometry":null},{"type":"Feature","id":3471,"properties":{"Name":"Kish,Scott W","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,455.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3471},"geometry":null},{"type":"Feature","id":3472,"properties":{"Name":"Lambert,Joshua Ryan","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$29,569.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3472},"geometry":null},{"type":"Feature","id":3473,"properties":{"Name":"Lynch,Katie A","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,310.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3473},"geometry":null},{"type":"Feature","id":3474,"properties":{"Name":"Pollard,Margaret McBride","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,160.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3474},"geometry":null},{"type":"Feature","id":3475,"properties":{"Name":"Stahl,David Michael","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,455.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3475},"geometry":null},{"type":"Feature","id":3476,"properties":{"Name":"Murphy,Robert J","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,455.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3476},"geometry":null},{"type":"Feature","id":3477,"properties":{"Name":"Stecher,Matthew James","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$29,989.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3477},"geometry":null},{"type":"Feature","id":3478,"properties":{"Name":"Waritay,Darlingston Kamara","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,455.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3478},"geometry":null},{"type":"Feature","id":3479,"properties":{"Name":"Wayman,Danielle","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,310.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3479},"geometry":null},{"type":"Feature","id":3480,"properties":{"Name":"Stiehm,Elizabeth Kristen","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,310.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3480},"geometry":null},{"type":"Feature","id":3481,"properties":{"Name":"Woody,David H","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,455.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3481},"geometry":null},{"type":"Feature","id":3482,"properties":{"Name":"Worthy,Christopher Morgan","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,310.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3482},"geometry":null},{"type":"Feature","id":3483,"properties":{"Name":"Yates,Boimah Z","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,455.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3483},"geometry":null},{"type":"Feature","id":3484,"properties":{"Name":"Brenner,William Simon Richard","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Lead","Annual_Rt":"$34,027.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3484},"geometry":null},{"type":"Feature","id":3485,"properties":{"Name":"Anderson,Phillip J","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Lead","Annual_Rt":"$38,483.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3485},"geometry":null},{"type":"Feature","id":3486,"properties":{"Name":"Yen,Tzu-Chung","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer","Annual_Rt":"$30,449.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3486},"geometry":null},{"type":"Feature","id":3487,"properties":{"Name":"Broadie,Johnny M","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Lead","Annual_Rt":"$52,313.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3487},"geometry":null},{"type":"Feature","id":3488,"properties":{"Name":"Campos,Robert J","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Lead","Annual_Rt":"$34,846.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3488},"geometry":null},{"type":"Feature","id":3489,"properties":{"Name":"Capps,Brian Lee","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Lead","Annual_Rt":"$33,589.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3489},"geometry":null},{"type":"Feature","id":3490,"properties":{"Name":"Craton,Mary H","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Lead","Annual_Rt":"$44,540.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3490},"geometry":null},{"type":"Feature","id":3491,"properties":{"Name":"Lockler,Adam Holland","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Lead","Annual_Rt":"$36,372.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3491},"geometry":null},{"type":"Feature","id":3492,"properties":{"Name":"Martin,Keisha Dawn","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Lead","Annual_Rt":"$36,372.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3492},"geometry":null},{"type":"Feature","id":3493,"properties":{"Name":"Phillips,Derwin E.","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Lead","Annual_Rt":"$34,628.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3493},"geometry":null},{"type":"Feature","id":3494,"properties":{"Name":"Shrewsbury II,David V.","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Lead","Annual_Rt":"$34,460.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3494},"geometry":null},{"type":"Feature","id":3495,"properties":{"Name":"Zapf,Jaclyn","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Lead","Annual_Rt":"$33,762.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3495},"geometry":null},{"type":"Feature","id":3496,"properties":{"Name":"Conner,Michael L.","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Senior","Annual_Rt":"$31,661.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3496},"geometry":null},{"type":"Feature","id":3497,"properties":{"Name":"Edwards,Terry S","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Senior","Annual_Rt":"$33,341.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3497},"geometry":null},{"type":"Feature","id":3498,"properties":{"Name":"Hankinson,Chloe","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Senior","Annual_Rt":"$32,860.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3498},"geometry":null},{"type":"Feature","id":3499,"properties":{"Name":"Marler,Matthew David","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Senior","Annual_Rt":"$33,341.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3499},"geometry":null},{"type":"Feature","id":3500,"properties":{"Name":"Vang,Vua","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Senior","Annual_Rt":"$32,923.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3500},"geometry":null},{"type":"Feature","id":3501,"properties":{"Name":"Willover,Daniel L","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Officer-Senior","Annual_Rt":"$33,341.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3501},"geometry":null},{"type":"Feature","id":3502,"properties":{"Name":"Harkey,Bryan S","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Supervisor","Annual_Rt":"$40,857.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3502},"geometry":null},{"type":"Feature","id":3503,"properties":{"Name":"Kirchhofer,Tracey Ann","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Supervisor","Annual_Rt":"$41,449.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3503},"geometry":null},{"type":"Feature","id":3504,"properties":{"Name":"Corkwell,Shannon Marie","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Supervisor","Annual_Rt":"$42,872.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3504},"geometry":null},{"type":"Feature","id":3505,"properties":{"Name":"Morrison,William McCollum","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Supervisor","Annual_Rt":"$41,526.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3505},"geometry":null},{"type":"Feature","id":3506,"properties":{"Name":"Russell Jr,Gerald Wallace","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Supervisor","Annual_Rt":"$58,096.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3506},"geometry":null},{"type":"Feature","id":3507,"properties":{"Name":"Smith,Jessica Raye","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Supervisor","Annual_Rt":"$41,129.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3507},"geometry":null},{"type":"Feature","id":3508,"properties":{"Name":"Schaufler,Theodore D.","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Control Supervisor","Annual_Rt":"$39,965.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3508},"geometry":null},{"type":"Feature","id":3509,"properties":{"Name":"Miller,Kimberly Kay","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Health Technician","Annual_Rt":"$33,370.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3509},"geometry":null},{"type":"Feature","id":3510,"properties":{"Name":"Lopez,Trisha Dawn","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Health Technician","Annual_Rt":"$30,778.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3510},"geometry":null},{"type":"Feature","id":3511,"properties":{"Name":"Blinn,Mary K","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Shelter Manager","Annual_Rt":"$80,462.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3511},"geometry":null},{"type":"Feature","id":3512,"properties":{"Name":"Tem,Sokha","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Health Technician","Annual_Rt":"$30,787.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3512},"geometry":null},{"type":"Feature","id":3513,"properties":{"Name":"Tarleton,Kathryn Marie","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Health Technician","Annual_Rt":"$30,778.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3513},"geometry":null},{"type":"Feature","id":3514,"properties":{"Name":"Owens,Karen Alida","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Animal Trainer","Annual_Rt":"$32,130.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3514},"geometry":null},{"type":"Feature","id":3515,"properties":{"Name":"Dowdy,Diane A","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$56,390.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3515},"geometry":null},{"type":"Feature","id":3516,"properties":{"Name":"Crump,Ashley McDonald","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Kennel Attendant","Annual_Rt":"$25,053.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3516},"geometry":null},{"type":"Feature","id":3517,"properties":{"Name":"Gibson,James William","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Kennel Attendant","Annual_Rt":"$24,384.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3517},"geometry":null},{"type":"Feature","id":3518,"properties":{"Name":"Goins Jr,Harry A","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Kennel Attendant","Annual_Rt":"$32,043.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3518},"geometry":null},{"type":"Feature","id":3519,"properties":{"Name":"Jacobs,Daniel Bruce","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Kennel Attendant","Annual_Rt":"$24,384.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3519},"geometry":null},{"type":"Feature","id":3520,"properties":{"Name":"McCoy,Kiesa M.","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Kennel Attendant","Annual_Rt":"$24,384.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3520},"geometry":null},{"type":"Feature","id":3521,"properties":{"Name":"Salazar,Darlene Kaleimomi","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Kennel Attendant","Annual_Rt":"$24,169.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3521},"geometry":null},{"type":"Feature","id":3522,"properties":{"Name":"Lathan II,Montega Raifield","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Kennel Attendant","Annual_Rt":"$23,838.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3522},"geometry":null},{"type":"Feature","id":3523,"properties":{"Name":"Wright,Leslie James","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Kennel Attendant","Annual_Rt":"$24,384.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3523},"geometry":null},{"type":"Feature","id":3524,"properties":{"Name":"Porter,Robbi L","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Kennel Supervisor","Annual_Rt":"$41,211.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3524},"geometry":null},{"type":"Feature","id":3525,"properties":{"Name":"Stillabower,Audra Kay","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Kennel Supervisor","Annual_Rt":"$38,376.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3525},"geometry":null},{"type":"Feature","id":3526,"properties":{"Name":"Todd,Lori R","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Kennel Supervisor","Annual_Rt":"$39,700.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3526},"geometry":null},{"type":"Feature","id":3527,"properties":{"Name":"Crockett,Kim","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Office Assistant III","Annual_Rt":"$27,584.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3527},"geometry":null},{"type":"Feature","id":3528,"properties":{"Name":"Knicely,Melissa D","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$60,473.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3528},"geometry":null},{"type":"Feature","id":3529,"properties":{"Name":"Bannerman III,Charles W","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Police Captain","Annual_Rt":"$95,957.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3529},"geometry":null},{"type":"Feature","id":3530,"properties":{"Name":"Bedard,Nancy L","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Service Dispatcher","Annual_Rt":"$30,984.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3530},"geometry":null},{"type":"Feature","id":3531,"properties":{"Name":"Constance,Linda P","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Service Dispatcher","Annual_Rt":"$31,540.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3531},"geometry":null},{"type":"Feature","id":3532,"properties":{"Name":"Davis,James R","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Service Dispatcher","Annual_Rt":"$30,603.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3532},"geometry":null},{"type":"Feature","id":3533,"properties":{"Name":"Yeager,Amy Lynn","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Service Dispatcher","Annual_Rt":"$29,825.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3533},"geometry":null},{"type":"Feature","id":3534,"properties":{"Name":"Hagemann,Linda Lee","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Service Dispatcher","Annual_Rt":"$15,475.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":3534},"geometry":null},{"type":"Feature","id":3535,"properties":{"Name":"McKinney,Cynthia Lynn","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Veterinary Technician","Annual_Rt":"$32,397.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3535},"geometry":null},{"type":"Feature","id":3536,"properties":{"Name":"Cook,Barry A.","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Assistant City Attorney II","Annual_Rt":null,"Hrly_Rate":"$75.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3536},"geometry":null},{"type":"Feature","id":3537,"properties":{"Name":"Stuesse,Sherry Blankenship","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Administrative Officer III","Annual_Rt":null,"Hrly_Rate":"$39.98 ","RegTemp":"T","Full/Part":"F","OBJECTID":3537},"geometry":null},{"type":"Feature","id":3538,"properties":{"Name":"Chapman,Kimberly C","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Investigation Tech","Annual_Rt":"$52,109.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3538},"geometry":null},{"type":"Feature","id":3539,"properties":{"Name":"Armstrong,Troy A","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3539},"geometry":null},{"type":"Feature","id":3540,"properties":{"Name":"Blalock,Steven A","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3540},"geometry":null},{"type":"Feature","id":3541,"properties":{"Name":"Banner,Cynthia Abigail Dawkins","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3541},"geometry":null},{"type":"Feature","id":3542,"properties":{"Name":"Lafon,Donna H","Unit":"Police","Dept":"Animal Care & Control Division","Job_Title":"Service Dispatcher","Annual_Rt":"$33,337.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3542},"geometry":null},{"type":"Feature","id":3543,"properties":{"Name":"Blum,Pamela N","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3543},"geometry":null},{"type":"Feature","id":3544,"properties":{"Name":"Clark,William B","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3544},"geometry":null},{"type":"Feature","id":3545,"properties":{"Name":"Cougill,Christina A.","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3545},"geometry":null},{"type":"Feature","id":3546,"properties":{"Name":"Decker,Thomas Christopher","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3546},"geometry":null},{"type":"Feature","id":3547,"properties":{"Name":"Fischbach,Stephen A.","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$60,593.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3547},"geometry":null},{"type":"Feature","id":3548,"properties":{"Name":"Goncalves,Thomas Michael","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3548},"geometry":null},{"type":"Feature","id":3549,"properties":{"Name":"Holmes,Linda L","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3549},"geometry":null},{"type":"Feature","id":3550,"properties":{"Name":"Horton,Sandra Ashley","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3550},"geometry":null},{"type":"Feature","id":3551,"properties":{"Name":"Hyde,Andrew Dennett","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3551},"geometry":null},{"type":"Feature","id":3552,"properties":{"Name":"Ivie III,James Warren","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3552},"geometry":null},{"type":"Feature","id":3553,"properties":{"Name":"Owens,Carol B","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3553},"geometry":null},{"type":"Feature","id":3554,"properties":{"Name":"Medrano,Kenia","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$52,084.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3554},"geometry":null},{"type":"Feature","id":3555,"properties":{"Name":"Pearson,Brian G","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3555},"geometry":null},{"type":"Feature","id":3556,"properties":{"Name":"Riedel,Richard E","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3556},"geometry":null},{"type":"Feature","id":3557,"properties":{"Name":"Quevedo,Eduardo Alejandro","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$60,294.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3557},"geometry":null},{"type":"Feature","id":3558,"properties":{"Name":"Rush,Christopher J","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3558},"geometry":null},{"type":"Feature","id":3559,"properties":{"Name":"Todd,Stephen J","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3559},"geometry":null},{"type":"Feature","id":3560,"properties":{"Name":"Stutts,Todd E","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3560},"geometry":null},{"type":"Feature","id":3561,"properties":{"Name":"Terry,Justin Stephen","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3561},"geometry":null},{"type":"Feature","id":3562,"properties":{"Name":"Melendez,Michael","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$69,923.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3562},"geometry":null},{"type":"Feature","id":3563,"properties":{"Name":"Wagner,Matthew S","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3563},"geometry":null},{"type":"Feature","id":3564,"properties":{"Name":"Washington,Adrian L","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$52,430.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3564},"geometry":null},{"type":"Feature","id":3565,"properties":{"Name":"Wolfe Jr,Alan Edgar","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3565},"geometry":null},{"type":"Feature","id":3566,"properties":{"Name":"Peacock,Melanie W","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3566},"geometry":null},{"type":"Feature","id":3567,"properties":{"Name":"Scharf,Brian C","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3567},"geometry":null},{"type":"Feature","id":3568,"properties":{"Name":"Price,Darrell A","Unit":"Police","Dept":"Armed Robbery/Sexual Assault D","Job_Title":"Police Sergeant","Annual_Rt":null,"Hrly_Rate":"$40.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3568},"geometry":null},{"type":"Feature","id":3569,"properties":{"Name":"Bristle,Donald W","Unit":"Police","Dept":"Aviation Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3569},"geometry":null},{"type":"Feature","id":3570,"properties":{"Name":"Haight Jr,Richard C","Unit":"Police","Dept":"Aviation Unit","Job_Title":"Police Aircraft Mechanic","Annual_Rt":"$48,285.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3570},"geometry":null},{"type":"Feature","id":3571,"properties":{"Name":"Colpitts,Richard G","Unit":"Police","Dept":"Aviation Unit","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3571},"geometry":null},{"type":"Feature","id":3572,"properties":{"Name":"Gilley,Jeffrey T","Unit":"Police","Dept":"Aviation Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3572},"geometry":null},{"type":"Feature","id":3573,"properties":{"Name":"Harrington,Jeff M","Unit":"Police","Dept":"Aviation Unit","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3573},"geometry":null},{"type":"Feature","id":3574,"properties":{"Name":"Hollifield,Hershel P","Unit":"Police","Dept":"Aviation Unit","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3574},"geometry":null},{"type":"Feature","id":3575,"properties":{"Name":"Kelly,William E","Unit":"Police","Dept":"Aviation Unit","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3575},"geometry":null},{"type":"Feature","id":3576,"properties":{"Name":"Porter,Matthew E","Unit":"Police","Dept":"Aviation Unit","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3576},"geometry":null},{"type":"Feature","id":3577,"properties":{"Name":"Anderson,Kenneth S","Unit":"Police","Dept":"Aviation Unit","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3577},"geometry":null},{"type":"Feature","id":3578,"properties":{"Name":"Acker-Estes,Emily","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3578},"geometry":null},{"type":"Feature","id":3579,"properties":{"Name":"Altmann,Stephen R.","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3579},"geometry":null},{"type":"Feature","id":3580,"properties":{"Name":"Arnold,Stephen W.","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3580},"geometry":null},{"type":"Feature","id":3581,"properties":{"Name":"Brown,Darrell J","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3581},"geometry":null},{"type":"Feature","id":3582,"properties":{"Name":"Capotosta,Peter J","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3582},"geometry":null},{"type":"Feature","id":3583,"properties":{"Name":"Davies,Justin Michael","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3583},"geometry":null},{"type":"Feature","id":3584,"properties":{"Name":"Hoskins,Joseph D","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3584},"geometry":null},{"type":"Feature","id":3585,"properties":{"Name":"Lopez Jr,Carlos","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3585},"geometry":null},{"type":"Feature","id":3586,"properties":{"Name":"Milbourn,Cory Ray","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$57,838.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3586},"geometry":null},{"type":"Feature","id":3587,"properties":{"Name":"Nickerson Jr,George D","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3587},"geometry":null},{"type":"Feature","id":3588,"properties":{"Name":"Overcash,Adam B","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$56,428.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3588},"geometry":null},{"type":"Feature","id":3589,"properties":{"Name":"Robinette,Ralph E","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3589},"geometry":null},{"type":"Feature","id":3590,"properties":{"Name":"Yoder,Matthew T","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3590},"geometry":null},{"type":"Feature","id":3591,"properties":{"Name":"Graue,Michael C","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3591},"geometry":null},{"type":"Feature","id":3592,"properties":{"Name":"Tucker,Gregory P","Unit":"Police","Dept":"Canine Unit","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3592},"geometry":null},{"type":"Feature","id":3593,"properties":{"Name":"Balamucki,Bret","Unit":"Police","Dept":"Central Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3593},"geometry":null},{"type":"Feature","id":3594,"properties":{"Name":"Ratliff,Azara Jean","Unit":"Police","Dept":"Central Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$43,973.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3594},"geometry":null},{"type":"Feature","id":3595,"properties":{"Name":"Carey IV,Joseph W","Unit":"Police","Dept":"Central Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3595},"geometry":null},{"type":"Feature","id":3596,"properties":{"Name":"Amado,Scott David","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$52,084.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3596},"geometry":null},{"type":"Feature","id":3597,"properties":{"Name":"Carver,Casey T","Unit":"Police","Dept":"Central Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3597},"geometry":null},{"type":"Feature","id":3598,"properties":{"Name":"Baucom,Jeffrey L","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$55,420.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3598},"geometry":null},{"type":"Feature","id":3599,"properties":{"Name":"Appleman,Aaron S","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3599},"geometry":null},{"type":"Feature","id":3600,"properties":{"Name":"Bingham,Jeffrey L","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3600},"geometry":null},{"type":"Feature","id":3601,"properties":{"Name":"Beeker,Anthony Robert","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3601},"geometry":null},{"type":"Feature","id":3602,"properties":{"Name":"Buckley,Daniel C","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3602},"geometry":null},{"type":"Feature","id":3603,"properties":{"Name":"Bumgarner,Jennifer Gwyn","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3603},"geometry":null},{"type":"Feature","id":3604,"properties":{"Name":"Campagna,Michael A","Unit":"Police","Dept":"Central Division","Job_Title":"Police Captain","Annual_Rt":"$96,853.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3604},"geometry":null},{"type":"Feature","id":3605,"properties":{"Name":"Chow,Jonathan C","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3605},"geometry":null},{"type":"Feature","id":3606,"properties":{"Name":"Colby,Jonathan Michael","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3606},"geometry":null},{"type":"Feature","id":3607,"properties":{"Name":"Colligan,William T","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3607},"geometry":null},{"type":"Feature","id":3608,"properties":{"Name":"Cotton,Richard M","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3608},"geometry":null},{"type":"Feature","id":3609,"properties":{"Name":"Courtney,Joseph K","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3609},"geometry":null},{"type":"Feature","id":3610,"properties":{"Name":"Crawford,Derrick L","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3610},"geometry":null},{"type":"Feature","id":3611,"properties":{"Name":"Cucinella,Michael U","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3611},"geometry":null},{"type":"Feature","id":3612,"properties":{"Name":"Dillingham,Anthony J","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3612},"geometry":null},{"type":"Feature","id":3613,"properties":{"Name":"Davis,John P.","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$60,962.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3613},"geometry":null},{"type":"Feature","id":3614,"properties":{"Name":"Decker,Naomi Gwenyth","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$43,134.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3614},"geometry":null},{"type":"Feature","id":3615,"properties":{"Name":"Edwards,Brian K","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3615},"geometry":null},{"type":"Feature","id":3616,"properties":{"Name":"Eichelberger,Darrion Lamont","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3616},"geometry":null},{"type":"Feature","id":3617,"properties":{"Name":"Ensley,Robert C","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3617},"geometry":null},{"type":"Feature","id":3618,"properties":{"Name":"Ensminger,Steven D","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3618},"geometry":null},{"type":"Feature","id":3619,"properties":{"Name":"Eubank,Charles M","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3619},"geometry":null},{"type":"Feature","id":3620,"properties":{"Name":"Faulkenberry,David R","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3620},"geometry":null},{"type":"Feature","id":3621,"properties":{"Name":"Faulkner,Stephen Alan","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$54,688.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3621},"geometry":null},{"type":"Feature","id":3622,"properties":{"Name":"Flowe,Clifford L","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3622},"geometry":null},{"type":"Feature","id":3623,"properties":{"Name":"Franklin,James S","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3623},"geometry":null},{"type":"Feature","id":3624,"properties":{"Name":"Goodwin,Robert S","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3624},"geometry":null},{"type":"Feature","id":3625,"properties":{"Name":"Hall,Brad C","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3625},"geometry":null},{"type":"Feature","id":3626,"properties":{"Name":"Higa,Jana Adnan","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$46,600.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3626},"geometry":null},{"type":"Feature","id":3627,"properties":{"Name":"Henry,Johnathan P.","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3627},"geometry":null},{"type":"Feature","id":3628,"properties":{"Name":"Holmes,Grant L","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3628},"geometry":null},{"type":"Feature","id":3629,"properties":{"Name":"Holmes,William B","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3629},"geometry":null},{"type":"Feature","id":3630,"properties":{"Name":"Hopkins,Camila M","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3630},"geometry":null},{"type":"Feature","id":3631,"properties":{"Name":"Hough Jr,Everett Nelson","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3631},"geometry":null},{"type":"Feature","id":3632,"properties":{"Name":"Hough,Richard A","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3632},"geometry":null},{"type":"Feature","id":3633,"properties":{"Name":"Isaacs Jr,Andrew Anthony","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$46,600.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3633},"geometry":null},{"type":"Feature","id":3634,"properties":{"Name":"Jester,David L","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3634},"geometry":null},{"type":"Feature","id":3635,"properties":{"Name":"Jellema,Joshua Michael","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3635},"geometry":null},{"type":"Feature","id":3636,"properties":{"Name":"Kendrick,Jeffrey R","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$52,430.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3636},"geometry":null},{"type":"Feature","id":3637,"properties":{"Name":"Kim,Abraham H","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3637},"geometry":null},{"type":"Feature","id":3638,"properties":{"Name":"Koenig,Derrick Paul","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3638},"geometry":null},{"type":"Feature","id":3639,"properties":{"Name":"King,Michael V","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3639},"geometry":null},{"type":"Feature","id":3640,"properties":{"Name":"Kwo,Cheng Pin","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3640},"geometry":null},{"type":"Feature","id":3641,"properties":{"Name":"Krauz,Kevin A","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3641},"geometry":null},{"type":"Feature","id":3642,"properties":{"Name":"Lee,Sangwon","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3642},"geometry":null},{"type":"Feature","id":3643,"properties":{"Name":"Lopez,David Alexander","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3643},"geometry":null},{"type":"Feature","id":3644,"properties":{"Name":"Luciano III,Nicholas D","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3644},"geometry":null},{"type":"Feature","id":3645,"properties":{"Name":"Long,James C","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3645},"geometry":null},{"type":"Feature","id":3646,"properties":{"Name":"Maglione,Anthony D","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3646},"geometry":null},{"type":"Feature","id":3647,"properties":{"Name":"Martin,Christopher Todd","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3647},"geometry":null},{"type":"Feature","id":3648,"properties":{"Name":"Martin,Dawn Marie","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3648},"geometry":null},{"type":"Feature","id":3649,"properties":{"Name":"Mauldin,Mark A","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3649},"geometry":null},{"type":"Feature","id":3650,"properties":{"Name":"Kodad,Kristopher S.","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$60,962.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3650},"geometry":null},{"type":"Feature","id":3651,"properties":{"Name":"McIntyre,Lonnie Craig","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$46,600.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3651},"geometry":null},{"type":"Feature","id":3652,"properties":{"Name":"McMichael,Shawn T","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3652},"geometry":null},{"type":"Feature","id":3653,"properties":{"Name":"Mills,Tyler William","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3653},"geometry":null},{"type":"Feature","id":3654,"properties":{"Name":"Morton,Jesse J","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$55,051.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3654},"geometry":null},{"type":"Feature","id":3655,"properties":{"Name":"Mulhall,Patrick J","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3655},"geometry":null},{"type":"Feature","id":3656,"properties":{"Name":"Mullis,David M","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3656},"geometry":null},{"type":"Feature","id":3657,"properties":{"Name":"Nance,David L","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3657},"geometry":null},{"type":"Feature","id":3658,"properties":{"Name":"Nance,Monica L","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3658},"geometry":null},{"type":"Feature","id":3659,"properties":{"Name":"Porter,Jason M","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3659},"geometry":null},{"type":"Feature","id":3660,"properties":{"Name":"Poston,Donald K","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3660},"geometry":null},{"type":"Feature","id":3661,"properties":{"Name":"Prentice,Andrew J","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3661},"geometry":null},{"type":"Feature","id":3662,"properties":{"Name":"Rape,John M","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3662},"geometry":null},{"type":"Feature","id":3663,"properties":{"Name":"Riddle,Andrew Michael","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$65,838.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3663},"geometry":null},{"type":"Feature","id":3664,"properties":{"Name":"Roldan,Benjamin Samuel","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3664},"geometry":null},{"type":"Feature","id":3665,"properties":{"Name":"Rogers,Tracy D.","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$52,084.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3665},"geometry":null},{"type":"Feature","id":3666,"properties":{"Name":"Rollins,Joshua Adam","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$43,134.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3666},"geometry":null},{"type":"Feature","id":3667,"properties":{"Name":"Roseboro,Christopher Lamont","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$47,447.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3667},"geometry":null},{"type":"Feature","id":3668,"properties":{"Name":"Rowland,Mark W","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3668},"geometry":null},{"type":"Feature","id":3669,"properties":{"Name":"Rucker,Stefan Jabar","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3669},"geometry":null},{"type":"Feature","id":3670,"properties":{"Name":"Scalise,Joseph P","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3670},"geometry":null},{"type":"Feature","id":3671,"properties":{"Name":"Simpson,Vinton K","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3671},"geometry":null},{"type":"Feature","id":3672,"properties":{"Name":"Sommerville,Arthur Adam","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3672},"geometry":null},{"type":"Feature","id":3673,"properties":{"Name":"Slauter,Benjamin J","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3673},"geometry":null},{"type":"Feature","id":3674,"properties":{"Name":"Spindler,Justin M","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3674},"geometry":null},{"type":"Feature","id":3675,"properties":{"Name":"Spoor,Brian S","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3675},"geometry":null},{"type":"Feature","id":3676,"properties":{"Name":"Templeton,Jeffery E","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3676},"geometry":null},{"type":"Feature","id":3677,"properties":{"Name":"Whitt,James K.","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$55,420.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3677},"geometry":null},{"type":"Feature","id":3678,"properties":{"Name":"Wilkes Jr,Craig R.","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3678},"geometry":null},{"type":"Feature","id":3679,"properties":{"Name":"Tropeano,David J.","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$59,115.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3679},"geometry":null},{"type":"Feature","id":3680,"properties":{"Name":"Willis,Gerren T","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3680},"geometry":null},{"type":"Feature","id":3681,"properties":{"Name":"Williams,Ckindu Udnik","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3681},"geometry":null},{"type":"Feature","id":3682,"properties":{"Name":"Tinsley,Michael K","Unit":"Police","Dept":"Central Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3682},"geometry":null},{"type":"Feature","id":3683,"properties":{"Name":"Irby,William F","Unit":"Police","Dept":"Central Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3683},"geometry":null},{"type":"Feature","id":3684,"properties":{"Name":"Komis,Caleb J","Unit":"Police","Dept":"Central Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3684},"geometry":null},{"type":"Feature","id":3685,"properties":{"Name":"Reitz,Ivan J","Unit":"Police","Dept":"Central Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3685},"geometry":null},{"type":"Feature","id":3686,"properties":{"Name":"Richardson,Sandra Kay","Unit":"Police","Dept":"Central Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3686},"geometry":null},{"type":"Feature","id":3687,"properties":{"Name":"Sherwood,Scott S","Unit":"Police","Dept":"Central Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3687},"geometry":null},{"type":"Feature","id":3688,"properties":{"Name":"Tegeler,John M","Unit":"Police","Dept":"Central Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3688},"geometry":null},{"type":"Feature","id":3689,"properties":{"Name":"Redfern,Angela S","Unit":"Police","Dept":"Communications Division","Job_Title":"Administrative Officer I","Annual_Rt":"$43,311.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3689},"geometry":null},{"type":"Feature","id":3690,"properties":{"Name":"Mentavlos,George N","Unit":"Police","Dept":"Central Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3690},"geometry":null},{"type":"Feature","id":3691,"properties":{"Name":"Valone,Richard W.","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Records Supervisor","Annual_Rt":"$44,268.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3691},"geometry":null},{"type":"Feature","id":3692,"properties":{"Name":"Desmond III,Michael James","Unit":"Police","Dept":"Communications Division","Job_Title":"Network Commun Integrator","Annual_Rt":"$63,989.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3692},"geometry":null},{"type":"Feature","id":3693,"properties":{"Name":"Boger Jr,William A","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Captain","Annual_Rt":"$95,957.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3693},"geometry":null},{"type":"Feature","id":3694,"properties":{"Name":"Carter,Mary Lucille","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Records Support Tech","Annual_Rt":"$30,723.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3694},"geometry":null},{"type":"Feature","id":3695,"properties":{"Name":"Mossner,Cecilia Patricia","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Records Support Tech","Annual_Rt":"$31,109.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3695},"geometry":null},{"type":"Feature","id":3696,"properties":{"Name":"Phillips,Teresa D","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Records Support Tech","Annual_Rt":"$41,366.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3696},"geometry":null},{"type":"Feature","id":3697,"properties":{"Name":"Rowe,Danielle N.","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Records Support Tech","Annual_Rt":"$29,320.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3697},"geometry":null},{"type":"Feature","id":3698,"properties":{"Name":"Stroud,Marsha Ann","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Records Support Tech","Annual_Rt":"$33,706.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3698},"geometry":null},{"type":"Feature","id":3699,"properties":{"Name":"Sweeting,Marcella","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Records Support Tech","Annual_Rt":"$31,212.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3699},"geometry":null},{"type":"Feature","id":3700,"properties":{"Name":"Bechtel,Kristine E","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$52,429.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3700},"geometry":null},{"type":"Feature","id":3701,"properties":{"Name":"Behre,Jennifer R","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$52,429.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3701},"geometry":null},{"type":"Feature","id":3702,"properties":{"Name":"Bennett,Dunia Marisol","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$55,050.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3702},"geometry":null},{"type":"Feature","id":3703,"properties":{"Name":"Boyd,Phillip A","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$50,902.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3703},"geometry":null},{"type":"Feature","id":3704,"properties":{"Name":"Harrison,Aesha","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$52,429.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3704},"geometry":null},{"type":"Feature","id":3705,"properties":{"Name":"Hemly,Brian T","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$52,801.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3705},"geometry":null},{"type":"Feature","id":3706,"properties":{"Name":"Holder,Elizabeth Ashley","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$26,214.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":3706},"geometry":null},{"type":"Feature","id":3707,"properties":{"Name":"Lingle,Michael F","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$49,904.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3707},"geometry":null},{"type":"Feature","id":3708,"properties":{"Name":"Moore,Jerry D","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$61,249.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3708},"geometry":null},{"type":"Feature","id":3709,"properties":{"Name":"Mulgrew,Constance Lorena","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$52,429.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3709},"geometry":null},{"type":"Feature","id":3710,"properties":{"Name":"Oxendine,Crystal G","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$50,902.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3710},"geometry":null},{"type":"Feature","id":3711,"properties":{"Name":"Prentice,Joanna","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$52,800.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3711},"geometry":null},{"type":"Feature","id":3712,"properties":{"Name":"Shores,Sonya A","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$62,000.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3712},"geometry":null},{"type":"Feature","id":3713,"properties":{"Name":"Stewart,Jennifer Anne","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$52,429.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3713},"geometry":null},{"type":"Feature","id":3714,"properties":{"Name":"Vanderlip Jr,William Joseph","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommun Supv","Annual_Rt":"$74,633.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3714},"geometry":null},{"type":"Feature","id":3715,"properties":{"Name":"Acevedo,Lissette","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,693.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3715},"geometry":null},{"type":"Feature","id":3716,"properties":{"Name":"Allman,Karen S","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":null,"Hrly_Rate":"$17.68 ","RegTemp":"T","Full/Part":"P","OBJECTID":3716},"geometry":null},{"type":"Feature","id":3717,"properties":{"Name":"Andrews,Kimberly Sue","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":null,"Hrly_Rate":"$16.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3717},"geometry":null},{"type":"Feature","id":3718,"properties":{"Name":"Aponte,Melissa Concepcion","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3718},"geometry":null},{"type":"Feature","id":3719,"properties":{"Name":"Artieri,Charity Renee","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$39,384.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3719},"geometry":null},{"type":"Feature","id":3720,"properties":{"Name":"Bain,Nicole Woodell","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3720},"geometry":null},{"type":"Feature","id":3721,"properties":{"Name":"Batten,Rachel Outen","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3721},"geometry":null},{"type":"Feature","id":3722,"properties":{"Name":"Bellamy,Regina M","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$43,060.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3722},"geometry":null},{"type":"Feature","id":3723,"properties":{"Name":"Bennett,Allen Eugene","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$42,204.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3723},"geometry":null},{"type":"Feature","id":3724,"properties":{"Name":"Bignall,Wendy Leigh","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$39,864.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3724},"geometry":null},{"type":"Feature","id":3725,"properties":{"Name":"Bisesti,Christine R","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$39,632.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3725},"geometry":null},{"type":"Feature","id":3726,"properties":{"Name":"Bradley,Annette G","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$46,659.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3726},"geometry":null},{"type":"Feature","id":3727,"properties":{"Name":"Broadus,Nancy Gae","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3727},"geometry":null},{"type":"Feature","id":3728,"properties":{"Name":"Broadway Jr,Wlliam Michael","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3728},"geometry":null},{"type":"Feature","id":3729,"properties":{"Name":"Brophy,Melissa Anne","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3729},"geometry":null},{"type":"Feature","id":3730,"properties":{"Name":"Buchanan,Steven L","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$54,183.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3730},"geometry":null},{"type":"Feature","id":3731,"properties":{"Name":"Burnop,Craig Alan","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3731},"geometry":null},{"type":"Feature","id":3732,"properties":{"Name":"Burwell,Tammy A.","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,388.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3732},"geometry":null},{"type":"Feature","id":3733,"properties":{"Name":"Carey,James Scott","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3733},"geometry":null},{"type":"Feature","id":3734,"properties":{"Name":"Causey,Barbara Anne","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":null,"Hrly_Rate":"$17.68 ","RegTemp":"T","Full/Part":"P","OBJECTID":3734},"geometry":null},{"type":"Feature","id":3735,"properties":{"Name":"Clark,Cynthia L","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$58,019.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3735},"geometry":null},{"type":"Feature","id":3736,"properties":{"Name":"Cook,Jennifer Marie","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3736},"geometry":null},{"type":"Feature","id":3737,"properties":{"Name":"Cooper,Martin W","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3737},"geometry":null},{"type":"Feature","id":3738,"properties":{"Name":"Cordova,Carina Lao","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,927.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3738},"geometry":null},{"type":"Feature","id":3739,"properties":{"Name":"Crawford,LaKesha S","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3739},"geometry":null},{"type":"Feature","id":3740,"properties":{"Name":"Cummins,Mary Evelyn","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3740},"geometry":null},{"type":"Feature","id":3741,"properties":{"Name":"Curlee,Dawn Renee","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3741},"geometry":null},{"type":"Feature","id":3742,"properties":{"Name":"Davis,Jasmine Monet","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3742},"geometry":null},{"type":"Feature","id":3743,"properties":{"Name":"Davis,James B","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3743},"geometry":null},{"type":"Feature","id":3744,"properties":{"Name":"Davis,Laura L","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$43,391.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3744},"geometry":null},{"type":"Feature","id":3745,"properties":{"Name":"DeCatsye,Julie Noelle","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3745},"geometry":null},{"type":"Feature","id":3746,"properties":{"Name":"Deen,Keisha Michelle","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,927.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3746},"geometry":null},{"type":"Feature","id":3747,"properties":{"Name":"Edwards,Pamela O","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$47,831.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3747},"geometry":null},{"type":"Feature","id":3748,"properties":{"Name":"Elstrom Jr.,Sedgwick V.","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,676.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3748},"geometry":null},{"type":"Feature","id":3749,"properties":{"Name":"Elstrom,Laura Watson","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3749},"geometry":null},{"type":"Feature","id":3750,"properties":{"Name":"Espinoza,Helen Rubi","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$39,733.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3750},"geometry":null},{"type":"Feature","id":3751,"properties":{"Name":"Esteves,Amber Nichole","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3751},"geometry":null},{"type":"Feature","id":3752,"properties":{"Name":"Faulkner,Kenneth D","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3752},"geometry":null},{"type":"Feature","id":3753,"properties":{"Name":"Federowicz,Kelly","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$39,064.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3753},"geometry":null},{"type":"Feature","id":3754,"properties":{"Name":"Field,Melissa C","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$40,011.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3754},"geometry":null},{"type":"Feature","id":3755,"properties":{"Name":"Frazier,Morgan Taylor","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,927.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3755},"geometry":null},{"type":"Feature","id":3756,"properties":{"Name":"Gale,Rebecca Stevens","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":null,"Hrly_Rate":"$16.19 ","RegTemp":"T","Full/Part":"P","OBJECTID":3756},"geometry":null},{"type":"Feature","id":3757,"properties":{"Name":"Galloway,Andrenetta Tigner","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3757},"geometry":null},{"type":"Feature","id":3758,"properties":{"Name":"Gant,Vickie Diane","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$39,105.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3758},"geometry":null},{"type":"Feature","id":3759,"properties":{"Name":"Gardin,Polly R","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$43,695.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3759},"geometry":null},{"type":"Feature","id":3760,"properties":{"Name":"Gayle,Lindsay Erin","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3760},"geometry":null},{"type":"Feature","id":3761,"properties":{"Name":"Goines,Ayesha Houston","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3761},"geometry":null},{"type":"Feature","id":3762,"properties":{"Name":"Gompers,Hannah Metivier","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3762},"geometry":null},{"type":"Feature","id":3763,"properties":{"Name":"Gropper,Joshua","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3763},"geometry":null},{"type":"Feature","id":3764,"properties":{"Name":"Hardy,Susan Renee","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,388.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3764},"geometry":null},{"type":"Feature","id":3765,"properties":{"Name":"Harrell,Shemika Danielle","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3765},"geometry":null},{"type":"Feature","id":3766,"properties":{"Name":"Hayes,Ashley E","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3766},"geometry":null},{"type":"Feature","id":3767,"properties":{"Name":"Hearne,John L","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$61,547.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3767},"geometry":null},{"type":"Feature","id":3768,"properties":{"Name":"Helms,Blake Alan","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3768},"geometry":null},{"type":"Feature","id":3769,"properties":{"Name":"Helms,Eric Donald","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3769},"geometry":null},{"type":"Feature","id":3770,"properties":{"Name":"Hunter,Shana Marie","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3770},"geometry":null},{"type":"Feature","id":3771,"properties":{"Name":"Jackson,Sharron Y.","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3771},"geometry":null},{"type":"Feature","id":3772,"properties":{"Name":"Johnson,Dami N","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3772},"geometry":null},{"type":"Feature","id":3773,"properties":{"Name":"Karkoski,Emily Kay","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$38,106.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3773},"geometry":null},{"type":"Feature","id":3774,"properties":{"Name":"Keheley,Cristine Ann","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$39,064.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3774},"geometry":null},{"type":"Feature","id":3775,"properties":{"Name":"Ladd,Kenyatta Dabion","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3775},"geometry":null},{"type":"Feature","id":3776,"properties":{"Name":"Lail,Sarah Elizabeth","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3776},"geometry":null},{"type":"Feature","id":3777,"properties":{"Name":"Lambe,Kelly Lynn","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,466.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3777},"geometry":null},{"type":"Feature","id":3778,"properties":{"Name":"Latimer,Tomika Elise","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,641.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3778},"geometry":null},{"type":"Feature","id":3779,"properties":{"Name":"Lavender,Kristin C.","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3779},"geometry":null},{"type":"Feature","id":3780,"properties":{"Name":"Leake,Dennis W","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$54,394.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3780},"geometry":null},{"type":"Feature","id":3781,"properties":{"Name":"Locklear,Rosemary","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":null,"Hrly_Rate":"$17.27 ","RegTemp":"T","Full/Part":"P","OBJECTID":3781},"geometry":null},{"type":"Feature","id":3782,"properties":{"Name":"Lovelace,John Thomas","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3782},"geometry":null},{"type":"Feature","id":3783,"properties":{"Name":"Mangrum,Cynthia Lynne","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3783},"geometry":null},{"type":"Feature","id":3784,"properties":{"Name":"Marino-Sharp,Melissa Ann","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3784},"geometry":null},{"type":"Feature","id":3785,"properties":{"Name":"Mauldin,Cherie Hunter","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$47,551.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3785},"geometry":null},{"type":"Feature","id":3786,"properties":{"Name":"McLeod,Cheryl Fayette","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3786},"geometry":null},{"type":"Feature","id":3787,"properties":{"Name":"Miller,Demecia Shontelle","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3787},"geometry":null},{"type":"Feature","id":3788,"properties":{"Name":"Mitchell,Beth A","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$20,591.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"P","OBJECTID":3788},"geometry":null},{"type":"Feature","id":3789,"properties":{"Name":"Mitchell,Jennifer Lynn","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3789},"geometry":null},{"type":"Feature","id":3790,"properties":{"Name":"Moore,Sheevonya Nichole","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$39,064.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3790},"geometry":null},{"type":"Feature","id":3791,"properties":{"Name":"Mitchell,Howard D","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$49,709.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3791},"geometry":null},{"type":"Feature","id":3792,"properties":{"Name":"Mullery,Sara","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3792},"geometry":null},{"type":"Feature","id":3793,"properties":{"Name":"Mullins,Rodger D","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$43,665.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3793},"geometry":null},{"type":"Feature","id":3794,"properties":{"Name":"Moore,Brenda Sue","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$52,842.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3794},"geometry":null},{"type":"Feature","id":3795,"properties":{"Name":"Nelson,Meredith Suzanne","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3795},"geometry":null},{"type":"Feature","id":3796,"properties":{"Name":"Newson,Rayn Az-Shel","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,654.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3796},"geometry":null},{"type":"Feature","id":3797,"properties":{"Name":"Nichol,Cynthia Tomlinson","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3797},"geometry":null},{"type":"Feature","id":3798,"properties":{"Name":"Norman,Chloe Rae","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3798},"geometry":null},{"type":"Feature","id":3799,"properties":{"Name":"Pina,Loretta Yvonne","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3799},"geometry":null},{"type":"Feature","id":3800,"properties":{"Name":"Pittman,Nicole Denise","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3800},"geometry":null},{"type":"Feature","id":3801,"properties":{"Name":"Powell,Amy M","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3801},"geometry":null},{"type":"Feature","id":3802,"properties":{"Name":"Proctor,Rachel Ann","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":null,"Hrly_Rate":"$17.68 ","RegTemp":"T","Full/Part":"P","OBJECTID":3802},"geometry":null},{"type":"Feature","id":3803,"properties":{"Name":"Price,Megan Elizabeth","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3803},"geometry":null},{"type":"Feature","id":3804,"properties":{"Name":"Purser,Tara Easley","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3804},"geometry":null},{"type":"Feature","id":3805,"properties":{"Name":"Rehak,Ashley Anna","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3805},"geometry":null},{"type":"Feature","id":3806,"properties":{"Name":"Richardson,Gillian Nantz","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3806},"geometry":null},{"type":"Feature","id":3807,"properties":{"Name":"Relic,Rosemarie Reigadas","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,388.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3807},"geometry":null},{"type":"Feature","id":3808,"properties":{"Name":"Roach,Reaha Leigh","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3808},"geometry":null},{"type":"Feature","id":3809,"properties":{"Name":"Rogers,Wesley Parker","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3809},"geometry":null},{"type":"Feature","id":3810,"properties":{"Name":"Santaniello,Twila Lillian","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3810},"geometry":null},{"type":"Feature","id":3811,"properties":{"Name":"Scheuerman,Cherish Conklin","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3811},"geometry":null},{"type":"Feature","id":3812,"properties":{"Name":"Schieb,Nicole Elizabeth","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3812},"geometry":null},{"type":"Feature","id":3813,"properties":{"Name":"Scott,Emily M","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3813},"geometry":null},{"type":"Feature","id":3814,"properties":{"Name":"Scott,Kara Devon","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,412.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3814},"geometry":null},{"type":"Feature","id":3815,"properties":{"Name":"Seagroves,Brandi Clark","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$39,064.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3815},"geometry":null},{"type":"Feature","id":3816,"properties":{"Name":"Sellers,Barbara Elaine","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$48,020.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3816},"geometry":null},{"type":"Feature","id":3817,"properties":{"Name":"Sellers,Mary Gail","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$42,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3817},"geometry":null},{"type":"Feature","id":3818,"properties":{"Name":"Shields,Sierra Parrish","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3818},"geometry":null},{"type":"Feature","id":3819,"properties":{"Name":"Simms,Roderick","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3819},"geometry":null},{"type":"Feature","id":3820,"properties":{"Name":"Simpson,India Sheana","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3820},"geometry":null},{"type":"Feature","id":3821,"properties":{"Name":"Sloop,Megan Renee","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$39,064.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3821},"geometry":null},{"type":"Feature","id":3822,"properties":{"Name":"Simpson,Kristy Lee","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,412.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3822},"geometry":null},{"type":"Feature","id":3823,"properties":{"Name":"Smith,Graham Edward","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3823},"geometry":null},{"type":"Feature","id":3824,"properties":{"Name":"Smith,Sharon E","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$35,412.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3824},"geometry":null},{"type":"Feature","id":3825,"properties":{"Name":"Smith,Stephanie Y","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$40,572.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3825},"geometry":null},{"type":"Feature","id":3826,"properties":{"Name":"Snavely,Joel Robert","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,689.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3826},"geometry":null},{"type":"Feature","id":3827,"properties":{"Name":"Stevens,Cassandra Marie","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3827},"geometry":null},{"type":"Feature","id":3828,"properties":{"Name":"Taylor,Lauren Allyne","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$39,064.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3828},"geometry":null},{"type":"Feature","id":3829,"properties":{"Name":"Teague,Robert M","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$39,370.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3829},"geometry":null},{"type":"Feature","id":3830,"properties":{"Name":"Thomas,Adrienne Lavonne","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3830},"geometry":null},{"type":"Feature","id":3831,"properties":{"Name":"Thompson,Regina D","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$44,880.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3831},"geometry":null},{"type":"Feature","id":3832,"properties":{"Name":"Torpey Jr,Patrick James","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3832},"geometry":null},{"type":"Feature","id":3833,"properties":{"Name":"Twyman,Shardal Laytea","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3833},"geometry":null},{"type":"Feature","id":3834,"properties":{"Name":"Wallace Jr,Derrick","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3834},"geometry":null},{"type":"Feature","id":3835,"properties":{"Name":"Whitlock,JaVonda Sheree","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3835},"geometry":null},{"type":"Feature","id":3836,"properties":{"Name":"Williams,Tiffany Shervonne","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3836},"geometry":null},{"type":"Feature","id":3837,"properties":{"Name":"Wilson,Julie W","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$62,031.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3837},"geometry":null},{"type":"Feature","id":3838,"properties":{"Name":"Zepeda,Crystal Bost","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$36,120.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3838},"geometry":null},{"type":"Feature","id":3839,"properties":{"Name":"Wilson,Ron Christopher","Unit":"Police","Dept":"Communications Division","Job_Title":"Police Telecommunicator","Annual_Rt":"$40,421.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3839},"geometry":null},{"type":"Feature","id":3840,"properties":{"Name":"Ivory II,Titus Lovell","Unit":"Police","Dept":"Community Services and Youth D","Job_Title":"Administrative Officer I","Annual_Rt":null,"Hrly_Rate":"$20.60 ","RegTemp":"T","Full/Part":"F","OBJECTID":3840},"geometry":null},{"type":"Feature","id":3841,"properties":{"Name":"Felton,Deborah Brachelle","Unit":"Police","Dept":"Community Services and Youth D","Job_Title":"Office Assistant IV","Annual_Rt":"$31,032.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3841},"geometry":null},{"type":"Feature","id":3842,"properties":{"Name":"Lee,Jason Juyoung","Unit":"Police","Dept":"Community Services and Youth D","Job_Title":"Police Cadet","Annual_Rt":null,"Hrly_Rate":"$9.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3842},"geometry":null},{"type":"Feature","id":3843,"properties":{"Name":"Nickols,Dimitrios George","Unit":"Police","Dept":"Community Services and Youth D","Job_Title":"Police Cadet","Annual_Rt":null,"Hrly_Rate":"$9.18 ","RegTemp":"T","Full/Part":"P","OBJECTID":3843},"geometry":null},{"type":"Feature","id":3844,"properties":{"Name":"Ellis,Loraine P","Unit":"Police","Dept":"Community Services and Youth D","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3844},"geometry":null},{"type":"Feature","id":3845,"properties":{"Name":"Botzenmayer,Ryan A.","Unit":"Police","Dept":"Community Services and Youth D","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3845},"geometry":null},{"type":"Feature","id":3846,"properties":{"Name":"Tellis,Torri L","Unit":"Police","Dept":"Community Services and Youth D","Job_Title":"Police Captain","Annual_Rt":"$91,494.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3846},"geometry":null},{"type":"Feature","id":3847,"properties":{"Name":"Ratliff,Celestine","Unit":"Police","Dept":"Community Services and Youth D","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3847},"geometry":null},{"type":"Feature","id":3848,"properties":{"Name":"Cody,Crystal Dorene","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Application Development Manage","Annual_Rt":"$147,859.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3848},"geometry":null},{"type":"Feature","id":3849,"properties":{"Name":"Hirschy,Megan Ruth","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$53,855.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3849},"geometry":null},{"type":"Feature","id":3850,"properties":{"Name":"Johnston,Deborah Mitchell","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$73,035.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3850},"geometry":null},{"type":"Feature","id":3851,"properties":{"Name":"Wiktorek,William J","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$70,899.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3851},"geometry":null},{"type":"Feature","id":3852,"properties":{"Name":"Campbell,Cheryl W.","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$90,124.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3852},"geometry":null},{"type":"Feature","id":3853,"properties":{"Name":"Hoskins,Kevin Eugene","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$90,780.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3853},"geometry":null},{"type":"Feature","id":3854,"properties":{"Name":"Sanchez,Donna Rae","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Bus Systems Spec Lead","Annual_Rt":"$90,780.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3854},"geometry":null},{"type":"Feature","id":3855,"properties":{"Name":"Kasahara,Kazuhito","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Business System Spec Sr","Annual_Rt":"$91,960.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3855},"geometry":null},{"type":"Feature","id":3856,"properties":{"Name":"DeFoe,Michael John","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Database Administrator","Annual_Rt":"$90,015.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3856},"geometry":null},{"type":"Feature","id":3857,"properties":{"Name":"Farness,Janice Welfare","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Database Administrator","Annual_Rt":"$94,260.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3857},"geometry":null},{"type":"Feature","id":3858,"properties":{"Name":"Holley,Adrian Levon","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Database Administrator","Annual_Rt":"$98,326.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3858},"geometry":null},{"type":"Feature","id":3859,"properties":{"Name":"Chapman,George C","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Information Tech Supervisor","Annual_Rt":"$93,130.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3859},"geometry":null},{"type":"Feature","id":3860,"properties":{"Name":"Stephens Jr,Joseph R","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"LAN Support Technician","Annual_Rt":null,"Hrly_Rate":"$25.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3860},"geometry":null},{"type":"Feature","id":3861,"properties":{"Name":"Hornbacher,David A","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Software Developer Intermediat","Annual_Rt":"$85,956.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3861},"geometry":null},{"type":"Feature","id":3862,"properties":{"Name":"Saoui,Mustapha A","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Software Developer Intermediat","Annual_Rt":"$88,729.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3862},"geometry":null},{"type":"Feature","id":3863,"properties":{"Name":"Vasireddy,Ravi","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Software Developer Intermediat","Annual_Rt":"$93,403.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3863},"geometry":null},{"type":"Feature","id":3864,"properties":{"Name":"Bennett,David Jason","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Software Developer Senior","Annual_Rt":"$109,431.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3864},"geometry":null},{"type":"Feature","id":3865,"properties":{"Name":"Horton,Ronald L.","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Sr Business Systems Manager","Annual_Rt":"$120,290.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3865},"geometry":null},{"type":"Feature","id":3866,"properties":{"Name":"Harrington,Mikkola E","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Technical Systems Specialist","Annual_Rt":"$77,208.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3866},"geometry":null},{"type":"Feature","id":3867,"properties":{"Name":"Wilson,Michael R","Unit":"Police","Dept":"Computer Technology Solutions","Job_Title":"Technical Systems Specialist","Annual_Rt":"$75,240.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3867},"geometry":null},{"type":"Feature","id":3868,"properties":{"Name":"Caudle,Beth L.","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Office Assistant IV","Annual_Rt":"$32,214.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3868},"geometry":null},{"type":"Feature","id":3869,"properties":{"Name":"Florczyk,Linda Diane","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Office Assistant V","Annual_Rt":"$40,394.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3869},"geometry":null},{"type":"Feature","id":3870,"properties":{"Name":"Kemp,Ashleigh Lynne","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Office Assistant V","Annual_Rt":"$37,381.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3870},"geometry":null},{"type":"Feature","id":3871,"properties":{"Name":"Pettit-Bradley,Lisa D","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Office Assistant V","Annual_Rt":"$39,646.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3871},"geometry":null},{"type":"Feature","id":3872,"properties":{"Name":"Richter,Lynette G","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Office Assistant V","Annual_Rt":"$42,681.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3872},"geometry":null},{"type":"Feature","id":3873,"properties":{"Name":"Bryant,Brenda C","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$42,465.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3873},"geometry":null},{"type":"Feature","id":3874,"properties":{"Name":"Weatherholt,Jill A","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Office Assistant V","Annual_Rt":"$37,381.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3874},"geometry":null},{"type":"Feature","id":3875,"properties":{"Name":"Coe,Eric B","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3875},"geometry":null},{"type":"Feature","id":3876,"properties":{"Name":"Keesler Jr,Johnny A","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3876},"geometry":null},{"type":"Feature","id":3877,"properties":{"Name":"McCauley,Sally R","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":3877},"geometry":null},{"type":"Feature","id":3878,"properties":{"Name":"Orlov,Laura S","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3878},"geometry":null},{"type":"Feature","id":3879,"properties":{"Name":"Shelton,Mark A","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3879},"geometry":null},{"type":"Feature","id":3880,"properties":{"Name":"Vinson,Rita A","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3880},"geometry":null},{"type":"Feature","id":3881,"properties":{"Name":"Williams,Christy L","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3881},"geometry":null},{"type":"Feature","id":3882,"properties":{"Name":"Carlton,Raymond E","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Police Response Area Commander","Annual_Rt":"$86,981.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3882},"geometry":null},{"type":"Feature","id":3883,"properties":{"Name":"Earnest,Sonja C","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3883},"geometry":null},{"type":"Feature","id":3884,"properties":{"Name":"Sauciuc,Walter","Unit":"Police","Dept":"Court Services Unit","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3884},"geometry":null},{"type":"Feature","id":3885,"properties":{"Name":"Schwartz,Alan","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$72,379.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3885},"geometry":null},{"type":"Feature","id":3886,"properties":{"Name":"Nguyen,Monica Alexander","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Crime Analysis Manager","Annual_Rt":"$97,249.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3886},"geometry":null},{"type":"Feature","id":3887,"properties":{"Name":"Humphrey,Michael J","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Crime Analysis Supervisor","Annual_Rt":"$74,513.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3887},"geometry":null},{"type":"Feature","id":3888,"properties":{"Name":"Clark,Sharon Jones","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"GIS Analyst","Annual_Rt":null,"Hrly_Rate":"$33.31 ","RegTemp":"T","Full/Part":"F","OBJECTID":3888},"geometry":null},{"type":"Feature","id":3889,"properties":{"Name":"Eudy,Steven B","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Information Tech Supervisor","Annual_Rt":"$87,744.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3889},"geometry":null},{"type":"Feature","id":3890,"properties":{"Name":"Allen,Meagan Elaine","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Management Analyst","Annual_Rt":"$57,707.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3890},"geometry":null},{"type":"Feature","id":3891,"properties":{"Name":"Baldwin,Benjamin Russell","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Management Analyst","Annual_Rt":"$56,074.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3891},"geometry":null},{"type":"Feature","id":3892,"properties":{"Name":"Brewington,Jacqueline Bush","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Management Analyst","Annual_Rt":"$56,074.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3892},"geometry":null},{"type":"Feature","id":3893,"properties":{"Name":"Callard,Christopher W","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Management Analyst","Annual_Rt":"$60,020.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3893},"geometry":null},{"type":"Feature","id":3894,"properties":{"Name":"Kubisz,Anthony Ross","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Management Analyst","Annual_Rt":"$61,486.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3894},"geometry":null},{"type":"Feature","id":3895,"properties":{"Name":"Michel,Kristin S","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Management Analyst","Annual_Rt":"$61,617.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3895},"geometry":null},{"type":"Feature","id":3896,"properties":{"Name":"Moore Jr,Dalton W","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Management Analyst","Annual_Rt":"$56,074.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3896},"geometry":null},{"type":"Feature","id":3897,"properties":{"Name":"Mrak,Kaitlin Frances","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Management Analyst","Annual_Rt":"$56,074.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3897},"geometry":null},{"type":"Feature","id":3898,"properties":{"Name":"Sullivan,Audrey","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Management Analyst","Annual_Rt":"$54,441.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3898},"geometry":null},{"type":"Feature","id":3899,"properties":{"Name":"Swallows,Richard J.","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Management Analyst","Annual_Rt":"$55,123.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3899},"geometry":null},{"type":"Feature","id":3900,"properties":{"Name":"Bess,Michael Anthony","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Management Analyst Senior","Annual_Rt":"$68,233.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3900},"geometry":null},{"type":"Feature","id":3901,"properties":{"Name":"Broughton,Robert J","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Management Analyst Senior","Annual_Rt":"$66,448.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3901},"geometry":null},{"type":"Feature","id":3902,"properties":{"Name":"Vick,Kristin Taylor Hogg","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$39,373.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3902},"geometry":null},{"type":"Feature","id":3903,"properties":{"Name":"Lail,Derrick W","Unit":"Police","Dept":"Crime Analysis Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3903},"geometry":null},{"type":"Feature","id":3904,"properties":{"Name":"Enfinger,Constance S","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Chief Criminalist","Annual_Rt":"$94,841.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3904},"geometry":null},{"type":"Feature","id":3905,"properties":{"Name":"Ngong,Lillian","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Chief Criminalist","Annual_Rt":"$85,098.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3905},"geometry":null},{"type":"Feature","id":3906,"properties":{"Name":"Nordhoff,Todd J","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Chief Criminalist","Annual_Rt":"$94,465.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3906},"geometry":null},{"type":"Feature","id":3907,"properties":{"Name":"Abbott,Kirsten Mahoney","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":null,"Hrly_Rate":"$21.21 ","RegTemp":"T","Full/Part":"F","OBJECTID":3907},"geometry":null},{"type":"Feature","id":3908,"properties":{"Name":"Mathis,Matthew C","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Crime Laboratory Director","Annual_Rt":"$107,564.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3908},"geometry":null},{"type":"Feature","id":3909,"properties":{"Name":"Moore,Robert E","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$38,941.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3909},"geometry":null},{"type":"Feature","id":3910,"properties":{"Name":"Amer,Mohammad A.","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Criminalist DNA Analyst","Annual_Rt":null,"Hrly_Rate":"$30.29 ","RegTemp":"T","Full/Part":"F","OBJECTID":3910},"geometry":null},{"type":"Feature","id":3911,"properties":{"Name":"Byron,Patricia A","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Criminalist DNA Analyst","Annual_Rt":"$64,328.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3911},"geometry":null},{"type":"Feature","id":3912,"properties":{"Name":"Carney,Shereen E","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Criminalist DNA Analyst","Annual_Rt":null,"Hrly_Rate":"$29.88 ","RegTemp":"T","Full/Part":"F","OBJECTID":3912},"geometry":null},{"type":"Feature","id":3913,"properties":{"Name":"Howley,Katherine Vernita","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Criminalist DNA Analyst","Annual_Rt":"$63,360.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3913},"geometry":null},{"type":"Feature","id":3914,"properties":{"Name":"Moeykens,Aby Gail","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Criminalist DNA Analyst","Annual_Rt":"$64,000.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3914},"geometry":null},{"type":"Feature","id":3915,"properties":{"Name":"Scott,Rachael N","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Criminalist DNA Analyst","Annual_Rt":"$62,756.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3915},"geometry":null},{"type":"Feature","id":3916,"properties":{"Name":"Charlesworth,Ann Michelson","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Criminalist Drug Chemistry","Annual_Rt":"$63,360.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3916},"geometry":null},{"type":"Feature","id":3917,"properties":{"Name":"Leiser,Jennifer S","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Criminalist Drug Chemistry","Annual_Rt":"$63,396.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3917},"geometry":null},{"type":"Feature","id":3918,"properties":{"Name":"Oprysko,Andrew P","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Criminalist Drug Chemistry","Annual_Rt":"$65,137.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3918},"geometry":null},{"type":"Feature","id":3919,"properties":{"Name":"Rivera,Gene C","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Criminalist Firearms Toolmarks","Annual_Rt":"$65,631.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3919},"geometry":null},{"type":"Feature","id":3920,"properties":{"Name":"Levins,Patricia A","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Criminalist Serology","Annual_Rt":"$63,343.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3920},"geometry":null},{"type":"Feature","id":3921,"properties":{"Name":"Pohlheber,Jennifer Ann","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Criminialist Trainee","Annual_Rt":"$49,100.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3921},"geometry":null},{"type":"Feature","id":3922,"properties":{"Name":"Rossi,Eve","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"DNA Analysis Team Leader","Annual_Rt":"$80,281.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3922},"geometry":null},{"type":"Feature","id":3923,"properties":{"Name":"Saul,Douglas D","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"DNA Analysis Team Leader","Annual_Rt":"$80,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3923},"geometry":null},{"type":"Feature","id":3924,"properties":{"Name":"Kerns,Nancy W","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Latent Fingerprint Examiner","Annual_Rt":"$64,684.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3924},"geometry":null},{"type":"Feature","id":3925,"properties":{"Name":"Trantham,William Dwayne","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Latent Fingerprint Examiner","Annual_Rt":"$51,473.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3925},"geometry":null},{"type":"Feature","id":3926,"properties":{"Name":"Roberts,Todd J","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Latent Fingerprint Examiner","Annual_Rt":"$52,506.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3926},"geometry":null},{"type":"Feature","id":3927,"properties":{"Name":"Schultz Jr,David Charles","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Latent Fingerprint Supervisor","Annual_Rt":"$80,872.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3927},"geometry":null},{"type":"Feature","id":3928,"properties":{"Name":"York,Jamie Bowman","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Office Assistant IV","Annual_Rt":"$37,429.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3928},"geometry":null},{"type":"Feature","id":3929,"properties":{"Name":"Hopkins,Teela Tanique","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$37,204.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3929},"geometry":null},{"type":"Feature","id":3930,"properties":{"Name":"Taylor,Jeffrey S","Unit":"Police","Dept":"Crime Lab Division","Job_Title":"Questioned Documents Specialst","Annual_Rt":"$84,697.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3930},"geometry":null},{"type":"Feature","id":3931,"properties":{"Name":"Allen,Thomas C","Unit":"Police","Dept":"Crime Prevention Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3931},"geometry":null},{"type":"Feature","id":3932,"properties":{"Name":"Bynoe,Veronica Maxine","Unit":"Police","Dept":"Crime Prevention Unit","Job_Title":"Police Officer","Annual_Rt":"$55,084.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3932},"geometry":null},{"type":"Feature","id":3933,"properties":{"Name":"Johnson,Cynthia L","Unit":"Police","Dept":"Crime Prevention Unit","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3933},"geometry":null},{"type":"Feature","id":3934,"properties":{"Name":"Johnson,Michelle P","Unit":"Police","Dept":"Crime Prevention Unit","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3934},"geometry":null},{"type":"Feature","id":3935,"properties":{"Name":"Humphries,Marla H","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Non-Emerg Police Serv Mgr","Annual_Rt":"$69,146.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3935},"geometry":null},{"type":"Feature","id":3936,"properties":{"Name":"Franze,Joanne Marie","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Customer Serv Team Lead","Annual_Rt":"$48,231.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3936},"geometry":null},{"type":"Feature","id":3937,"properties":{"Name":"Frost,Kiersten Lynn","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Customer Serv Team Lead","Annual_Rt":"$47,767.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3937},"geometry":null},{"type":"Feature","id":3938,"properties":{"Name":"Nelson,Rosemary C.","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Customer Serv Team Lead","Annual_Rt":"$47,767.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3938},"geometry":null},{"type":"Feature","id":3939,"properties":{"Name":"Stackhouse,Chessonia Y","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Customer Serv Team Lead","Annual_Rt":"$46,375.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3939},"geometry":null},{"type":"Feature","id":3940,"properties":{"Name":"Armstrong,Alice F","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$34,685.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3940},"geometry":null},{"type":"Feature","id":3941,"properties":{"Name":"Armstrong,London Nicole","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$33,675.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3941},"geometry":null},{"type":"Feature","id":3942,"properties":{"Name":"Cavin,Kelley Leath","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$34,508.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3942},"geometry":null},{"type":"Feature","id":3943,"properties":{"Name":"Bradshaw,Amelia Benefield","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$34,508.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3943},"geometry":null},{"type":"Feature","id":3944,"properties":{"Name":"Cortes,Migdalia","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$35,358.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3944},"geometry":null},{"type":"Feature","id":3945,"properties":{"Name":"Edwards,LaRhonda A.","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$34,685.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3945},"geometry":null},{"type":"Feature","id":3946,"properties":{"Name":"Gant,Evelyn Annette","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$34,684.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3946},"geometry":null},{"type":"Feature","id":3947,"properties":{"Name":"Law,Jeanette Michelle","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$34,685.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3947},"geometry":null},{"type":"Feature","id":3948,"properties":{"Name":"Mahoney,Monica Renee","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$35,560.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3948},"geometry":null},{"type":"Feature","id":3949,"properties":{"Name":"Mangual,Perla Elisa","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$38,240.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3949},"geometry":null},{"type":"Feature","id":3950,"properties":{"Name":"Neff,Dawn Marie","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$33,674.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3950},"geometry":null},{"type":"Feature","id":3951,"properties":{"Name":"Reitz,Christy Newhouse","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$34,685.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3951},"geometry":null},{"type":"Feature","id":3952,"properties":{"Name":"Robinson,Tina J","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$38,598.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3952},"geometry":null},{"type":"Feature","id":3953,"properties":{"Name":"Symonds,Ashley Dawn","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$33,675.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3953},"geometry":null},{"type":"Feature","id":3954,"properties":{"Name":"Venezia,Armanda Leigh","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Investigation Tech","Annual_Rt":"$33,675.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3954},"geometry":null},{"type":"Feature","id":3955,"properties":{"Name":"Bolton,Timothy M","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3955},"geometry":null},{"type":"Feature","id":3956,"properties":{"Name":"Buchanan,Terry R","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3956},"geometry":null},{"type":"Feature","id":3957,"properties":{"Name":"Early,Keith R","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3957},"geometry":null},{"type":"Feature","id":3958,"properties":{"Name":"Ferrell,David L","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3958},"geometry":null},{"type":"Feature","id":3959,"properties":{"Name":"Fowler,John E","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3959},"geometry":null},{"type":"Feature","id":3960,"properties":{"Name":"Smith,Christopher G.","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3960},"geometry":null},{"type":"Feature","id":3961,"properties":{"Name":"Smith,Ricky R","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3961},"geometry":null},{"type":"Feature","id":3962,"properties":{"Name":"Summers,James E","Unit":"Police","Dept":"Crime Reporting Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3962},"geometry":null},{"type":"Feature","id":3963,"properties":{"Name":"Beamon,Nora Regina","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$40,627.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3963},"geometry":null},{"type":"Feature","id":3964,"properties":{"Name":"Buchalski,Bryan A","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$37,066.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3964},"geometry":null},{"type":"Feature","id":3965,"properties":{"Name":"Cain,Christine M","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$38,941.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3965},"geometry":null},{"type":"Feature","id":3966,"properties":{"Name":"Carpenter,Emily Renee","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$38,941.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3966},"geometry":null},{"type":"Feature","id":3967,"properties":{"Name":"Clark,Rachel Kathryn","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$37,807.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3967},"geometry":null},{"type":"Feature","id":3968,"properties":{"Name":"Darden,Keywana","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$37,284.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3968},"geometry":null},{"type":"Feature","id":3969,"properties":{"Name":"Davis,Adrienne M.","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$37,807.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3969},"geometry":null},{"type":"Feature","id":3970,"properties":{"Name":"Flanders,Angela B.","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$41,004.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3970},"geometry":null},{"type":"Feature","id":3971,"properties":{"Name":"Florczyk,Adrianna H.","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$38,941.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3971},"geometry":null},{"type":"Feature","id":3972,"properties":{"Name":"Isaacs,April Jeadon","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$37,066.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3972},"geometry":null},{"type":"Feature","id":3973,"properties":{"Name":"Kirkpatrick,January L.","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$37,284.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3973},"geometry":null},{"type":"Feature","id":3974,"properties":{"Name":"Maresca,Danielle Patricia","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$39,072.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3974},"geometry":null},{"type":"Feature","id":3975,"properties":{"Name":"McMurray II,Charles Warren","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$37,065.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3975},"geometry":null},{"type":"Feature","id":3976,"properties":{"Name":"Patterson,Roy Duane","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$38,941.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3976},"geometry":null},{"type":"Feature","id":3977,"properties":{"Name":"Scheuerman,Michelle Lynn","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$40,627.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3977},"geometry":null},{"type":"Feature","id":3978,"properties":{"Name":"Vasale,Rachel Marie","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$38,941.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3978},"geometry":null},{"type":"Feature","id":3979,"properties":{"Name":"Walton,Shari Gaynell","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$37,807.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3979},"geometry":null},{"type":"Feature","id":3980,"properties":{"Name":"Wilson,Mark A","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$54,459.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3980},"geometry":null},{"type":"Feature","id":3981,"properties":{"Name":"Woodhouse,Kristine Marie","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$40,210.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3981},"geometry":null},{"type":"Feature","id":3982,"properties":{"Name":"Zay,Scott R.","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech I","Annual_Rt":"$40,240.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3982},"geometry":null},{"type":"Feature","id":3983,"properties":{"Name":"Cadenhead,Trena P","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech II","Annual_Rt":"$55,457.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3983},"geometry":null},{"type":"Feature","id":3984,"properties":{"Name":"Griffin,Larry T","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech II","Annual_Rt":"$54,064.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3984},"geometry":null},{"type":"Feature","id":3985,"properties":{"Name":"Nyx,Kharyn Chase","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech II","Annual_Rt":"$46,898.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3985},"geometry":null},{"type":"Feature","id":3986,"properties":{"Name":"Queen,Bonnie Lynn","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech II","Annual_Rt":"$46,683.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3986},"geometry":null},{"type":"Feature","id":3987,"properties":{"Name":"Price,Christy L.","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech II","Annual_Rt":"$46,683.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3987},"geometry":null},{"type":"Feature","id":3988,"properties":{"Name":"Willinsky,Joseph Scott","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Crime Laboratory Tech II","Annual_Rt":"$49,484.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3988},"geometry":null},{"type":"Feature","id":3989,"properties":{"Name":"Motley,Phyllis","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$35,596.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3989},"geometry":null},{"type":"Feature","id":3990,"properties":{"Name":"Scheimreif,Katherine A","Unit":"Police","Dept":"Crime Scene Search Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3990},"geometry":null},{"type":"Feature","id":3991,"properties":{"Name":"Wright,James M","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Captain","Annual_Rt":"$91,494.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3991},"geometry":null},{"type":"Feature","id":3992,"properties":{"Name":"Williams,Felicia Michelle","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$34,203.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3992},"geometry":null},{"type":"Feature","id":3993,"properties":{"Name":"Arrington,Tonya Michelle","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3993},"geometry":null},{"type":"Feature","id":3994,"properties":{"Name":"Bryley,Jacquelyn","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3994},"geometry":null},{"type":"Feature","id":3995,"properties":{"Name":"Wagner,Christian S","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3995},"geometry":null},{"type":"Feature","id":3996,"properties":{"Name":"Aguirre,Jose Neville","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$65,326.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3996},"geometry":null},{"type":"Feature","id":3997,"properties":{"Name":"Albertson,Bryan D","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3997},"geometry":null},{"type":"Feature","id":3998,"properties":{"Name":"Alvarez Jr,Claudio Andres","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3998},"geometry":null},{"type":"Feature","id":3999,"properties":{"Name":"Aracena,Juan Carlos","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":3999},"geometry":null},{"type":"Feature","id":4000,"properties":{"Name":"Archer,Travis Lee","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$68,167.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4000},"geometry":null},{"type":"Feature","id":4001,"properties":{"Name":"Artieri,David L","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4001},"geometry":null},{"type":"Feature","id":4002,"properties":{"Name":"Barringer,Nezzie M","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$66,218.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4002},"geometry":null},{"type":"Feature","id":4003,"properties":{"Name":"Ash,David L.","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4003},"geometry":null},{"type":"Feature","id":4004,"properties":{"Name":"Begley Jr,Stephen H","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4004},"geometry":null},{"type":"Feature","id":4005,"properties":{"Name":"Belle,Calvin Thomas","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4005},"geometry":null},{"type":"Feature","id":4006,"properties":{"Name":"Benloss,Paul Justin","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4006},"geometry":null},{"type":"Feature","id":4007,"properties":{"Name":"Bergen,Jenna Aileen","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4007},"geometry":null},{"type":"Feature","id":4008,"properties":{"Name":"Berman,Corey Michael","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4008},"geometry":null},{"type":"Feature","id":4009,"properties":{"Name":"Blue,Prince F. J. T.","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4009},"geometry":null},{"type":"Feature","id":4010,"properties":{"Name":"Bostick,William S","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4010},"geometry":null},{"type":"Feature","id":4011,"properties":{"Name":"Bubans,Aaron N","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4011},"geometry":null},{"type":"Feature","id":4012,"properties":{"Name":"Burnett,Robert Knox","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4012},"geometry":null},{"type":"Feature","id":4013,"properties":{"Name":"Butler,Brian Israel","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4013},"geometry":null},{"type":"Feature","id":4014,"properties":{"Name":"Campos,Jose Luis","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4014},"geometry":null},{"type":"Feature","id":4015,"properties":{"Name":"Carbonaro,Peter","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4015},"geometry":null},{"type":"Feature","id":4016,"properties":{"Name":"Carey,Sara Elizabeth","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4016},"geometry":null},{"type":"Feature","id":4017,"properties":{"Name":"Castano,Theodore P","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4017},"geometry":null},{"type":"Feature","id":4018,"properties":{"Name":"Cicio,Melissa R","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4018},"geometry":null},{"type":"Feature","id":4019,"properties":{"Name":"Connor,Scheldon J","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4019},"geometry":null},{"type":"Feature","id":4020,"properties":{"Name":"Crowley,Ted P","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4020},"geometry":null},{"type":"Feature","id":4021,"properties":{"Name":"Crum,Nathan J","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$49,933.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4021},"geometry":null},{"type":"Feature","id":4022,"properties":{"Name":"Digeronimo,James A","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4022},"geometry":null},{"type":"Feature","id":4023,"properties":{"Name":"Dowell,Casey T","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4023},"geometry":null},{"type":"Feature","id":4024,"properties":{"Name":"Earl,Mitchell H","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4024},"geometry":null},{"type":"Feature","id":4025,"properties":{"Name":"Edwards,Tricia","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4025},"geometry":null},{"type":"Feature","id":4026,"properties":{"Name":"Ellis,Joseph R","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4026},"geometry":null},{"type":"Feature","id":4027,"properties":{"Name":"Finis,Shannon Michele","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4027},"geometry":null},{"type":"Feature","id":4028,"properties":{"Name":"Fowler,Joshua R.","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4028},"geometry":null},{"type":"Feature","id":4029,"properties":{"Name":"Frazier,Roosevelt","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4029},"geometry":null},{"type":"Feature","id":4030,"properties":{"Name":"Fusco,Lance P.","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$53,740.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4030},"geometry":null},{"type":"Feature","id":4031,"properties":{"Name":"Galloway,Evonne Hodges","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4031},"geometry":null},{"type":"Feature","id":4032,"properties":{"Name":"Fraas III,Robert Ernest","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4032},"geometry":null},{"type":"Feature","id":4033,"properties":{"Name":"Gerald,Timothy B","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$72,840.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4033},"geometry":null},{"type":"Feature","id":4034,"properties":{"Name":"Gonzalez,Edward M.","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$64,380.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4034},"geometry":null},{"type":"Feature","id":4035,"properties":{"Name":"Haithcock,Jason T","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4035},"geometry":null},{"type":"Feature","id":4036,"properties":{"Name":"Handy,Jason K.","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$56,806.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4036},"geometry":null},{"type":"Feature","id":4037,"properties":{"Name":"Harmon,Dan Clark","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4037},"geometry":null},{"type":"Feature","id":4038,"properties":{"Name":"Hodges,Daniel William","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4038},"geometry":null},{"type":"Feature","id":4039,"properties":{"Name":"Holding,Amir Amin","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4039},"geometry":null},{"type":"Feature","id":4040,"properties":{"Name":"Hunter,David L","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4040},"geometry":null},{"type":"Feature","id":4041,"properties":{"Name":"Inthisone,Aksone","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$77,124.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4041},"geometry":null},{"type":"Feature","id":4042,"properties":{"Name":"Jones,Charles David","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$62,665.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4042},"geometry":null},{"type":"Feature","id":4043,"properties":{"Name":"Kaminski II,Edward A","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4043},"geometry":null},{"type":"Feature","id":4044,"properties":{"Name":"Knudsen,Karl K","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4044},"geometry":null},{"type":"Feature","id":4045,"properties":{"Name":"Lang,Jeffrey T","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4045},"geometry":null},{"type":"Feature","id":4046,"properties":{"Name":"Lee,Tyler Christopher","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4046},"geometry":null},{"type":"Feature","id":4047,"properties":{"Name":"Lombardo,Peter Michael","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4047},"geometry":null},{"type":"Feature","id":4048,"properties":{"Name":"Martin,Russell Amos","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$60,766.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4048},"geometry":null},{"type":"Feature","id":4049,"properties":{"Name":"Maier,Stephen Thomas","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4049},"geometry":null},{"type":"Feature","id":4050,"properties":{"Name":"McFry,Louis William","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4050},"geometry":null},{"type":"Feature","id":4051,"properties":{"Name":"McGee,Martin Thomas","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4051},"geometry":null},{"type":"Feature","id":4052,"properties":{"Name":"McManus,Clayton M","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4052},"geometry":null},{"type":"Feature","id":4053,"properties":{"Name":"Meadows,Timothy Mark","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4053},"geometry":null},{"type":"Feature","id":4054,"properties":{"Name":"Mercedes,Winsthon Javier","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4054},"geometry":null},{"type":"Feature","id":4055,"properties":{"Name":"Mescan,Matthew A","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4055},"geometry":null},{"type":"Feature","id":4056,"properties":{"Name":"Miles,Candace Eugenia","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4056},"geometry":null},{"type":"Feature","id":4057,"properties":{"Name":"Morris,Jacques Chander","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4057},"geometry":null},{"type":"Feature","id":4058,"properties":{"Name":"Morton,Thomas T","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4058},"geometry":null},{"type":"Feature","id":4059,"properties":{"Name":"Mozingo,Todd A","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4059},"geometry":null},{"type":"Feature","id":4060,"properties":{"Name":"Nicholas,Jonathan E","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4060},"geometry":null},{"type":"Feature","id":4061,"properties":{"Name":"Nunez,Rene","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4061},"geometry":null},{"type":"Feature","id":4062,"properties":{"Name":"Munn,Todd M","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4062},"geometry":null},{"type":"Feature","id":4063,"properties":{"Name":"Overcash,Daniel N","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$53,054.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4063},"geometry":null},{"type":"Feature","id":4064,"properties":{"Name":"Omar,Mohammad","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$55,051.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4064},"geometry":null},{"type":"Feature","id":4065,"properties":{"Name":"Pallone,William A","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4065},"geometry":null},{"type":"Feature","id":4066,"properties":{"Name":"Phan,Tam","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4066},"geometry":null},{"type":"Feature","id":4067,"properties":{"Name":"Propst,John W.","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$60,593.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4067},"geometry":null},{"type":"Feature","id":4068,"properties":{"Name":"Ramsey,Micah Jonathan","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4068},"geometry":null},{"type":"Feature","id":4069,"properties":{"Name":"Rangolan,Peter G. O.","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4069},"geometry":null},{"type":"Feature","id":4070,"properties":{"Name":"Reese,Richard B","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4070},"geometry":null},{"type":"Feature","id":4071,"properties":{"Name":"Reeves,Jason D.","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4071},"geometry":null},{"type":"Feature","id":4072,"properties":{"Name":"Reyes,Engelbert C","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4072},"geometry":null},{"type":"Feature","id":4073,"properties":{"Name":"Riley,Eric M","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4073},"geometry":null},{"type":"Feature","id":4074,"properties":{"Name":"Robison Jr,Stephen Barnes","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4074},"geometry":null},{"type":"Feature","id":4075,"properties":{"Name":"Rorie,Michael L","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$71,063.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4075},"geometry":null},{"type":"Feature","id":4076,"properties":{"Name":"Russell,Robert B","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4076},"geometry":null},{"type":"Feature","id":4077,"properties":{"Name":"Simpson,Sean Elliott","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4077},"geometry":null},{"type":"Feature","id":4078,"properties":{"Name":"Skipper,Aaron Brock","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$60,962.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4078},"geometry":null},{"type":"Feature","id":4079,"properties":{"Name":"Skipper,Caleb Chandler","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4079},"geometry":null},{"type":"Feature","id":4080,"properties":{"Name":"Skipper,Joshua Campbell","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4080},"geometry":null},{"type":"Feature","id":4081,"properties":{"Name":"Staton,Terry B","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$72,840.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4081},"geometry":null},{"type":"Feature","id":4082,"properties":{"Name":"Steppe,Jonathan P","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4082},"geometry":null},{"type":"Feature","id":4083,"properties":{"Name":"Strayer,Shane A","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$60,294.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4083},"geometry":null},{"type":"Feature","id":4084,"properties":{"Name":"Strong III,Charles Oscar","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4084},"geometry":null},{"type":"Feature","id":4085,"properties":{"Name":"Sykes,Brandon Jamal","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4085},"geometry":null},{"type":"Feature","id":4086,"properties":{"Name":"Teague,James M","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4086},"geometry":null},{"type":"Feature","id":4087,"properties":{"Name":"Tilson,Jensen C.","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4087},"geometry":null},{"type":"Feature","id":4088,"properties":{"Name":"Vivas,Richard","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4088},"geometry":null},{"type":"Feature","id":4089,"properties":{"Name":"Watson,Todd W","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4089},"geometry":null},{"type":"Feature","id":4090,"properties":{"Name":"White Jr,Michael Eugene","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$51,493.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4090},"geometry":null},{"type":"Feature","id":4091,"properties":{"Name":"Wigg IV,William Hutson","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4091},"geometry":null},{"type":"Feature","id":4092,"properties":{"Name":"Wippel,Dustin Joseph","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4092},"geometry":null},{"type":"Feature","id":4093,"properties":{"Name":"Witherspoon Jr,Charles H","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":4093},"geometry":null},{"type":"Feature","id":4094,"properties":{"Name":"Aldridge,Darren J","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4094},"geometry":null},{"type":"Feature","id":4095,"properties":{"Name":"Cardaci,Philip O","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4095},"geometry":null},{"type":"Feature","id":4096,"properties":{"Name":"Hervey,Michael J","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4096},"geometry":null},{"type":"Feature","id":4097,"properties":{"Name":"Kendall,Ryan S.","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4097},"geometry":null},{"type":"Feature","id":4098,"properties":{"Name":"Lim,Gene H","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4098},"geometry":null},{"type":"Feature","id":4099,"properties":{"Name":"Milliken,Joseph","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4099},"geometry":null},{"type":"Feature","id":4100,"properties":{"Name":"Vredeveld,Jeremy D","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4100},"geometry":null},{"type":"Feature","id":4101,"properties":{"Name":"Preston,Michele M","Unit":"Police","Dept":"Eastway Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4101},"geometry":null},{"type":"Feature","id":4102,"properties":{"Name":"Singleton,Stacie Yeager","Unit":"Police","Dept":"Electronic Monitoring Unit","Job_Title":"Office Assistant IV","Annual_Rt":"$32,809.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4102},"geometry":null},{"type":"Feature","id":4103,"properties":{"Name":"Carter,Scott M","Unit":"Police","Dept":"Electronic Monitoring Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4103},"geometry":null},{"type":"Feature","id":4104,"properties":{"Name":"Yanes,Cesar Asael","Unit":"Police","Dept":"Electronic Monitoring Unit","Job_Title":"Police Cadet","Annual_Rt":null,"Hrly_Rate":"$9.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":4104},"geometry":null},{"type":"Feature","id":4105,"properties":{"Name":"Hibbler,Michael Jamaal","Unit":"Police","Dept":"Electronic Monitoring Unit","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4105},"geometry":null},{"type":"Feature","id":4106,"properties":{"Name":"Johnson,Adrian Emanuel","Unit":"Police","Dept":"Electronic Monitoring Unit","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4106},"geometry":null},{"type":"Feature","id":4107,"properties":{"Name":"Hayes,Mark W","Unit":"Police","Dept":"Electronic Monitoring Unit","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":4107},"geometry":null},{"type":"Feature","id":4108,"properties":{"Name":"Kozlowski,William A","Unit":"Police","Dept":"Electronic Monitoring Unit","Job_Title":"Police Officer","Annual_Rt":"$55,051.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4108},"geometry":null},{"type":"Feature","id":4109,"properties":{"Name":"Percy,Dorne Eechele","Unit":"Police","Dept":"Electronic Monitoring Unit","Job_Title":"Police Officer","Annual_Rt":"$47,555.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4109},"geometry":null},{"type":"Feature","id":4110,"properties":{"Name":"Thompson Jr,Charles Timothy","Unit":"Police","Dept":"Electronic Monitoring Unit","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4110},"geometry":null},{"type":"Feature","id":4111,"properties":{"Name":"Evans,Lebraun A","Unit":"Police","Dept":"Electronic Monitoring Unit","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4111},"geometry":null},{"type":"Feature","id":4112,"properties":{"Name":"Bedard,Michael Paul","Unit":"Police","Dept":"Facilities Section","Job_Title":"Contracts Admin Coordinator","Annual_Rt":"$68,800.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4112},"geometry":null},{"type":"Feature","id":4113,"properties":{"Name":"Burgess,Donna D","Unit":"Police","Dept":"Field Services Group North - A","Job_Title":"Administrative Officer I","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":4113},"geometry":null},{"type":"Feature","id":4114,"properties":{"Name":"Barker,Patricia H","Unit":"Police","Dept":"Field Services Group North - A","Job_Title":"Administrative Officer II","Annual_Rt":"$59,285.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4114},"geometry":null},{"type":"Feature","id":4115,"properties":{"Name":"Levins,Paul E","Unit":"Police","Dept":"Field Services Group North - A","Job_Title":"Deputy Police Chief","Annual_Rt":"$114,975.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4115},"geometry":null},{"type":"Feature","id":4116,"properties":{"Name":"Abdum-Muhaymin,Jibril","Unit":"Police","Dept":"Field Services Group North - A","Job_Title":"Management Analyst","Annual_Rt":"$56,074.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4116},"geometry":null},{"type":"Feature","id":4117,"properties":{"Name":"Mount,James Ramsey","Unit":"Police","Dept":"Field Services Group North - A","Job_Title":"Management Analyst","Annual_Rt":"$54,975.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4117},"geometry":null},{"type":"Feature","id":4118,"properties":{"Name":"Pellicone,Dominick V","Unit":"Police","Dept":"Field Services Group North - A","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4118},"geometry":null},{"type":"Feature","id":4119,"properties":{"Name":"Gallant,Douglas E","Unit":"Police","Dept":"Field Services Group South - A","Job_Title":"Deputy Police Chief","Annual_Rt":"$117,274.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4119},"geometry":null},{"type":"Feature","id":4120,"properties":{"Name":"Dozier,Martha Fortos","Unit":"Police","Dept":"Field Services Group South - A","Job_Title":"Police Captain","Annual_Rt":"$95,957.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4120},"geometry":null},{"type":"Feature","id":4121,"properties":{"Name":"Strayer,Danielle Lyn","Unit":"Police","Dept":"Field Services Group South - A","Job_Title":"Office Assistant IV","Annual_Rt":"$39,427.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4121},"geometry":null},{"type":"Feature","id":4122,"properties":{"Name":"Nichols,Edna K","Unit":"Police","Dept":"Field Services Group South - A","Job_Title":"Police Captain","Annual_Rt":null,"Hrly_Rate":"$36.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":4122},"geometry":null},{"type":"Feature","id":4123,"properties":{"Name":"Chilton,James B.","Unit":"Police","Dept":"Financial Crimes / Cyber Crime","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4123},"geometry":null},{"type":"Feature","id":4124,"properties":{"Name":"DeCarlo,Christopher J.","Unit":"Police","Dept":"Financial Crimes / Cyber Crime","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4124},"geometry":null},{"type":"Feature","id":4125,"properties":{"Name":"McNeil,Christopher L","Unit":"Police","Dept":"Financial Crimes / Cyber Crime","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4125},"geometry":null},{"type":"Feature","id":4126,"properties":{"Name":"Perez,Christopher E","Unit":"Police","Dept":"Financial Crimes / Cyber Crime","Job_Title":"Police Officer","Annual_Rt":"$69,923.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4126},"geometry":null},{"type":"Feature","id":4127,"properties":{"Name":"Blee,Carrie S","Unit":"Police","Dept":"Firearms Training Unit","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4127},"geometry":null},{"type":"Feature","id":4128,"properties":{"Name":"Herman,Zachary L","Unit":"Police","Dept":"Firearms Training Unit","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4128},"geometry":null},{"type":"Feature","id":4129,"properties":{"Name":"White,Kip J","Unit":"Police","Dept":"Firearms Training Unit","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4129},"geometry":null},{"type":"Feature","id":4130,"properties":{"Name":"Powell,Lawrence R","Unit":"Police","Dept":"Firearms Training Unit","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4130},"geometry":null},{"type":"Feature","id":4131,"properties":{"Name":"Wright,Sidney C","Unit":"Police","Dept":"Firearms Training Unit","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4131},"geometry":null},{"type":"Feature","id":4132,"properties":{"Name":"Nivens,Tara D","Unit":"Police","Dept":"Fiscal Affairs Division","Job_Title":"Administrative Officer I","Annual_Rt":"$48,615.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4132},"geometry":null},{"type":"Feature","id":4133,"properties":{"Name":"Dozier,Natasha Renee","Unit":"Police","Dept":"Fiscal Affairs Division","Job_Title":"Administrative Officer II","Annual_Rt":"$52,530.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4133},"geometry":null},{"type":"Feature","id":4134,"properties":{"Name":"Edmonds,Heather Lyn","Unit":"Police","Dept":"Fiscal Affairs Division","Job_Title":"Administrative Officer II","Annual_Rt":"$47,142.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4134},"geometry":null},{"type":"Feature","id":4135,"properties":{"Name":"Brooks,Kenni R","Unit":"Police","Dept":"Fiscal Affairs Division","Job_Title":"Administrative Officer III","Annual_Rt":"$59,990.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4135},"geometry":null},{"type":"Feature","id":4136,"properties":{"Name":"Gettis,Susan M","Unit":"Police","Dept":"Fiscal Affairs Division","Job_Title":"Administrative Officer III","Annual_Rt":null,"Hrly_Rate":"$28.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":4136},"geometry":null},{"type":"Feature","id":4137,"properties":{"Name":"Jones,Ebony Monique","Unit":"Police","Dept":"Fiscal Affairs Division","Job_Title":"Administrative Officer III","Annual_Rt":"$52,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4137},"geometry":null},{"type":"Feature","id":4138,"properties":{"Name":"Hamilton,Pamela T","Unit":"Police","Dept":"Fiscal Affairs Division","Job_Title":"Administrative Officer IV","Annual_Rt":"$63,180.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4138},"geometry":null},{"type":"Feature","id":4139,"properties":{"Name":"Crystal,Gregory A.","Unit":"Police","Dept":"Fiscal Affairs Division","Job_Title":"Administrative Officer V","Annual_Rt":"$96,769.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4139},"geometry":null},{"type":"Feature","id":4140,"properties":{"Name":"Green,Kelly P","Unit":"Police","Dept":"Fleet Section","Job_Title":"Contract Technician","Annual_Rt":"$42,124.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4140},"geometry":null},{"type":"Feature","id":4141,"properties":{"Name":"Kracke,Fred M","Unit":"Police","Dept":"Fleet Section","Job_Title":"Fleet Specification Analyst","Annual_Rt":"$50,311.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4141},"geometry":null},{"type":"Feature","id":4142,"properties":{"Name":"Smith,Richard F","Unit":"Police","Dept":"Fleet Section","Job_Title":"Operations Supervisor","Annual_Rt":"$66,187.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4142},"geometry":null},{"type":"Feature","id":4143,"properties":{"Name":"Collins,Gregg R","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4143},"geometry":null},{"type":"Feature","id":4144,"properties":{"Name":"Cassada,Kelly Bailey","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$37,304.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4144},"geometry":null},{"type":"Feature","id":4145,"properties":{"Name":"Blum,David T","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4145},"geometry":null},{"type":"Feature","id":4146,"properties":{"Name":"Carriker,Lisa A","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4146},"geometry":null},{"type":"Feature","id":4147,"properties":{"Name":"Royston,Anderson L","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4147},"geometry":null},{"type":"Feature","id":4148,"properties":{"Name":"Anderson,Darlene C","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4148},"geometry":null},{"type":"Feature","id":4149,"properties":{"Name":"Arpino,Paul M","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4149},"geometry":null},{"type":"Feature","id":4150,"properties":{"Name":"Bales,John Austin","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4150},"geometry":null},{"type":"Feature","id":4151,"properties":{"Name":"Banks,David Anthony","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4151},"geometry":null},{"type":"Feature","id":4152,"properties":{"Name":"Baswell,Joshua David","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4152},"geometry":null},{"type":"Feature","id":4153,"properties":{"Name":"Bernard,Michael S","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4153},"geometry":null},{"type":"Feature","id":4154,"properties":{"Name":"Bignall,Daniel J","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$72,108.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4154},"geometry":null},{"type":"Feature","id":4155,"properties":{"Name":"Blee,Shawn M","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4155},"geometry":null},{"type":"Feature","id":4156,"properties":{"Name":"Bryan,Durell Marcus","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4156},"geometry":null},{"type":"Feature","id":4157,"properties":{"Name":"Buie,William David","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$46,600.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4157},"geometry":null},{"type":"Feature","id":4158,"properties":{"Name":"Bush,Nicholas S.","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$52,430.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4158},"geometry":null},{"type":"Feature","id":4159,"properties":{"Name":"Clark,DeMario Maurice","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4159},"geometry":null},{"type":"Feature","id":4160,"properties":{"Name":"Condron,Ben Alexander","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4160},"geometry":null},{"type":"Feature","id":4161,"properties":{"Name":"Conklin,Ryan K","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4161},"geometry":null},{"type":"Feature","id":4162,"properties":{"Name":"Courchaine,Michael T.","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4162},"geometry":null},{"type":"Feature","id":4163,"properties":{"Name":"Cunius,Daniel P","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4163},"geometry":null},{"type":"Feature","id":4164,"properties":{"Name":"Cupples III,Clyde M","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4164},"geometry":null},{"type":"Feature","id":4165,"properties":{"Name":"Daigle,Jordon Emory","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$46,600.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4165},"geometry":null},{"type":"Feature","id":4166,"properties":{"Name":"Dickinson,David G","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4166},"geometry":null},{"type":"Feature","id":4167,"properties":{"Name":"Dixon III,Dewitt","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4167},"geometry":null},{"type":"Feature","id":4168,"properties":{"Name":"Edwards,Bradley S","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4168},"geometry":null},{"type":"Feature","id":4169,"properties":{"Name":"Flowers,James J","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$66,218.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4169},"geometry":null},{"type":"Feature","id":4170,"properties":{"Name":"Flynn,Daniel Patrick","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4170},"geometry":null},{"type":"Feature","id":4171,"properties":{"Name":"Foster,Mitzi M","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4171},"geometry":null},{"type":"Feature","id":4172,"properties":{"Name":"Fox,Jesse Lee","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4172},"geometry":null},{"type":"Feature","id":4173,"properties":{"Name":"Francisco,Marvin","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4173},"geometry":null},{"type":"Feature","id":4174,"properties":{"Name":"Fulton,Matthew R","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4174},"geometry":null},{"type":"Feature","id":4175,"properties":{"Name":"Garcia,Rafael A","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$51,493.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4175},"geometry":null},{"type":"Feature","id":4176,"properties":{"Name":"Gerson,Scott C","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4176},"geometry":null},{"type":"Feature","id":4177,"properties":{"Name":"Giles-Kornberg,Gretchen K.","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4177},"geometry":null},{"type":"Feature","id":4178,"properties":{"Name":"Glenn,Artis T","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$64,603.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4178},"geometry":null},{"type":"Feature","id":4179,"properties":{"Name":"Goode,Jeremy Ramir","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$46,600.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4179},"geometry":null},{"type":"Feature","id":4180,"properties":{"Name":"Grew,Patrick S","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4180},"geometry":null},{"type":"Feature","id":4181,"properties":{"Name":"Griffin,John Lee","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4181},"geometry":null},{"type":"Feature","id":4182,"properties":{"Name":"Guard,James D","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4182},"geometry":null},{"type":"Feature","id":4183,"properties":{"Name":"Gunning,John P","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4183},"geometry":null},{"type":"Feature","id":4184,"properties":{"Name":"Hartley,Robert B","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4184},"geometry":null},{"type":"Feature","id":4185,"properties":{"Name":"Hopkins,Brendan S","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4185},"geometry":null},{"type":"Feature","id":4186,"properties":{"Name":"Hopkins,Gerald G","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4186},"geometry":null},{"type":"Feature","id":4187,"properties":{"Name":"Horne,Gregory L","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4187},"geometry":null},{"type":"Feature","id":4188,"properties":{"Name":"Hughes,Ray S","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$72,840.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4188},"geometry":null},{"type":"Feature","id":4189,"properties":{"Name":"Hume,Nichole Ann","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4189},"geometry":null},{"type":"Feature","id":4190,"properties":{"Name":"Humphrey,Christopher A","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4190},"geometry":null},{"type":"Feature","id":4191,"properties":{"Name":"Hunter,Sheldon N","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4191},"geometry":null},{"type":"Feature","id":4192,"properties":{"Name":"Hurst,Troy A","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4192},"geometry":null},{"type":"Feature","id":4193,"properties":{"Name":"Jablonski,Nicole Kathleen","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4193},"geometry":null},{"type":"Feature","id":4194,"properties":{"Name":"Jean-Paul,Appolon","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4194},"geometry":null},{"type":"Feature","id":4195,"properties":{"Name":"John,Deidre Nicole","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4195},"geometry":null},{"type":"Feature","id":4196,"properties":{"Name":"Jonasse,Erik J","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4196},"geometry":null},{"type":"Feature","id":4197,"properties":{"Name":"Keller,Alexander Matthew","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4197},"geometry":null},{"type":"Feature","id":4198,"properties":{"Name":"Kent,Kyle Edward","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4198},"geometry":null},{"type":"Feature","id":4199,"properties":{"Name":"Kiley,William A.","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$65,326.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4199},"geometry":null},{"type":"Feature","id":4200,"properties":{"Name":"Kuykendall,Kyle J","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4200},"geometry":null},{"type":"Feature","id":4201,"properties":{"Name":"Lawrence,Shane J","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4201},"geometry":null},{"type":"Feature","id":4202,"properties":{"Name":"Lewis,Brian K","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4202},"geometry":null},{"type":"Feature","id":4203,"properties":{"Name":"McClary,Eric G","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4203},"geometry":null},{"type":"Feature","id":4204,"properties":{"Name":"Meadors,Jacob L.","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4204},"geometry":null},{"type":"Feature","id":4205,"properties":{"Name":"Melchin,Adam Michael","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4205},"geometry":null},{"type":"Feature","id":4206,"properties":{"Name":"Meyer,Richard Michael","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$56,771.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4206},"geometry":null},{"type":"Feature","id":4207,"properties":{"Name":"Miles,Michael Jonathan","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4207},"geometry":null},{"type":"Feature","id":4208,"properties":{"Name":"Nance,Roland S","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4208},"geometry":null},{"type":"Feature","id":4209,"properties":{"Name":"Nelson Jr,Richard L","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$59,115.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4209},"geometry":null},{"type":"Feature","id":4210,"properties":{"Name":"Nicholson,Brian K","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4210},"geometry":null},{"type":"Feature","id":4211,"properties":{"Name":"ODell,Kyle J","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4211},"geometry":null},{"type":"Feature","id":4212,"properties":{"Name":"Pearson,Joseph E","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4212},"geometry":null},{"type":"Feature","id":4213,"properties":{"Name":"Pickert,Lynda Christine","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4213},"geometry":null},{"type":"Feature","id":4214,"properties":{"Name":"Pitts,Heather Michelle","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4214},"geometry":null},{"type":"Feature","id":4215,"properties":{"Name":"Porter,Jeffrey Kemp","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4215},"geometry":null},{"type":"Feature","id":4216,"properties":{"Name":"Pressley Jr,Gerald S","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4216},"geometry":null},{"type":"Feature","id":4217,"properties":{"Name":"Price,Mark Roger","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4217},"geometry":null},{"type":"Feature","id":4218,"properties":{"Name":"Proctor,Kenneth B","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4218},"geometry":null},{"type":"Feature","id":4219,"properties":{"Name":"Putnam,Mark B","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4219},"geometry":null},{"type":"Feature","id":4220,"properties":{"Name":"Reno,Anthony John","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4220},"geometry":null},{"type":"Feature","id":4221,"properties":{"Name":"Saine,Alex Zilk","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4221},"geometry":null},{"type":"Feature","id":4222,"properties":{"Name":"Selph,Joseph M","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4222},"geometry":null},{"type":"Feature","id":4223,"properties":{"Name":"Shingler,Chad Raland","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4223},"geometry":null},{"type":"Feature","id":4224,"properties":{"Name":"Simma Jr,John William","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4224},"geometry":null},{"type":"Feature","id":4225,"properties":{"Name":"Sinnott,Christian Michael","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4225},"geometry":null},{"type":"Feature","id":4226,"properties":{"Name":"Smith,Jamie C","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4226},"geometry":null},{"type":"Feature","id":4227,"properties":{"Name":"Stilwell,Benjamin Clayton","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4227},"geometry":null},{"type":"Feature","id":4228,"properties":{"Name":"Sullivan,Wayne Cornelius","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4228},"geometry":null},{"type":"Feature","id":4229,"properties":{"Name":"Svancarek,Scott Robert","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4229},"geometry":null},{"type":"Feature","id":4230,"properties":{"Name":"Tipp,Matthew E","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4230},"geometry":null},{"type":"Feature","id":4231,"properties":{"Name":"Thomas,Kelly Suzanne","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4231},"geometry":null},{"type":"Feature","id":4232,"properties":{"Name":"VanHemel,John David","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4232},"geometry":null},{"type":"Feature","id":4233,"properties":{"Name":"Wait,Lauren R","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4233},"geometry":null},{"type":"Feature","id":4234,"properties":{"Name":"Waite,Chad Randel","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4234},"geometry":null},{"type":"Feature","id":4235,"properties":{"Name":"Watts,Matthew W.","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4235},"geometry":null},{"type":"Feature","id":4236,"properties":{"Name":"Whitley,Brian","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$71,063.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4236},"geometry":null},{"type":"Feature","id":4237,"properties":{"Name":"Williamson,Brandon C","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4237},"geometry":null},{"type":"Feature","id":4238,"properties":{"Name":"Witherell,William S","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4238},"geometry":null},{"type":"Feature","id":4239,"properties":{"Name":"Bennett,Donald C","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4239},"geometry":null},{"type":"Feature","id":4240,"properties":{"Name":"Dunn,Bradford Clayton","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4240},"geometry":null},{"type":"Feature","id":4241,"properties":{"Name":"Gromis,Timothy B","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Sergeant","Annual_Rt":"$85,355.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4241},"geometry":null},{"type":"Feature","id":4242,"properties":{"Name":"Jurbala,John M","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4242},"geometry":null},{"type":"Feature","id":4243,"properties":{"Name":"Leclerc,Christopher M","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4243},"geometry":null},{"type":"Feature","id":4244,"properties":{"Name":"Prince,David Anderson","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4244},"geometry":null},{"type":"Feature","id":4245,"properties":{"Name":"Trull,Brian A","Unit":"Police","Dept":"Freedom Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4245},"geometry":null},{"type":"Feature","id":4246,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Office Assistant IV","Annual_Rt":"$44,522.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4246},"geometry":null},{"type":"Feature","id":4247,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4247},"geometry":null},{"type":"Feature","id":4248,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4248},"geometry":null},{"type":"Feature","id":4249,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4249},"geometry":null},{"type":"Feature","id":4250,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4250},"geometry":null},{"type":"Feature","id":4251,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4251},"geometry":null},{"type":"Feature","id":4252,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4252},"geometry":null},{"type":"Feature","id":4253,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4253},"geometry":null},{"type":"Feature","id":4254,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4254},"geometry":null},{"type":"Feature","id":4255,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4255},"geometry":null},{"type":"Feature","id":4256,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$71,671.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4256},"geometry":null},{"type":"Feature","id":4257,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4257},"geometry":null},{"type":"Feature","id":4258,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4258},"geometry":null},{"type":"Feature","id":4259,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4259},"geometry":null},{"type":"Feature","id":4260,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4260},"geometry":null},{"type":"Feature","id":4261,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4261},"geometry":null},{"type":"Feature","id":4262,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4262},"geometry":null},{"type":"Feature","id":4263,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4263},"geometry":null},{"type":"Feature","id":4264,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4264},"geometry":null},{"type":"Feature","id":4265,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4265},"geometry":null},{"type":"Feature","id":4266,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4266},"geometry":null},{"type":"Feature","id":4267,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4267},"geometry":null},{"type":"Feature","id":4268,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Response Area Commander","Annual_Rt":"$86,981.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4268},"geometry":null},{"type":"Feature","id":4269,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4269},"geometry":null},{"type":"Feature","id":4270,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4270},"geometry":null},{"type":"Feature","id":4271,"properties":{"Name":null,"Unit":"Police","Dept":"Gang and Firearm Enforcement D","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4271},"geometry":null},{"type":"Feature","id":4272,"properties":{"Name":"Henson,Harold W","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4272},"geometry":null},{"type":"Feature","id":4273,"properties":{"Name":"Bendana,Maria Jose","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$36,563.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4273},"geometry":null},{"type":"Feature","id":4274,"properties":{"Name":"Brady,Eric F","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4274},"geometry":null},{"type":"Feature","id":4275,"properties":{"Name":"Childs,Robert C","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4275},"geometry":null},{"type":"Feature","id":4276,"properties":{"Name":"Jackson,Ryan W","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Lieutenant","Annual_Rt":"$87,341.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4276},"geometry":null},{"type":"Feature","id":4277,"properties":{"Name":"Alcantara,Stephanie","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$45,188.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4277},"geometry":null},{"type":"Feature","id":4278,"properties":{"Name":"Allen III,Fred J","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$69,529.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4278},"geometry":null},{"type":"Feature","id":4279,"properties":{"Name":"Alvear,Guillermo J.","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4279},"geometry":null},{"type":"Feature","id":4280,"properties":{"Name":"Arnold,Chad W.","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4280},"geometry":null},{"type":"Feature","id":4281,"properties":{"Name":"Austin,Kenneth W","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4281},"geometry":null},{"type":"Feature","id":4282,"properties":{"Name":"Baker,Randall L","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4282},"geometry":null},{"type":"Feature","id":4283,"properties":{"Name":"Barringer,Adam J","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4283},"geometry":null},{"type":"Feature","id":4284,"properties":{"Name":"Bittenbender,Ian Butler","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4284},"geometry":null},{"type":"Feature","id":4285,"properties":{"Name":"Blackwell,Stephen W","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4285},"geometry":null},{"type":"Feature","id":4286,"properties":{"Name":"Bobrek,Timothy M.","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$68,633.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4286},"geometry":null},{"type":"Feature","id":4287,"properties":{"Name":"Bowers,Mark Cameron","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$46,600.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4287},"geometry":null},{"type":"Feature","id":4288,"properties":{"Name":"Brown,Karen Ashley","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4288},"geometry":null},{"type":"Feature","id":4289,"properties":{"Name":"Buckingham,Brad Mackenzie","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4289},"geometry":null},{"type":"Feature","id":4290,"properties":{"Name":"Bumgarner,Jeffrey C","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4290},"geometry":null},{"type":"Feature","id":4291,"properties":{"Name":"Burleson,Billie R","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4291},"geometry":null},{"type":"Feature","id":4292,"properties":{"Name":"Burnett II,Lowell B","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4292},"geometry":null},{"type":"Feature","id":4293,"properties":{"Name":"Carr,James Kendall","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4293},"geometry":null},{"type":"Feature","id":4294,"properties":{"Name":"Carson,Tyronia P","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4294},"geometry":null},{"type":"Feature","id":4295,"properties":{"Name":"Carter,Jack D","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4295},"geometry":null},{"type":"Feature","id":4296,"properties":{"Name":"Conner,Paul B","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4296},"geometry":null},{"type":"Feature","id":4297,"properties":{"Name":"Conway,Ericka Nichols","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4297},"geometry":null},{"type":"Feature","id":4298,"properties":{"Name":"Crooks,Nicole Stutts","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4298},"geometry":null},{"type":"Feature","id":4299,"properties":{"Name":"Decker,Daniel N","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4299},"geometry":null},{"type":"Feature","id":4300,"properties":{"Name":"Dossett,Jeremiah Nicholas","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4300},"geometry":null},{"type":"Feature","id":4301,"properties":{"Name":"Evett,Scott A","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4301},"geometry":null},{"type":"Feature","id":4302,"properties":{"Name":"Farmer,Taft J","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4302},"geometry":null},{"type":"Feature","id":4303,"properties":{"Name":"Ferguson,Brandon Len","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$53,740.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4303},"geometry":null},{"type":"Feature","id":4304,"properties":{"Name":"Forbis,Jacob H","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4304},"geometry":null},{"type":"Feature","id":4305,"properties":{"Name":"Ford,Clifford W","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4305},"geometry":null},{"type":"Feature","id":4306,"properties":{"Name":"Franklin,Robert M","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4306},"geometry":null},{"type":"Feature","id":4307,"properties":{"Name":"Hagler,Zackery Thomas","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4307},"geometry":null},{"type":"Feature","id":4308,"properties":{"Name":"Heifner,John N","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4308},"geometry":null},{"type":"Feature","id":4309,"properties":{"Name":"Helak,Emily Rose","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$46,600.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4309},"geometry":null},{"type":"Feature","id":4310,"properties":{"Name":"Henderson,Robert Casey","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4310},"geometry":null},{"type":"Feature","id":4311,"properties":{"Name":"Hendricks,Edward V","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$53,740.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4311},"geometry":null},{"type":"Feature","id":4312,"properties":{"Name":"Hovater,Robert E.","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4312},"geometry":null},{"type":"Feature","id":4313,"properties":{"Name":"Humphreys,Jason E.","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$53,740.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4313},"geometry":null},{"type":"Feature","id":4314,"properties":{"Name":"Jackson,Anthony J","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4314},"geometry":null},{"type":"Feature","id":4315,"properties":{"Name":"Johnston,Roderick William","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4315},"geometry":null},{"type":"Feature","id":4316,"properties":{"Name":"Kerrick,Randall Wesley","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4316},"geometry":null},{"type":"Feature","id":4317,"properties":{"Name":"Kester,Jerrod W","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4317},"geometry":null},{"type":"Feature","id":4318,"properties":{"Name":"Keziah,Michael Dean","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4318},"geometry":null},{"type":"Feature","id":4319,"properties":{"Name":"Kimble,Brandon Dale","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4319},"geometry":null},{"type":"Feature","id":4320,"properties":{"Name":"Kiser,Tonya M","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$72,840.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4320},"geometry":null},{"type":"Feature","id":4321,"properties":{"Name":"Kodad,Karyn Christine","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$68,633.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4321},"geometry":null},{"type":"Feature","id":4322,"properties":{"Name":"Lambert,Paul M","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4322},"geometry":null},{"type":"Feature","id":4323,"properties":{"Name":"Leggett,Christopher Ryan Ivey","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4323},"geometry":null},{"type":"Feature","id":4324,"properties":{"Name":"Levins,Edward Brent","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4324},"geometry":null},{"type":"Feature","id":4325,"properties":{"Name":"Lipscomb,Richard L","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$66,218.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4325},"geometry":null},{"type":"Feature","id":4326,"properties":{"Name":"Little Jr,Thornell M","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4326},"geometry":null},{"type":"Feature","id":4327,"properties":{"Name":"Littlejohn,Jay A","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4327},"geometry":null},{"type":"Feature","id":4328,"properties":{"Name":"McAlister,Ashley Vanessa","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4328},"geometry":null},{"type":"Feature","id":4329,"properties":{"Name":"McCall,Chadwick Ray","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4329},"geometry":null},{"type":"Feature","id":4330,"properties":{"Name":"McCoy,Joseph M","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4330},"geometry":null},{"type":"Feature","id":4331,"properties":{"Name":"Miller,Brian Fiebiger","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4331},"geometry":null},{"type":"Feature","id":4332,"properties":{"Name":"Neal Sr,Adam Charlie","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4332},"geometry":null},{"type":"Feature","id":4333,"properties":{"Name":"Neath-Turpin,Claudia Lorraine","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4333},"geometry":null},{"type":"Feature","id":4334,"properties":{"Name":"Owen,Micah James","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$45,188.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4334},"geometry":null},{"type":"Feature","id":4335,"properties":{"Name":"Parks,William L","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4335},"geometry":null},{"type":"Feature","id":4336,"properties":{"Name":"Polite,Marcus Dairen","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$45,188.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4336},"geometry":null},{"type":"Feature","id":4337,"properties":{"Name":"Posey,Kelly S","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4337},"geometry":null},{"type":"Feature","id":4338,"properties":{"Name":"Price,Fairley Ethan","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4338},"geometry":null},{"type":"Feature","id":4339,"properties":{"Name":"Proctor,Harlan D","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4339},"geometry":null},{"type":"Feature","id":4340,"properties":{"Name":"Quan,Dennis D","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4340},"geometry":null},{"type":"Feature","id":4341,"properties":{"Name":"Rawls,Samuel McLeod","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4341},"geometry":null},{"type":"Feature","id":4342,"properties":{"Name":"Reid,Terry D","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4342},"geometry":null},{"type":"Feature","id":4343,"properties":{"Name":"Restrepo Sorrosa,Kenia Gabriela","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$41,080.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4343},"geometry":null},{"type":"Feature","id":4344,"properties":{"Name":"Ritter Jr,Gary Franklin","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4344},"geometry":null},{"type":"Feature","id":4345,"properties":{"Name":"Rivera,Jose I.","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$62,665.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4345},"geometry":null},{"type":"Feature","id":4346,"properties":{"Name":"Robinson,Peggy Elizabeth","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4346},"geometry":null},{"type":"Feature","id":4347,"properties":{"Name":"Ross,Michael Lawrence","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4347},"geometry":null},{"type":"Feature","id":4348,"properties":{"Name":"Ross,Vaughn L","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4348},"geometry":null},{"type":"Feature","id":4349,"properties":{"Name":"Sennett,Christopher Miller","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4349},"geometry":null},{"type":"Feature","id":4350,"properties":{"Name":"Silcox,Jerry R.","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$47,555.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4350},"geometry":null},{"type":"Feature","id":4351,"properties":{"Name":"Sinclair,William A","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4351},"geometry":null},{"type":"Feature","id":4352,"properties":{"Name":"Smereka,Anthony Robert","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$56,771.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4352},"geometry":null},{"type":"Feature","id":4353,"properties":{"Name":"Straub,Douglas M","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4353},"geometry":null},{"type":"Feature","id":4354,"properties":{"Name":"Sturdivant,Darryl","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4354},"geometry":null},{"type":"Feature","id":4355,"properties":{"Name":"Sykes,Jonathan Christopher","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4355},"geometry":null},{"type":"Feature","id":4356,"properties":{"Name":"Sutton,David K","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4356},"geometry":null},{"type":"Feature","id":4357,"properties":{"Name":"Wages,Rachel Ann","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4357},"geometry":null},{"type":"Feature","id":4358,"properties":{"Name":"Urban,John A","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4358},"geometry":null},{"type":"Feature","id":4359,"properties":{"Name":"Wakeland,Brian L","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4359},"geometry":null},{"type":"Feature","id":4360,"properties":{"Name":"Whitley,Elliott D","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4360},"geometry":null},{"type":"Feature","id":4361,"properties":{"Name":"Wilhelm,Gresham T","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4361},"geometry":null},{"type":"Feature","id":4362,"properties":{"Name":"Xiong,Casey","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4362},"geometry":null},{"type":"Feature","id":4363,"properties":{"Name":"Maciejewski,Timothy C","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Response Area Commander","Annual_Rt":"$86,981.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4363},"geometry":null},{"type":"Feature","id":4364,"properties":{"Name":"Blackwell,Donald","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4364},"geometry":null},{"type":"Feature","id":4365,"properties":{"Name":"Chickoree,Zerubabel S","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4365},"geometry":null},{"type":"Feature","id":4366,"properties":{"Name":"Flatt,Stephen T.","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4366},"geometry":null},{"type":"Feature","id":4367,"properties":{"Name":"Gorrod,John C","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4367},"geometry":null},{"type":"Feature","id":4368,"properties":{"Name":"Jones,Kenneth L","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4368},"geometry":null},{"type":"Feature","id":4369,"properties":{"Name":"McManus,Robert W","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4369},"geometry":null},{"type":"Feature","id":4370,"properties":{"Name":"Miller,David J","Unit":"Police","Dept":"Hickory Grove Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4370},"geometry":null},{"type":"Feature","id":4371,"properties":{"Name":"Boseman,Charity","Unit":"Police","Dept":"Human Resources Division","Job_Title":"Administrative Officer I","Annual_Rt":"$41,037.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4371},"geometry":null},{"type":"Feature","id":4372,"properties":{"Name":"Brawley,Thyssen Tyrone","Unit":"Police","Dept":"Human Resources Division","Job_Title":"Administrative Officer I","Annual_Rt":"$43,451.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4372},"geometry":null},{"type":"Feature","id":4373,"properties":{"Name":"Lee,Justin Michael","Unit":"Police","Dept":"Human Resources Division","Job_Title":"Administrative Officer I","Annual_Rt":"$39,932.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4373},"geometry":null},{"type":"Feature","id":4374,"properties":{"Name":"Ward,Meredith Luann Loflin","Unit":"Police","Dept":"Human Resources Division","Job_Title":"Administrative Officer I","Annual_Rt":"$41,037.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4374},"geometry":null},{"type":"Feature","id":4375,"properties":{"Name":"Covington,Daniele Taylor","Unit":"Police","Dept":"Human Resources Division","Job_Title":"Administrative Officer II","Annual_Rt":"$47,141.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4375},"geometry":null},{"type":"Feature","id":4376,"properties":{"Name":"Hibbs,Erin E","Unit":"Police","Dept":"Human Resources Division","Job_Title":"Administrative Officer II","Annual_Rt":"$47,358.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4376},"geometry":null},{"type":"Feature","id":4377,"properties":{"Name":"Kasten,Jessica L.","Unit":"Police","Dept":"Human Resources Division","Job_Title":"Administrative Officer III","Annual_Rt":"$51,600.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4377},"geometry":null},{"type":"Feature","id":4378,"properties":{"Name":"Kukowski,Rebecca Leah","Unit":"Police","Dept":"Human Resources Division","Job_Title":"Administrative Officer III","Annual_Rt":"$53,147.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4378},"geometry":null},{"type":"Feature","id":4379,"properties":{"Name":"Moore,Monique","Unit":"Police","Dept":"Human Resources Division","Job_Title":"Administrative Officer IV","Annual_Rt":"$88,740.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4379},"geometry":null},{"type":"Feature","id":4380,"properties":{"Name":"Trombini,Eugene","Unit":"Police","Dept":"Human Resources Division","Job_Title":"Management Analyst Senior","Annual_Rt":"$80,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4380},"geometry":null},{"type":"Feature","id":4381,"properties":{"Name":"Emmanuel,Kamella Monique","Unit":"Police","Dept":"Human Resources Division","Job_Title":"Office Assistant IV","Annual_Rt":"$35,922.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4381},"geometry":null},{"type":"Feature","id":4382,"properties":{"Name":"Williams,Richard F","Unit":"Police","Dept":"Human Resources Division","Job_Title":"Police Major","Annual_Rt":null,"Hrly_Rate":"$43.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":4382},"geometry":null},{"type":"Feature","id":4383,"properties":{"Name":"McMurray,Charles W","Unit":"Police","Dept":"Human Resources Division","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$30.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":4383},"geometry":null},{"type":"Feature","id":4384,"properties":{"Name":"Bowling,Nelson K","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4384},"geometry":null},{"type":"Feature","id":4385,"properties":{"Name":"Williams,Michelle Lynn","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$34,685.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4385},"geometry":null},{"type":"Feature","id":4386,"properties":{"Name":"Blow,Charles J","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Lieutenant","Annual_Rt":"$87,341.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4386},"geometry":null},{"type":"Feature","id":4387,"properties":{"Name":"Cristy,David D","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4387},"geometry":null},{"type":"Feature","id":4388,"properties":{"Name":"Koch,Bradford A","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4388},"geometry":null},{"type":"Feature","id":4389,"properties":{"Name":"Anderson,Denise M","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4389},"geometry":null},{"type":"Feature","id":4390,"properties":{"Name":"Andrews,Jamaal J","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$42,364.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4390},"geometry":null},{"type":"Feature","id":4391,"properties":{"Name":"Armlin,James R.","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4391},"geometry":null},{"type":"Feature","id":4392,"properties":{"Name":"Barbour,Edward H","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4392},"geometry":null},{"type":"Feature","id":4393,"properties":{"Name":"Baucom,Kevin Ray","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$55,051.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4393},"geometry":null},{"type":"Feature","id":4394,"properties":{"Name":"Baucom,Marty A","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4394},"geometry":null},{"type":"Feature","id":4395,"properties":{"Name":"Bedard,Matthew F","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4395},"geometry":null},{"type":"Feature","id":4396,"properties":{"Name":"Boric,Margarita Pavlovna","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4396},"geometry":null},{"type":"Feature","id":4397,"properties":{"Name":"Bowers,Curtis F","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4397},"geometry":null},{"type":"Feature","id":4398,"properties":{"Name":"Branan,Steven M","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4398},"geometry":null},{"type":"Feature","id":4399,"properties":{"Name":"Brathwaite III,Darnley C","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4399},"geometry":null},{"type":"Feature","id":4400,"properties":{"Name":"Brito,Jonathan G","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4400},"geometry":null},{"type":"Feature","id":4401,"properties":{"Name":"Browder,Aaron Cody","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4401},"geometry":null},{"type":"Feature","id":4402,"properties":{"Name":"Brown III,Anderson S.","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4402},"geometry":null},{"type":"Feature","id":4403,"properties":{"Name":"Brown,James Eugene","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$62,665.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4403},"geometry":null},{"type":"Feature","id":4404,"properties":{"Name":"Brown,Nathan Coy","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4404},"geometry":null},{"type":"Feature","id":4405,"properties":{"Name":"Butler,William Blade","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4405},"geometry":null},{"type":"Feature","id":4406,"properties":{"Name":"Cannon,David J","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4406},"geometry":null},{"type":"Feature","id":4407,"properties":{"Name":"Carson,Scottie Paul","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4407},"geometry":null},{"type":"Feature","id":4408,"properties":{"Name":"Carter,Jerry B","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4408},"geometry":null},{"type":"Feature","id":4409,"properties":{"Name":"Cashion,Jeffrey S","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4409},"geometry":null},{"type":"Feature","id":4410,"properties":{"Name":"Clifton,Christopher L.","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$62,665.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4410},"geometry":null},{"type":"Feature","id":4411,"properties":{"Name":"Connor,Michael Travis","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4411},"geometry":null},{"type":"Feature","id":4412,"properties":{"Name":"Cooper,Matthew Alan","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$51,493.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4412},"geometry":null},{"type":"Feature","id":4413,"properties":{"Name":"Corell Jr,Wesley Baker","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$60,593.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4413},"geometry":null},{"type":"Feature","id":4414,"properties":{"Name":"Dano Jr,Robert L","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4414},"geometry":null},{"type":"Feature","id":4415,"properties":{"Name":"Dority,Jason P","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4415},"geometry":null},{"type":"Feature","id":4416,"properties":{"Name":"Downs,Benjamin R.","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$51,493.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4416},"geometry":null},{"type":"Feature","id":4417,"properties":{"Name":"Funderburk,Terence Glyne","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4417},"geometry":null},{"type":"Feature","id":4418,"properties":{"Name":"Gail,Trevor Mychael","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4418},"geometry":null},{"type":"Feature","id":4419,"properties":{"Name":"Gaskin,Joshua Samuel","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4419},"geometry":null},{"type":"Feature","id":4420,"properties":{"Name":"Green,Daryl LeBrandon","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4420},"geometry":null},{"type":"Feature","id":4421,"properties":{"Name":"Greene,Antonio Dewayne","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$55,420.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4421},"geometry":null},{"type":"Feature","id":4422,"properties":{"Name":"Hanson,Mark Brian","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4422},"geometry":null},{"type":"Feature","id":4423,"properties":{"Name":"Hawfield,Rhonda W","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4423},"geometry":null},{"type":"Feature","id":4424,"properties":{"Name":"Helms,Andrew J","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4424},"geometry":null},{"type":"Feature","id":4425,"properties":{"Name":"Helms,Calvin B","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4425},"geometry":null},{"type":"Feature","id":4426,"properties":{"Name":"Hemly,Myra Tweed","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4426},"geometry":null},{"type":"Feature","id":4427,"properties":{"Name":"Hernandez,Daniel Steven","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$66,553.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4427},"geometry":null},{"type":"Feature","id":4428,"properties":{"Name":"Hess,Sean Dale","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$42,364.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4428},"geometry":null},{"type":"Feature","id":4429,"properties":{"Name":"Hood,Michael Ward","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$42,364.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4429},"geometry":null},{"type":"Feature","id":4430,"properties":{"Name":"Hunter,Jeffrey L","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4430},"geometry":null},{"type":"Feature","id":4431,"properties":{"Name":"Jackson,James F","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4431},"geometry":null},{"type":"Feature","id":4432,"properties":{"Name":"Jamieson,Charles G","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4432},"geometry":null},{"type":"Feature","id":4433,"properties":{"Name":"Jaramillo-Cuevas,Fabio R.","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$54,688.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4433},"geometry":null},{"type":"Feature","id":4434,"properties":{"Name":"Jarka,Eugene T","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$72,108.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4434},"geometry":null},{"type":"Feature","id":4435,"properties":{"Name":"Johnson,Jeremiah Robert","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4435},"geometry":null},{"type":"Feature","id":4436,"properties":{"Name":"Jones,Thomas M","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4436},"geometry":null},{"type":"Feature","id":4437,"properties":{"Name":"Keele,Andrew William","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4437},"geometry":null},{"type":"Feature","id":4438,"properties":{"Name":"Knaff,Lorenzo","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4438},"geometry":null},{"type":"Feature","id":4439,"properties":{"Name":"Krall,Jenny L","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4439},"geometry":null},{"type":"Feature","id":4440,"properties":{"Name":"Lang,Hong","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4440},"geometry":null},{"type":"Feature","id":4441,"properties":{"Name":"Lauber,Dean R.","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$62,665.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4441},"geometry":null},{"type":"Feature","id":4442,"properties":{"Name":"McDonald,Jessica Gayle","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4442},"geometry":null},{"type":"Feature","id":4443,"properties":{"Name":"Melton,Robert T","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4443},"geometry":null},{"type":"Feature","id":4444,"properties":{"Name":"Mullis,David Gregory","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4444},"geometry":null},{"type":"Feature","id":4445,"properties":{"Name":"Nelson,Shawn Allen","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4445},"geometry":null},{"type":"Feature","id":4446,"properties":{"Name":"Orsillo,Kenneth J","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4446},"geometry":null},{"type":"Feature","id":4447,"properties":{"Name":"Pisano,Albert L","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4447},"geometry":null},{"type":"Feature","id":4448,"properties":{"Name":"Ramsey,Michael D","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4448},"geometry":null},{"type":"Feature","id":4449,"properties":{"Name":"Rankine,Ryan L","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4449},"geometry":null},{"type":"Feature","id":4450,"properties":{"Name":"Richter,Marc T","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4450},"geometry":null},{"type":"Feature","id":4451,"properties":{"Name":"Rickards,Scott F","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4451},"geometry":null},{"type":"Feature","id":4452,"properties":{"Name":"Roche,Brayton J","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4452},"geometry":null},{"type":"Feature","id":4453,"properties":{"Name":"Sanchez,Derek David","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$46,600.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4453},"geometry":null},{"type":"Feature","id":4454,"properties":{"Name":"Seward,Andrew G","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4454},"geometry":null},{"type":"Feature","id":4455,"properties":{"Name":"Sikes,David M","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4455},"geometry":null},{"type":"Feature","id":4456,"properties":{"Name":"Snider II,Michael Ray","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4456},"geometry":null},{"type":"Feature","id":4457,"properties":{"Name":"Stank,Kevin P","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$72,840.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4457},"geometry":null},{"type":"Feature","id":4458,"properties":{"Name":"Storc,Michael R","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4458},"geometry":null},{"type":"Feature","id":4459,"properties":{"Name":"Stout,Eric T","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$56,397.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4459},"geometry":null},{"type":"Feature","id":4460,"properties":{"Name":"Summerlin,Michael Evan","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4460},"geometry":null},{"type":"Feature","id":4461,"properties":{"Name":"Thompson,Adam Tyler","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4461},"geometry":null},{"type":"Feature","id":4462,"properties":{"Name":"Thompson,Marko D.","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4462},"geometry":null},{"type":"Feature","id":4463,"properties":{"Name":"Tindell,David M","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4463},"geometry":null},{"type":"Feature","id":4464,"properties":{"Name":"Tran-Thompson,Erik Michael","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4464},"geometry":null},{"type":"Feature","id":4465,"properties":{"Name":"Turner,Marquis R","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4465},"geometry":null},{"type":"Feature","id":4466,"properties":{"Name":"Webster Jr,Ronald L","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$62,486.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4466},"geometry":null},{"type":"Feature","id":4467,"properties":{"Name":"Whaley,Alissa Beth","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4467},"geometry":null},{"type":"Feature","id":4468,"properties":{"Name":"White,Patrick Edward","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4468},"geometry":null},{"type":"Feature","id":4469,"properties":{"Name":"Williams,Amanda C","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4469},"geometry":null},{"type":"Feature","id":4470,"properties":{"Name":"Williams,Clemson Bernard","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4470},"geometry":null},{"type":"Feature","id":4471,"properties":{"Name":"Williams,Matthew Scott","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4471},"geometry":null},{"type":"Feature","id":4472,"properties":{"Name":"Williams,Richard Alan","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4472},"geometry":null},{"type":"Feature","id":4473,"properties":{"Name":"Worley,Steven V","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$69,529.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4473},"geometry":null},{"type":"Feature","id":4474,"properties":{"Name":"Zielinski,Todd J","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Officer","Annual_Rt":"$69,923.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4474},"geometry":null},{"type":"Feature","id":4475,"properties":{"Name":"Garrido Jr,Juan","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Sergeant","Annual_Rt":"$85,355.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4475},"geometry":null},{"type":"Feature","id":4476,"properties":{"Name":"Havens Jr,Robert Gerald","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4476},"geometry":null},{"type":"Feature","id":4477,"properties":{"Name":"Maynard,Kim R","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4477},"geometry":null},{"type":"Feature","id":4478,"properties":{"Name":"Merwin,Daniel S","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4478},"geometry":null},{"type":"Feature","id":4479,"properties":{"Name":"Reiner,Joseph M","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4479},"geometry":null},{"type":"Feature","id":4480,"properties":{"Name":"Rozell IV,Henry C","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4480},"geometry":null},{"type":"Feature","id":4481,"properties":{"Name":"Santiago,Miguel A","Unit":"Police","Dept":"Independence Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,374.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4481},"geometry":null},{"type":"Feature","id":4482,"properties":{"Name":"Hall,Mary A","Unit":"Police","Dept":"Internal Affairs Bureau","Job_Title":"Administrative Officer I","Annual_Rt":"$50,057.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4482},"geometry":null},{"type":"Feature","id":4483,"properties":{"Name":"Hollar,Cynthia C","Unit":"Police","Dept":"Internal Affairs Bureau","Job_Title":"Administrative Officer I","Annual_Rt":"$52,515.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4483},"geometry":null},{"type":"Feature","id":4484,"properties":{"Name":"Maglione,Roslyn D","Unit":"Police","Dept":"Internal Affairs Bureau","Job_Title":"Police Captain","Annual_Rt":"$96,853.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4484},"geometry":null},{"type":"Feature","id":4485,"properties":{"Name":"Selvey,Cameron R","Unit":"Police","Dept":"Internal Affairs Bureau","Job_Title":"Police Major","Annual_Rt":"$107,762.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4485},"geometry":null},{"type":"Feature","id":4486,"properties":{"Name":"Burke,Michael G","Unit":"Police","Dept":"Internal Affairs Bureau","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4486},"geometry":null},{"type":"Feature","id":4487,"properties":{"Name":"Couts,Gregory G","Unit":"Police","Dept":"Internal Affairs Bureau","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4487},"geometry":null},{"type":"Feature","id":4488,"properties":{"Name":"Dearing,Marsha A","Unit":"Police","Dept":"Internal Affairs Bureau","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4488},"geometry":null},{"type":"Feature","id":4489,"properties":{"Name":"Kitchens,John A","Unit":"Police","Dept":"Internal Affairs Bureau","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4489},"geometry":null},{"type":"Feature","id":4490,"properties":{"Name":"Miller,Bryan H","Unit":"Police","Dept":"Internal Affairs Bureau","Job_Title":"Police Sergeant","Annual_Rt":"$85,355.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4490},"geometry":null},{"type":"Feature","id":4491,"properties":{"Name":"Oehler,Lee A","Unit":"Police","Dept":"Internal Affairs Bureau","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4491},"geometry":null},{"type":"Feature","id":4492,"properties":{"Name":"Sloop,Michael D","Unit":"Police","Dept":"Internal Affairs Bureau","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4492},"geometry":null},{"type":"Feature","id":4493,"properties":{"Name":"Putney,Kerr Y","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Deputy Police Chief","Annual_Rt":"$126,416.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4493},"geometry":null},{"type":"Feature","id":4494,"properties":{"Name":"Danat,Carolyn Loretta","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Office Assistant V","Annual_Rt":"$40,261.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4494},"geometry":null},{"type":"Feature","id":4495,"properties":{"Name":"Fields,James C","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Captain","Annual_Rt":"$95,957.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4495},"geometry":null},{"type":"Feature","id":4496,"properties":{"Name":"Robinson,David C","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4496},"geometry":null},{"type":"Feature","id":4497,"properties":{"Name":"Lester,Lafreda G","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Major","Annual_Rt":"$105,157.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4497},"geometry":null},{"type":"Feature","id":4498,"properties":{"Name":"Smathers,Michael J","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Major","Annual_Rt":"$103,095.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4498},"geometry":null},{"type":"Feature","id":4499,"properties":{"Name":"Cook,Travis Melvin","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4499},"geometry":null},{"type":"Feature","id":4500,"properties":{"Name":"Denton,Chad N.","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4500},"geometry":null},{"type":"Feature","id":4501,"properties":{"Name":"Graham,William D","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4501},"geometry":null},{"type":"Feature","id":4502,"properties":{"Name":"Gulka,Edward M.","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Officer","Annual_Rt":"$60,766.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4502},"geometry":null},{"type":"Feature","id":4503,"properties":{"Name":"Holt,Andy Lee","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Officer","Annual_Rt":"$47,555.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4503},"geometry":null},{"type":"Feature","id":4504,"properties":{"Name":"Kelly,Lee R","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4504},"geometry":null},{"type":"Feature","id":4505,"properties":{"Name":"Kerl,Jason J","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4505},"geometry":null},{"type":"Feature","id":4506,"properties":{"Name":"Knopp,Thomas A","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4506},"geometry":null},{"type":"Feature","id":4507,"properties":{"Name":"Lewis,Matthew Jonathan","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4507},"geometry":null},{"type":"Feature","id":4508,"properties":{"Name":"Mace,Lesley Ann","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4508},"geometry":null},{"type":"Feature","id":4509,"properties":{"Name":"Mickley,Eric M","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4509},"geometry":null},{"type":"Feature","id":4510,"properties":{"Name":"Murray Jr,William R","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Officer","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4510},"geometry":null},{"type":"Feature","id":4511,"properties":{"Name":"Ford,Michael John","Unit":"Police","Dept":"Investigative Services Group -","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4511},"geometry":null},{"type":"Feature","id":4512,"properties":{"Name":"Harris,Michael A","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4512},"geometry":null},{"type":"Feature","id":4513,"properties":{"Name":"Reeves,Holly Randall","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$42,204.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4513},"geometry":null},{"type":"Feature","id":4514,"properties":{"Name":"Cochran,Robert S","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4514},"geometry":null},{"type":"Feature","id":4515,"properties":{"Name":"Farrell,William S","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Lieutenant","Annual_Rt":"$87,341.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4515},"geometry":null},{"type":"Feature","id":4516,"properties":{"Name":"Hollar,Blake D","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4516},"geometry":null},{"type":"Feature","id":4517,"properties":{"Name":"Adcox,Seth R","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4517},"geometry":null},{"type":"Feature","id":4518,"properties":{"Name":"Allen,Jason Lavon","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4518},"geometry":null},{"type":"Feature","id":4519,"properties":{"Name":"Amos,Luke E","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4519},"geometry":null},{"type":"Feature","id":4520,"properties":{"Name":"Aquino,Aimee Irene","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4520},"geometry":null},{"type":"Feature","id":4521,"properties":{"Name":"Atwood,Christopher Ross","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4521},"geometry":null},{"type":"Feature","id":4522,"properties":{"Name":"Baltimore,Marianne M","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4522},"geometry":null},{"type":"Feature","id":4523,"properties":{"Name":"Bartsch,Kirsten Brooke","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4523},"geometry":null},{"type":"Feature","id":4524,"properties":{"Name":"Bauer Jr,Joseph James","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$41,080.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4524},"geometry":null},{"type":"Feature","id":4525,"properties":{"Name":"Bisignano,Thomas","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4525},"geometry":null},{"type":"Feature","id":4526,"properties":{"Name":"Blackwood,Paul A","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4526},"geometry":null},{"type":"Feature","id":4527,"properties":{"Name":"Blee,Michael J","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4527},"geometry":null},{"type":"Feature","id":4528,"properties":{"Name":"Bodenstein,Michael Randy","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4528},"geometry":null},{"type":"Feature","id":4529,"properties":{"Name":"Brcik,Michelle Lyn","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4529},"geometry":null},{"type":"Feature","id":4530,"properties":{"Name":"Campbell,Jonathan C","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4530},"geometry":null},{"type":"Feature","id":4531,"properties":{"Name":"Caskey Jr,Michael David","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4531},"geometry":null},{"type":"Feature","id":4532,"properties":{"Name":"Cauley,Laurence G","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$61,173.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4532},"geometry":null},{"type":"Feature","id":4533,"properties":{"Name":"Clark,Ethan Benjamin","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4533},"geometry":null},{"type":"Feature","id":4534,"properties":{"Name":"Collins,Rebecca Elizabeth","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4534},"geometry":null},{"type":"Feature","id":4535,"properties":{"Name":"Crosswhite,Matthew Hayes","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4535},"geometry":null},{"type":"Feature","id":4536,"properties":{"Name":"Davis Jr,Calvin Kennedy","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4536},"geometry":null},{"type":"Feature","id":4537,"properties":{"Name":"Deal Jr,Larry E.","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4537},"geometry":null},{"type":"Feature","id":4538,"properties":{"Name":"Dezenzo,Michael J","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4538},"geometry":null},{"type":"Feature","id":4539,"properties":{"Name":"Diekhaus,Patrick John","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4539},"geometry":null},{"type":"Feature","id":4540,"properties":{"Name":"Driggers Jr,Curtis D","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4540},"geometry":null},{"type":"Feature","id":4541,"properties":{"Name":"Dunham,Jon Richard","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$59,218.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4541},"geometry":null},{"type":"Feature","id":4542,"properties":{"Name":"Echols,Antonio Tremaine","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4542},"geometry":null},{"type":"Feature","id":4543,"properties":{"Name":"Ensminger,Paul M","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4543},"geometry":null},{"type":"Feature","id":4544,"properties":{"Name":"Fahrenholz,Charles A","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4544},"geometry":null},{"type":"Feature","id":4545,"properties":{"Name":"Friday,Hosea Lamont","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$52,933.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4545},"geometry":null},{"type":"Feature","id":4546,"properties":{"Name":"Georgion,David A","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$61,277.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4546},"geometry":null},{"type":"Feature","id":4547,"properties":{"Name":"Gibbs,Tamilla Junise","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4547},"geometry":null},{"type":"Feature","id":4548,"properties":{"Name":"Gilchrist,Montray A.","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$52,933.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4548},"geometry":null},{"type":"Feature","id":4549,"properties":{"Name":"Goode III,Wayne Wilbourne","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4549},"geometry":null},{"type":"Feature","id":4550,"properties":{"Name":"Green,Damon E","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4550},"geometry":null},{"type":"Feature","id":4551,"properties":{"Name":"Greene,Christopher Michael","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4551},"geometry":null},{"type":"Feature","id":4552,"properties":{"Name":"Hardin,Michael Keith","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$59,115.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4552},"geometry":null},{"type":"Feature","id":4553,"properties":{"Name":"Hardy,Teyawna D","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4553},"geometry":null},{"type":"Feature","id":4554,"properties":{"Name":"Hawkins,Kevin P","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4554},"geometry":null},{"type":"Feature","id":4555,"properties":{"Name":"Healy,Sean P","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4555},"geometry":null},{"type":"Feature","id":4556,"properties":{"Name":"Helms,Roger D","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4556},"geometry":null},{"type":"Feature","id":4557,"properties":{"Name":"Holzhauer,Anthony Jacob","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4557},"geometry":null},{"type":"Feature","id":4558,"properties":{"Name":"Hostutler,Andrew J.","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4558},"geometry":null},{"type":"Feature","id":4559,"properties":{"Name":"Hudson,David J","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4559},"geometry":null},{"type":"Feature","id":4560,"properties":{"Name":"Kegley,Amanda Michelle","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4560},"geometry":null},{"type":"Feature","id":4561,"properties":{"Name":"Kerl,Wende Guerin","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$66,218.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4561},"geometry":null},{"type":"Feature","id":4562,"properties":{"Name":"Key,Andrew M.","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4562},"geometry":null},{"type":"Feature","id":4563,"properties":{"Name":"Kidder,Chelsea","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$42,364.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4563},"geometry":null},{"type":"Feature","id":4564,"properties":{"Name":"Klimasewiski,Bryan Peter","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4564},"geometry":null},{"type":"Feature","id":4565,"properties":{"Name":"Land,Robert Allen","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,493.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4565},"geometry":null},{"type":"Feature","id":4566,"properties":{"Name":"Long,Brian William","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4566},"geometry":null},{"type":"Feature","id":4567,"properties":{"Name":"Lucas,Daniel Joseph","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4567},"geometry":null},{"type":"Feature","id":4568,"properties":{"Name":"Mackel,Rollin E","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$72,108.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4568},"geometry":null},{"type":"Feature","id":4569,"properties":{"Name":"Martin,Susan Marie","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4569},"geometry":null},{"type":"Feature","id":4570,"properties":{"Name":"McTigue,Gregory G.","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4570},"geometry":null},{"type":"Feature","id":4571,"properties":{"Name":"Meloni,Joseph Nathan","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4571},"geometry":null},{"type":"Feature","id":4572,"properties":{"Name":"Meyers,Daniel T.","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4572},"geometry":null},{"type":"Feature","id":4573,"properties":{"Name":"Michael,Matthew R.","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$62,665.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4573},"geometry":null},{"type":"Feature","id":4574,"properties":{"Name":"Miranda,Christopher Peter","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4574},"geometry":null},{"type":"Feature","id":4575,"properties":{"Name":"Mobley,Kenisha Rene","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$67,638.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4575},"geometry":null},{"type":"Feature","id":4576,"properties":{"Name":"Monroe,Lakia Chamaine","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4576},"geometry":null},{"type":"Feature","id":4577,"properties":{"Name":"Muhammad,Warith Deen","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4577},"geometry":null},{"type":"Feature","id":4578,"properties":{"Name":"Murphy,Kelly Marie","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4578},"geometry":null},{"type":"Feature","id":4579,"properties":{"Name":"Murphy,Paul A","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4579},"geometry":null},{"type":"Feature","id":4580,"properties":{"Name":"Ockerman,Tyler Steven","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4580},"geometry":null},{"type":"Feature","id":4581,"properties":{"Name":"Orosz,Marc Stephen","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4581},"geometry":null},{"type":"Feature","id":4582,"properties":{"Name":"Peacock,Michael B","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4582},"geometry":null},{"type":"Feature","id":4583,"properties":{"Name":"Pharr,Maurice A","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$66,218.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4583},"geometry":null},{"type":"Feature","id":4584,"properties":{"Name":"Pierce,Carolynn Jean","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4584},"geometry":null},{"type":"Feature","id":4585,"properties":{"Name":"Preston Jr,Robert A","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4585},"geometry":null},{"type":"Feature","id":4586,"properties":{"Name":"Rango Jr,Louis R.","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4586},"geometry":null},{"type":"Feature","id":4587,"properties":{"Name":"Reedy,Mitchell E","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4587},"geometry":null},{"type":"Feature","id":4588,"properties":{"Name":"Reiber,Charlissa L","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4588},"geometry":null},{"type":"Feature","id":4589,"properties":{"Name":"Richardson,Reginald Valentino","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$52,933.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4589},"geometry":null},{"type":"Feature","id":4590,"properties":{"Name":"Roddey,Thomas E","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$66,218.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4590},"geometry":null},{"type":"Feature","id":4591,"properties":{"Name":"Rud,Derek D","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4591},"geometry":null},{"type":"Feature","id":4592,"properties":{"Name":"Scott,Dorian Leval","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4592},"geometry":null},{"type":"Feature","id":4593,"properties":{"Name":"Secondi,William Albert","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4593},"geometry":null},{"type":"Feature","id":4594,"properties":{"Name":"Serio Jr,Thomas S","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4594},"geometry":null},{"type":"Feature","id":4595,"properties":{"Name":"Sheffield,Shon Paul","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4595},"geometry":null},{"type":"Feature","id":4596,"properties":{"Name":"Sinnott,Brandon Michael","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4596},"geometry":null},{"type":"Feature","id":4597,"properties":{"Name":"Smith,Brian K","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4597},"geometry":null},{"type":"Feature","id":4598,"properties":{"Name":"Soto,Darrell B","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4598},"geometry":null},{"type":"Feature","id":4599,"properties":{"Name":"Spottswood,James A","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$63,733.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4599},"geometry":null},{"type":"Feature","id":4600,"properties":{"Name":"Stark,Robert M","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4600},"geometry":null},{"type":"Feature","id":4601,"properties":{"Name":"Suddreth,Chase Ryan","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4601},"geometry":null},{"type":"Feature","id":4602,"properties":{"Name":"Thomas,Jonquil R","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4602},"geometry":null},{"type":"Feature","id":4603,"properties":{"Name":"Upchurch,Brad D","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$67,638.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4603},"geometry":null},{"type":"Feature","id":4604,"properties":{"Name":"Updegraff Jr,Paul T","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4604},"geometry":null},{"type":"Feature","id":4605,"properties":{"Name":"VanAken,Jason Alexander","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4605},"geometry":null},{"type":"Feature","id":4606,"properties":{"Name":"Wallin,Michael C.","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$55,084.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4606},"geometry":null},{"type":"Feature","id":4607,"properties":{"Name":"Walsh,Brian E.","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4607},"geometry":null},{"type":"Feature","id":4608,"properties":{"Name":"Wassenaar,Jean Louise","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$62,178.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4608},"geometry":null},{"type":"Feature","id":4609,"properties":{"Name":"Wiggins,Bryan Malcolm","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4609},"geometry":null},{"type":"Feature","id":4610,"properties":{"Name":"Wolfe,Jennifer J","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4610},"geometry":null},{"type":"Feature","id":4611,"properties":{"Name":"Yandle,Billy C.","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4611},"geometry":null},{"type":"Feature","id":4612,"properties":{"Name":"Zastrow,Matthew Craig","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4612},"geometry":null},{"type":"Feature","id":4613,"properties":{"Name":"Rosenschein,Scott J","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Response Area Commander","Annual_Rt":"$86,981.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4613},"geometry":null},{"type":"Feature","id":4614,"properties":{"Name":"Barry,Julie Marie","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4614},"geometry":null},{"type":"Feature","id":4615,"properties":{"Name":"Bean,Philip W","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4615},"geometry":null},{"type":"Feature","id":4616,"properties":{"Name":"Colquitt,Jason L","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4616},"geometry":null},{"type":"Feature","id":4617,"properties":{"Name":"Kimbell,Christopher A","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4617},"geometry":null},{"type":"Feature","id":4618,"properties":{"Name":"Pendergraph Jr,James Irving","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4618},"geometry":null},{"type":"Feature","id":4619,"properties":{"Name":"Rains,Christopher B","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4619},"geometry":null},{"type":"Feature","id":4620,"properties":{"Name":"Saunders,Jared Lee","Unit":"Police","Dept":"Metro Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4620},"geometry":null},{"type":"Feature","id":4621,"properties":{"Name":"Allred,Kevin G.","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4621},"geometry":null},{"type":"Feature","id":4622,"properties":{"Name":"Barrineau,Cheryl L","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4622},"geometry":null},{"type":"Feature","id":4623,"properties":{"Name":"Cater,Amanda L","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4623},"geometry":null},{"type":"Feature","id":4624,"properties":{"Name":"Cherry Jr,John M","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4624},"geometry":null},{"type":"Feature","id":4625,"properties":{"Name":"Frison Jr,John H","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4625},"geometry":null},{"type":"Feature","id":4626,"properties":{"Name":"Gormican,Robert C","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4626},"geometry":null},{"type":"Feature","id":4627,"properties":{"Name":"Jackson,Gavin Kairn","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4627},"geometry":null},{"type":"Feature","id":4628,"properties":{"Name":"Leung,Danny K.","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4628},"geometry":null},{"type":"Feature","id":4629,"properties":{"Name":"Oberer,Andrew J","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4629},"geometry":null},{"type":"Feature","id":4630,"properties":{"Name":"Reeves,John F","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4630},"geometry":null},{"type":"Feature","id":4631,"properties":{"Name":"Reibold Jr,John B","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4631},"geometry":null},{"type":"Feature","id":4632,"properties":{"Name":"Retort,Michael T","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4632},"geometry":null},{"type":"Feature","id":4633,"properties":{"Name":"Sammis,Matthew A","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4633},"geometry":null},{"type":"Feature","id":4634,"properties":{"Name":"Sanner Jr,Regis D","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4634},"geometry":null},{"type":"Feature","id":4635,"properties":{"Name":"Starnes,Richard B","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4635},"geometry":null},{"type":"Feature","id":4636,"properties":{"Name":"Triola,Kevin R","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4636},"geometry":null},{"type":"Feature","id":4637,"properties":{"Name":"Watts,Jonathan D","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4637},"geometry":null},{"type":"Feature","id":4638,"properties":{"Name":"Williams,Steven A","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4638},"geometry":null},{"type":"Feature","id":4639,"properties":{"Name":"Shy,Michael K","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4639},"geometry":null},{"type":"Feature","id":4640,"properties":{"Name":"Sloan,David B","Unit":"Police","Dept":"Motorcycle & Reconstruction Un","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4640},"geometry":null},{"type":"Feature","id":4641,"properties":{"Name":"Golding,Roderick M","Unit":"Police","Dept":"North Division","Job_Title":"Police Captain","Annual_Rt":"$95,957.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4641},"geometry":null},{"type":"Feature","id":4642,"properties":{"Name":"Cardaci,Turiena K","Unit":"Police","Dept":"North Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$38,790.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4642},"geometry":null},{"type":"Feature","id":4643,"properties":{"Name":"Foley,Brian P","Unit":"Police","Dept":"North Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4643},"geometry":null},{"type":"Feature","id":4644,"properties":{"Name":"Huber,Michael S","Unit":"Police","Dept":"North Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4644},"geometry":null},{"type":"Feature","id":4645,"properties":{"Name":"Thornton,John L","Unit":"Police","Dept":"North Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4645},"geometry":null},{"type":"Feature","id":4646,"properties":{"Name":"Anderson,Rhonda M","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4646},"geometry":null},{"type":"Feature","id":4647,"properties":{"Name":"Artis,Charles R","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$71,063.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4647},"geometry":null},{"type":"Feature","id":4648,"properties":{"Name":"Bagnasco,Daniel Steven","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4648},"geometry":null},{"type":"Feature","id":4649,"properties":{"Name":"Blanton,Bobby D","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4649},"geometry":null},{"type":"Feature","id":4650,"properties":{"Name":"Blanton,Ronald W.","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4650},"geometry":null},{"type":"Feature","id":4651,"properties":{"Name":"Blount,Dwayne Revell","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4651},"geometry":null},{"type":"Feature","id":4652,"properties":{"Name":"Bradshaw,Donald W","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4652},"geometry":null},{"type":"Feature","id":4653,"properties":{"Name":"Brammer II,Fredericke C","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4653},"geometry":null},{"type":"Feature","id":4654,"properties":{"Name":"Buehler,Jordan William","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4654},"geometry":null},{"type":"Feature","id":4655,"properties":{"Name":"Butler,Jason B.","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4655},"geometry":null},{"type":"Feature","id":4656,"properties":{"Name":"Cadenhead,Edward F","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4656},"geometry":null},{"type":"Feature","id":4657,"properties":{"Name":"Carlson,David J","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4657},"geometry":null},{"type":"Feature","id":4658,"properties":{"Name":"Castro Cubero,David","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4658},"geometry":null},{"type":"Feature","id":4659,"properties":{"Name":"Clyburn,Jacqueline S","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4659},"geometry":null},{"type":"Feature","id":4660,"properties":{"Name":"Cooper,Johnathan L","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4660},"geometry":null},{"type":"Feature","id":4661,"properties":{"Name":"Copeland,Stephen Keith","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4661},"geometry":null},{"type":"Feature","id":4662,"properties":{"Name":"Correa,Roberto","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4662},"geometry":null},{"type":"Feature","id":4663,"properties":{"Name":"Cottingham,Matthew Ryan","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4663},"geometry":null},{"type":"Feature","id":4664,"properties":{"Name":"Cox,Kevin R","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4664},"geometry":null},{"type":"Feature","id":4665,"properties":{"Name":"Creech,John A","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4665},"geometry":null},{"type":"Feature","id":4666,"properties":{"Name":"Darden,Charles Taylor","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4666},"geometry":null},{"type":"Feature","id":4667,"properties":{"Name":"DePriest,Christopher D","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4667},"geometry":null},{"type":"Feature","id":4668,"properties":{"Name":"Deroba,Aaron Jacob","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4668},"geometry":null},{"type":"Feature","id":4669,"properties":{"Name":"DiDonato,Christopher M","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4669},"geometry":null},{"type":"Feature","id":4670,"properties":{"Name":"Dozier,Kevin B","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4670},"geometry":null},{"type":"Feature","id":4671,"properties":{"Name":"Echerd IV,Edwin R","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4671},"geometry":null},{"type":"Feature","id":4672,"properties":{"Name":"Fant,Arthur Jenard","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4672},"geometry":null},{"type":"Feature","id":4673,"properties":{"Name":"Federowicz,Daniel D","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4673},"geometry":null},{"type":"Feature","id":4674,"properties":{"Name":"Ferguson,Thomas E","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4674},"geometry":null},{"type":"Feature","id":4675,"properties":{"Name":"Flagg,Ronald M","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$75,243.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4675},"geometry":null},{"type":"Feature","id":4676,"properties":{"Name":"Fowler,John A","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4676},"geometry":null},{"type":"Feature","id":4677,"properties":{"Name":"Gary,John H","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4677},"geometry":null},{"type":"Feature","id":4678,"properties":{"Name":"Gathings,David S.","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$60,962.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4678},"geometry":null},{"type":"Feature","id":4679,"properties":{"Name":"Giannini,Amanda E.","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4679},"geometry":null},{"type":"Feature","id":4680,"properties":{"Name":"Gordon Jr,Mark S","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4680},"geometry":null},{"type":"Feature","id":4681,"properties":{"Name":"Guy,Jason C","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$58,191.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4681},"geometry":null},{"type":"Feature","id":4682,"properties":{"Name":"Hill,Derrick E.","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4682},"geometry":null},{"type":"Feature","id":4683,"properties":{"Name":"Hinson,Randal L","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4683},"geometry":null},{"type":"Feature","id":4684,"properties":{"Name":"Hopkins,Gregory S","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4684},"geometry":null},{"type":"Feature","id":4685,"properties":{"Name":"Howard,William Ross","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4685},"geometry":null},{"type":"Feature","id":4686,"properties":{"Name":"Inman,John P","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4686},"geometry":null},{"type":"Feature","id":4687,"properties":{"Name":"Jackson,Rodney W","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4687},"geometry":null},{"type":"Feature","id":4688,"properties":{"Name":"Kee,Michael Scott","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$62,486.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4688},"geometry":null},{"type":"Feature","id":4689,"properties":{"Name":"Khang,Fuji","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4689},"geometry":null},{"type":"Feature","id":4690,"properties":{"Name":"Kinstler,Adelaide Ethel","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4690},"geometry":null},{"type":"Feature","id":4691,"properties":{"Name":"Kipp,Barry C","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4691},"geometry":null},{"type":"Feature","id":4692,"properties":{"Name":"Kowaleski,Ryan Lee","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4692},"geometry":null},{"type":"Feature","id":4693,"properties":{"Name":"Kurcsak,Brian E","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4693},"geometry":null},{"type":"Feature","id":4694,"properties":{"Name":"Lee,Johnny","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4694},"geometry":null},{"type":"Feature","id":4695,"properties":{"Name":"Lewis,Dana P","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4695},"geometry":null},{"type":"Feature","id":4696,"properties":{"Name":"Lewis,Howard W","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4696},"geometry":null},{"type":"Feature","id":4697,"properties":{"Name":"Little,Aaron Matthew","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4697},"geometry":null},{"type":"Feature","id":4698,"properties":{"Name":"Locklear,John D","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4698},"geometry":null},{"type":"Feature","id":4699,"properties":{"Name":"Martin Jr,William B","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4699},"geometry":null},{"type":"Feature","id":4700,"properties":{"Name":"Meadows,Darrell R","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$52,430.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4700},"geometry":null},{"type":"Feature","id":4701,"properties":{"Name":"Moon,Sean P.","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4701},"geometry":null},{"type":"Feature","id":4702,"properties":{"Name":"Moore,Krista Kay","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4702},"geometry":null},{"type":"Feature","id":4703,"properties":{"Name":"Morris,Bradley Michael","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4703},"geometry":null},{"type":"Feature","id":4704,"properties":{"Name":"Murfitt,Robert A.","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$56,806.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4704},"geometry":null},{"type":"Feature","id":4705,"properties":{"Name":"Norman II,Harold R","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4705},"geometry":null},{"type":"Feature","id":4706,"properties":{"Name":"Osborne,Charles Brandon","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4706},"geometry":null},{"type":"Feature","id":4707,"properties":{"Name":"Parker,Sean M.","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$62,486.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4707},"geometry":null},{"type":"Feature","id":4708,"properties":{"Name":"Pate,Jacob Turner","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4708},"geometry":null},{"type":"Feature","id":4709,"properties":{"Name":"Patterson,Antoine Danyelle","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$56,771.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4709},"geometry":null},{"type":"Feature","id":4710,"properties":{"Name":"Phillips,David L","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4710},"geometry":null},{"type":"Feature","id":4711,"properties":{"Name":"Pickler,Elizabeth Boyette","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4711},"geometry":null},{"type":"Feature","id":4712,"properties":{"Name":"Powers,Stephen W","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4712},"geometry":null},{"type":"Feature","id":4713,"properties":{"Name":"Rahal,Lucas J","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4713},"geometry":null},{"type":"Feature","id":4714,"properties":{"Name":"Reece,Billy S","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4714},"geometry":null},{"type":"Feature","id":4715,"properties":{"Name":"Reitano,Francis B","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4715},"geometry":null},{"type":"Feature","id":4716,"properties":{"Name":"Rightsell,Wesley B","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4716},"geometry":null},{"type":"Feature","id":4717,"properties":{"Name":"Roberts III,Robert L","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4717},"geometry":null},{"type":"Feature","id":4718,"properties":{"Name":"Roberts,Christopher Michael","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4718},"geometry":null},{"type":"Feature","id":4719,"properties":{"Name":"Roper Jr,Pleasant T","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4719},"geometry":null},{"type":"Feature","id":4720,"properties":{"Name":"Russell,Brian K","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4720},"geometry":null},{"type":"Feature","id":4721,"properties":{"Name":"Sayre,Charles T","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4721},"geometry":null},{"type":"Feature","id":4722,"properties":{"Name":"Schaper,Chris A","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4722},"geometry":null},{"type":"Feature","id":4723,"properties":{"Name":"Smith,Charles E","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4723},"geometry":null},{"type":"Feature","id":4724,"properties":{"Name":"Smith,Joseph Shane","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4724},"geometry":null},{"type":"Feature","id":4725,"properties":{"Name":"Thompson,Andy Van","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4725},"geometry":null},{"type":"Feature","id":4726,"properties":{"Name":"Thompson,Christopher","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4726},"geometry":null},{"type":"Feature","id":4727,"properties":{"Name":"Thornton,Justin C","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4727},"geometry":null},{"type":"Feature","id":4728,"properties":{"Name":"Tran,Dan","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$62,178.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4728},"geometry":null},{"type":"Feature","id":4729,"properties":{"Name":"Travis,Michael W.","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4729},"geometry":null},{"type":"Feature","id":4730,"properties":{"Name":"Turner,David Harold","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$68,633.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4730},"geometry":null},{"type":"Feature","id":4731,"properties":{"Name":"Turner,Larry D","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4731},"geometry":null},{"type":"Feature","id":4732,"properties":{"Name":"Vandenberg III,Oliver W","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4732},"geometry":null},{"type":"Feature","id":4733,"properties":{"Name":"Wallace,Cindy A","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4733},"geometry":null},{"type":"Feature","id":4734,"properties":{"Name":"Webb,Mark James","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4734},"geometry":null},{"type":"Feature","id":4735,"properties":{"Name":"Weber,John M","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4735},"geometry":null},{"type":"Feature","id":4736,"properties":{"Name":"West,Benjamin E.","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$59,646.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4736},"geometry":null},{"type":"Feature","id":4737,"properties":{"Name":"Whitley,Jamie P.","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4737},"geometry":null},{"type":"Feature","id":4738,"properties":{"Name":"Wiesner,Andrew J","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4738},"geometry":null},{"type":"Feature","id":4739,"properties":{"Name":"Wilson,Adam N","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4739},"geometry":null},{"type":"Feature","id":4740,"properties":{"Name":"Wilson,Matthew Ryan","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4740},"geometry":null},{"type":"Feature","id":4741,"properties":{"Name":"Wilson,Tim E","Unit":"Police","Dept":"North Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4741},"geometry":null},{"type":"Feature","id":4742,"properties":{"Name":"Bednarick Jr,Roger A","Unit":"Police","Dept":"North Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4742},"geometry":null},{"type":"Feature","id":4743,"properties":{"Name":"Collins II,David O","Unit":"Police","Dept":"North Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4743},"geometry":null},{"type":"Feature","id":4744,"properties":{"Name":"Faulkenberry,Mark S","Unit":"Police","Dept":"North Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4744},"geometry":null},{"type":"Feature","id":4745,"properties":{"Name":"Furr,Joan L","Unit":"Police","Dept":"North Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4745},"geometry":null},{"type":"Feature","id":4746,"properties":{"Name":"Hughes,Muriel P","Unit":"Police","Dept":"North Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4746},"geometry":null},{"type":"Feature","id":4747,"properties":{"Name":"Miner,Melvin J","Unit":"Police","Dept":"North Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4747},"geometry":null},{"type":"Feature","id":4748,"properties":{"Name":"Rankin,Edward P","Unit":"Police","Dept":"North Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4748},"geometry":null},{"type":"Feature","id":4749,"properties":{"Name":"Dance,Robert Jason","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4749},"geometry":null},{"type":"Feature","id":4750,"properties":{"Name":"Rice,Doris P","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$49,777.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4750},"geometry":null},{"type":"Feature","id":4751,"properties":{"Name":"Durant,Steven M","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4751},"geometry":null},{"type":"Feature","id":4752,"properties":{"Name":"Harless,Jeffrey E","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4752},"geometry":null},{"type":"Feature","id":4753,"properties":{"Name":"Harris,David A","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Lieutenant","Annual_Rt":"$87,341.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4753},"geometry":null},{"type":"Feature","id":4754,"properties":{"Name":"Abramo,Timothy M","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4754},"geometry":null},{"type":"Feature","id":4755,"properties":{"Name":"Aldinger,Michael A","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4755},"geometry":null},{"type":"Feature","id":4756,"properties":{"Name":"Altizer,Gregory D","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$65,838.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4756},"geometry":null},{"type":"Feature","id":4757,"properties":{"Name":"Andringa,Richard D","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4757},"geometry":null},{"type":"Feature","id":4758,"properties":{"Name":"Avant,Don R","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$68,633.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4758},"geometry":null},{"type":"Feature","id":4759,"properties":{"Name":"Banham,Phillip Richard","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4759},"geometry":null},{"type":"Feature","id":4760,"properties":{"Name":"Barrett,James Jerome","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4760},"geometry":null},{"type":"Feature","id":4761,"properties":{"Name":"Blanchett,Matthew P.","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$61,489.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4761},"geometry":null},{"type":"Feature","id":4762,"properties":{"Name":"Boag,Terry D","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4762},"geometry":null},{"type":"Feature","id":4763,"properties":{"Name":"Burton,Jeffrey A","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4763},"geometry":null},{"type":"Feature","id":4764,"properties":{"Name":"Childers,Keelan Michael","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$46,600.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4764},"geometry":null},{"type":"Feature","id":4765,"properties":{"Name":"Chipman,Christopher D","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4765},"geometry":null},{"type":"Feature","id":4766,"properties":{"Name":"Coleman,Justin William","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4766},"geometry":null},{"type":"Feature","id":4767,"properties":{"Name":"Contreras,Argenis","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4767},"geometry":null},{"type":"Feature","id":4768,"properties":{"Name":"Cooper,Darron L","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4768},"geometry":null},{"type":"Feature","id":4769,"properties":{"Name":"Doan,Mike","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$58,191.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4769},"geometry":null},{"type":"Feature","id":4770,"properties":{"Name":"Duckett,Damane Jerrel","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4770},"geometry":null},{"type":"Feature","id":4771,"properties":{"Name":"Ellis,Jason P","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4771},"geometry":null},{"type":"Feature","id":4772,"properties":{"Name":"Foggie,Karen Renae","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4772},"geometry":null},{"type":"Feature","id":4773,"properties":{"Name":"Gallant Jr,Douglas Edward","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4773},"geometry":null},{"type":"Feature","id":4774,"properties":{"Name":"Garcia,Joseph Alexander","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4774},"geometry":null},{"type":"Feature","id":4775,"properties":{"Name":"Gibbons,Michael P.","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4775},"geometry":null},{"type":"Feature","id":4776,"properties":{"Name":"Givens,Jonathan Michael","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4776},"geometry":null},{"type":"Feature","id":4777,"properties":{"Name":"Goldman,Malcolm R","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4777},"geometry":null},{"type":"Feature","id":4778,"properties":{"Name":"Gray,Kevin Joel","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4778},"geometry":null},{"type":"Feature","id":4779,"properties":{"Name":"Green,John G.","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4779},"geometry":null},{"type":"Feature","id":4780,"properties":{"Name":"Greene,Alan S.","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$63,733.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4780},"geometry":null},{"type":"Feature","id":4781,"properties":{"Name":"Greene,Melanie S","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4781},"geometry":null},{"type":"Feature","id":4782,"properties":{"Name":"Guerra,David Jeremy","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4782},"geometry":null},{"type":"Feature","id":4783,"properties":{"Name":"Guldager,Aubrey J","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4783},"geometry":null},{"type":"Feature","id":4784,"properties":{"Name":"Gunter,Charles N","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4784},"geometry":null},{"type":"Feature","id":4785,"properties":{"Name":"Harmon Self,Sara Marie","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4785},"geometry":null},{"type":"Feature","id":4786,"properties":{"Name":"Harris,Reginald K","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4786},"geometry":null},{"type":"Feature","id":4787,"properties":{"Name":"Hildebrand,Thomas W.","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$56,397.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4787},"geometry":null},{"type":"Feature","id":4788,"properties":{"Name":"Hollern,Matthew J.","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4788},"geometry":null},{"type":"Feature","id":4789,"properties":{"Name":"Hollowell,Steven R","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$55,420.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4789},"geometry":null},{"type":"Feature","id":4790,"properties":{"Name":"Howard,Samuel C","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4790},"geometry":null},{"type":"Feature","id":4791,"properties":{"Name":"Johnson,Emmette B","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4791},"geometry":null},{"type":"Feature","id":4792,"properties":{"Name":"Johnson,Tangelia Sade","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4792},"geometry":null},{"type":"Feature","id":4793,"properties":{"Name":"Jones Jr,Daniel C","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4793},"geometry":null},{"type":"Feature","id":4794,"properties":{"Name":"Keene,Nyvia E","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$56,397.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4794},"geometry":null},{"type":"Feature","id":4795,"properties":{"Name":"Kovach,Brian P","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4795},"geometry":null},{"type":"Feature","id":4796,"properties":{"Name":"Kubinsky,John Joseph","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4796},"geometry":null},{"type":"Feature","id":4797,"properties":{"Name":"Lancaster,Jarrod Sean","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4797},"geometry":null},{"type":"Feature","id":4798,"properties":{"Name":"Lang,Tiffany Suzanne","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4798},"geometry":null},{"type":"Feature","id":4799,"properties":{"Name":"Lowe,Michael","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4799},"geometry":null},{"type":"Feature","id":4800,"properties":{"Name":"Mardis,Jonathan Keegan","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4800},"geometry":null},{"type":"Feature","id":4801,"properties":{"Name":"Maye,Stevenson R","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$69,529.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4801},"geometry":null},{"type":"Feature","id":4802,"properties":{"Name":"Michal,John R","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4802},"geometry":null},{"type":"Feature","id":4803,"properties":{"Name":"Miller,Brandon Prentice","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4803},"geometry":null},{"type":"Feature","id":4804,"properties":{"Name":"Monroe,Nathaniel R","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4804},"geometry":null},{"type":"Feature","id":4805,"properties":{"Name":"Monteleone,Joseph P","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4805},"geometry":null},{"type":"Feature","id":4806,"properties":{"Name":"Montero,Nestor J","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4806},"geometry":null},{"type":"Feature","id":4807,"properties":{"Name":"Moore,Jarrid Christopher","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4807},"geometry":null},{"type":"Feature","id":4808,"properties":{"Name":"Moss,Andrew D","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4808},"geometry":null},{"type":"Feature","id":4809,"properties":{"Name":"Muller,Andrew K.","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4809},"geometry":null},{"type":"Feature","id":4810,"properties":{"Name":"Oates,Carlos A","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4810},"geometry":null},{"type":"Feature","id":4811,"properties":{"Name":"Ockerman,Hannah Marie","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4811},"geometry":null},{"type":"Feature","id":4812,"properties":{"Name":"ONeal,Rebecca Caitlin","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4812},"geometry":null},{"type":"Feature","id":4813,"properties":{"Name":"Overcash,Brandon S","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4813},"geometry":null},{"type":"Feature","id":4814,"properties":{"Name":"Passafiume,Jason M","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4814},"geometry":null},{"type":"Feature","id":4815,"properties":{"Name":"Payne,Timothy C","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4815},"geometry":null},{"type":"Feature","id":4816,"properties":{"Name":"Perkins,Charles M","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4816},"geometry":null},{"type":"Feature","id":4817,"properties":{"Name":"Redzepovic,Elvir","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4817},"geometry":null},{"type":"Feature","id":4818,"properties":{"Name":"Reynolds,Corey Ryan","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4818},"geometry":null},{"type":"Feature","id":4819,"properties":{"Name":"Rice,Andrew S","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4819},"geometry":null},{"type":"Feature","id":4820,"properties":{"Name":"Robinson,Gabriel William","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4820},"geometry":null},{"type":"Feature","id":4821,"properties":{"Name":"Rodriguez,Joaquin","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4821},"geometry":null},{"type":"Feature","id":4822,"properties":{"Name":"Salazar,William E","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4822},"geometry":null},{"type":"Feature","id":4823,"properties":{"Name":"Schieb,Christopher M","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4823},"geometry":null},{"type":"Feature","id":4824,"properties":{"Name":"Simmons,Dennis B","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4824},"geometry":null},{"type":"Feature","id":4825,"properties":{"Name":"Slater,Timothy J","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4825},"geometry":null},{"type":"Feature","id":4826,"properties":{"Name":"Soares,Mario Rui D T","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$56,806.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4826},"geometry":null},{"type":"Feature","id":4827,"properties":{"Name":"Solomon,Sean Matthew","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$60,962.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4827},"geometry":null},{"type":"Feature","id":4828,"properties":{"Name":"Stafford,Kevin Daniel","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4828},"geometry":null},{"type":"Feature","id":4829,"properties":{"Name":"Steward,Shawn Michael","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4829},"geometry":null},{"type":"Feature","id":4830,"properties":{"Name":"Stewart,Jess Keating","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4830},"geometry":null},{"type":"Feature","id":4831,"properties":{"Name":"Stubblefield,Lauren R.","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4831},"geometry":null},{"type":"Feature","id":4832,"properties":{"Name":"Thompson,Marcus D.","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$59,646.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4832},"geometry":null},{"type":"Feature","id":4833,"properties":{"Name":"Thompson,Phillip D","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4833},"geometry":null},{"type":"Feature","id":4834,"properties":{"Name":"Tolley,Christopher Robert","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4834},"geometry":null},{"type":"Feature","id":4835,"properties":{"Name":"Tonsing III,Frederick W.","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4835},"geometry":null},{"type":"Feature","id":4836,"properties":{"Name":"Trull,Christopher S.","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4836},"geometry":null},{"type":"Feature","id":4837,"properties":{"Name":"Van Almen,Joshua Nathaniel","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$60,962.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4837},"geometry":null},{"type":"Feature","id":4838,"properties":{"Name":"Vang,Lou T","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4838},"geometry":null},{"type":"Feature","id":4839,"properties":{"Name":"Wagner,Eric Vincent","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4839},"geometry":null},{"type":"Feature","id":4840,"properties":{"Name":"Walker,Darren","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4840},"geometry":null},{"type":"Feature","id":4841,"properties":{"Name":"Wally,Jonathan Brent","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4841},"geometry":null},{"type":"Feature","id":4842,"properties":{"Name":"Wiggins,Kevin Douglas","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4842},"geometry":null},{"type":"Feature","id":4843,"properties":{"Name":"Woolcock,Kevin Lloyd","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4843},"geometry":null},{"type":"Feature","id":4844,"properties":{"Name":"Zagar,Kelly Lee","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4844},"geometry":null},{"type":"Feature","id":4845,"properties":{"Name":"Zederbaum,Jeffrey L","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4845},"geometry":null},{"type":"Feature","id":4846,"properties":{"Name":"Demaioribus,Angelo A.","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4846},"geometry":null},{"type":"Feature","id":4847,"properties":{"Name":"Hall,Anthony Eugene","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4847},"geometry":null},{"type":"Feature","id":4848,"properties":{"Name":"Matthews,Brian Patrick","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4848},"geometry":null},{"type":"Feature","id":4849,"properties":{"Name":"McNelly,Joel A","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4849},"geometry":null},{"type":"Feature","id":4850,"properties":{"Name":"Narvaez,Gilberto","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4850},"geometry":null},{"type":"Feature","id":4851,"properties":{"Name":"Tonsberg,Richard S","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4851},"geometry":null},{"type":"Feature","id":4852,"properties":{"Name":"Wise,Robert J","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4852},"geometry":null},{"type":"Feature","id":4853,"properties":{"Name":"Veith,Lucas A.","Unit":"Police","Dept":"North Tryon Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4853},"geometry":null},{"type":"Feature","id":4854,"properties":{"Name":"Diggs,John D","Unit":"Police","Dept":"Northeast Service Area","Job_Title":"Police Major","Annual_Rt":"$107,762.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4854},"geometry":null},{"type":"Feature","id":4855,"properties":{"Name":"Evans-Patterson,Cara Lemar","Unit":"Police","Dept":"Northwest Service Area","Job_Title":"Administrative Officer I","Annual_Rt":null,"Hrly_Rate":"$19.20 ","RegTemp":"T","Full/Part":"F","OBJECTID":4855},"geometry":null},{"type":"Feature","id":4856,"properties":{"Name":"Bellamy,Bruce E","Unit":"Police","Dept":"Northwest Service Area","Job_Title":"Police Major","Annual_Rt":"$105,157.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4856},"geometry":null},{"type":"Feature","id":4857,"properties":{"Name":"Kiser,Darrellyn R","Unit":"Police","Dept":"Office of the Chief - Administ","Job_Title":"Administrative Officer IV","Annual_Rt":"$102,316.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4857},"geometry":null},{"type":"Feature","id":4858,"properties":{"Name":"Jones,Janet Susan","Unit":"Police","Dept":"Office of the Chief - Administ","Job_Title":"Administrative Secretary I","Annual_Rt":"$56,613.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4858},"geometry":null},{"type":"Feature","id":4859,"properties":{"Name":"High-Foster,Kellie Sue","Unit":"Police","Dept":"Office of the Chief - Administ","Job_Title":"Engineering Business Serv Mgr","Annual_Rt":"$110,160.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4859},"geometry":null},{"type":"Feature","id":4860,"properties":{"Name":"Hinton,Jacqueline","Unit":"Police","Dept":"Office of the Chief - Administ","Job_Title":"Office Assistant V","Annual_Rt":"$42,281.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4860},"geometry":null},{"type":"Feature","id":4861,"properties":{"Name":"Monroe,Rodney D.","Unit":"Police","Dept":"Office of the Chief - Administ","Job_Title":"Police Chief","Annual_Rt":"$211,853.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4861},"geometry":null},{"type":"Feature","id":4862,"properties":{"Name":"Pearsall,Sherie E","Unit":"Police","Dept":"Office of the Chief - Administ","Job_Title":"Police Major","Annual_Rt":"$105,645.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4862},"geometry":null},{"type":"Feature","id":4863,"properties":{"Name":"McFadden,Gary L","Unit":"Police","Dept":"Office of the Chief - Administ","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$32.15 ","RegTemp":"T","Full/Part":"P","OBJECTID":4863},"geometry":null},{"type":"Feature","id":4864,"properties":{"Name":"Mitchell,John H","Unit":"Police","Dept":"Passenger Vehicle for Hire Uni","Job_Title":"Administrative Officer I","Annual_Rt":"$44,289.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4864},"geometry":null},{"type":"Feature","id":4865,"properties":{"Name":"Smith,Kim Annette","Unit":"Police","Dept":"Passenger Vehicle for Hire Uni","Job_Title":"Administrative Officer I","Annual_Rt":"$42,558.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4865},"geometry":null},{"type":"Feature","id":4866,"properties":{"Name":"Wallace,Dewauana","Unit":"Police","Dept":"Passenger Vehicle for Hire Uni","Job_Title":"Administrative Officer I","Annual_Rt":"$41,037.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4866},"geometry":null},{"type":"Feature","id":4867,"properties":{"Name":"Weckenman,Anthony John","Unit":"Police","Dept":"Passenger Vehicle for Hire Uni","Job_Title":"Administrative Officer I","Annual_Rt":"$39,841.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4867},"geometry":null},{"type":"Feature","id":4868,"properties":{"Name":"Young,Kirkham B.","Unit":"Police","Dept":"Passenger Vehicle for Hire Uni","Job_Title":"Passenger Vehicle for Hire Mgr","Annual_Rt":"$54,455.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4868},"geometry":null},{"type":"Feature","id":4869,"properties":{"Name":"Paskoff,Paul Stuart","Unit":"Police","Dept":"Planning & Research Division","Job_Title":"Administrative Officer IV","Annual_Rt":"$97,606.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4869},"geometry":null},{"type":"Feature","id":4870,"properties":{"Name":"Niedermayer,Cameron Gray","Unit":"Police","Dept":"Planning & Research Division","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$15.18 ","RegTemp":"T","Full/Part":"P","OBJECTID":4870},"geometry":null},{"type":"Feature","id":4871,"properties":{"Name":"Ganey,Mary E","Unit":"Police","Dept":"Planning & Research Division","Job_Title":"Management Analyst","Annual_Rt":"$56,999.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4871},"geometry":null},{"type":"Feature","id":4872,"properties":{"Name":"Hamilton,Alisha M","Unit":"Police","Dept":"Planning & Research Division","Job_Title":"Management Analyst","Annual_Rt":"$55,123.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4872},"geometry":null},{"type":"Feature","id":4873,"properties":{"Name":"Treadaway,Melissa M","Unit":"Police","Dept":"Planning & Research Division","Job_Title":"Management Analyst Senior","Annual_Rt":"$63,852.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4873},"geometry":null},{"type":"Feature","id":4874,"properties":{"Name":"Wilkins,Rebecca L","Unit":"Police","Dept":"Planning & Research Division","Job_Title":"Office Assistant IV","Annual_Rt":"$34,812.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4874},"geometry":null},{"type":"Feature","id":4875,"properties":{"Name":"Freiman,Charles S","Unit":"Police","Dept":"Police Attorney","Job_Title":"Administrative Officer I","Annual_Rt":"$46,127.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4875},"geometry":null},{"type":"Feature","id":4876,"properties":{"Name":"Queen,Jaynes Tharpe","Unit":"Police","Dept":"Police Attorney","Job_Title":"Administrative Officer I","Annual_Rt":"$42,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4876},"geometry":null},{"type":"Feature","id":4877,"properties":{"Name":"Evans,Tracey","Unit":"Police","Dept":"Police Attorney","Job_Title":"Assistant City Attorney II","Annual_Rt":"$91,228.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4877},"geometry":null},{"type":"Feature","id":4878,"properties":{"Name":"Perlungher,Richard R","Unit":"Police","Dept":"Police Attorney","Job_Title":"Assistant City Attorney II","Annual_Rt":"$94,411.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4878},"geometry":null},{"type":"Feature","id":4879,"properties":{"Name":"Newbold,Mark H","Unit":"Police","Dept":"Police Attorney","Job_Title":"Deputy City Attorney","Annual_Rt":"$151,183.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4879},"geometry":null},{"type":"Feature","id":4880,"properties":{"Name":"Bowers Jr,Walter Lee","Unit":"Police","Dept":"Police Attorney","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4880},"geometry":null},{"type":"Feature","id":4881,"properties":{"Name":"Emken,Judith C","Unit":"Police","Dept":"Police Attorney","Job_Title":"Senior Attorney","Annual_Rt":"$119,623.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4881},"geometry":null},{"type":"Feature","id":4882,"properties":{"Name":"Fox,Linda Morris","Unit":"Police","Dept":"Police Attorney","Job_Title":"Senior Attorney","Annual_Rt":"$119,623.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4882},"geometry":null},{"type":"Feature","id":4883,"properties":{"Name":"Carroll,Donald J","Unit":"Police","Dept":"Polygraph Section","Job_Title":"Polygraph Examiner","Annual_Rt":null,"Hrly_Rate":"$30.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":4883},"geometry":null},{"type":"Feature","id":4884,"properties":{"Name":"Suddreth,Albert F","Unit":"Police","Dept":"Polygraph Section","Job_Title":"Polygraph Examiner","Annual_Rt":"$72,110.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4884},"geometry":null},{"type":"Feature","id":4885,"properties":{"Name":"Guardado,Erica N","Unit":"Police","Dept":"Professional Standards Unit","Job_Title":"Administrative Officer I","Annual_Rt":"$44,606.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4885},"geometry":null},{"type":"Feature","id":4886,"properties":{"Name":"Busic,Christopher E","Unit":"Police","Dept":"Professional Standards Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4886},"geometry":null},{"type":"Feature","id":4887,"properties":{"Name":"Stukey,Amy Elizabeth","Unit":"Police","Dept":"Professional Standards Unit","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4887},"geometry":null},{"type":"Feature","id":4888,"properties":{"Name":"Carr,Carlyon M","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Customer Service Supervisor","Annual_Rt":"$52,693.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4888},"geometry":null},{"type":"Feature","id":4889,"properties":{"Name":"Adams,Cephus L","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$41,596.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4889},"geometry":null},{"type":"Feature","id":4890,"properties":{"Name":"Coles-Mitchell,Sharon","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Office Assistant IV","Annual_Rt":"$35,343.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4890},"geometry":null},{"type":"Feature","id":4891,"properties":{"Name":"Putnam,Michael James","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Cadet","Annual_Rt":null,"Hrly_Rate":"$9.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":4891},"geometry":null},{"type":"Feature","id":4892,"properties":{"Name":"Russell,Brian K","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Lieutenant","Annual_Rt":"$87,341.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4892},"geometry":null},{"type":"Feature","id":4893,"properties":{"Name":"Crowley,David W","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Supv","Annual_Rt":"$50,302.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4893},"geometry":null},{"type":"Feature","id":4894,"properties":{"Name":"Diamond,Jeffrey A","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Supv","Annual_Rt":null,"Hrly_Rate":"$26.57 ","RegTemp":"T","Full/Part":"P","OBJECTID":4894},"geometry":null},{"type":"Feature","id":4895,"properties":{"Name":"Scott,Tonya","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Supv","Annual_Rt":"$43,919.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4895},"geometry":null},{"type":"Feature","id":4896,"properties":{"Name":"Austin,Rodger Mark","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$32,598.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4896},"geometry":null},{"type":"Feature","id":4897,"properties":{"Name":"Blackmon,Julie M","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$33,576.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4897},"geometry":null},{"type":"Feature","id":4898,"properties":{"Name":"Burwell,Yvette","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$32,598.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4898},"geometry":null},{"type":"Feature","id":4899,"properties":{"Name":"Ceasar,Maria","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$33,576.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4899},"geometry":null},{"type":"Feature","id":4900,"properties":{"Name":"Crawford,Marian E","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$45,499.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4900},"geometry":null},{"type":"Feature","id":4901,"properties":{"Name":"Dockery,Shuron Clarke","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$33,575.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4901},"geometry":null},{"type":"Feature","id":4902,"properties":{"Name":"Ensley,Sharon D","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$33,577.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4902},"geometry":null},{"type":"Feature","id":4903,"properties":{"Name":"Grant,Sharon","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$48,570.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4903},"geometry":null},{"type":"Feature","id":4904,"properties":{"Name":"Harris,Gary","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$38,068.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4904},"geometry":null},{"type":"Feature","id":4905,"properties":{"Name":"Marsh,Denise J","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$33,577.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4905},"geometry":null},{"type":"Feature","id":4906,"properties":{"Name":"Richardson,Pamela D","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$40,147.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4906},"geometry":null},{"type":"Feature","id":4907,"properties":{"Name":"Shroyer,Traci Michelle","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$33,576.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4907},"geometry":null},{"type":"Feature","id":4908,"properties":{"Name":"Smith,Karee Medlin","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$33,575.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4908},"geometry":null},{"type":"Feature","id":4909,"properties":{"Name":"Toatley,Lakese S","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$33,576.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4909},"geometry":null},{"type":"Feature","id":4910,"properties":{"Name":"Wallace Jr,Elbie Dewitt","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$33,576.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4910},"geometry":null},{"type":"Feature","id":4911,"properties":{"Name":"Whitley,Gregory Christopher","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$33,576.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4911},"geometry":null},{"type":"Feature","id":4912,"properties":{"Name":"Wreh,Oretha J","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Control Tech","Annual_Rt":"$34,783.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4912},"geometry":null},{"type":"Feature","id":4913,"properties":{"Name":"Danielsen Jr,Richard C","Unit":"Police","Dept":"Property & Evidence Management","Job_Title":"Police Property Manager","Annual_Rt":"$73,283.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4913},"geometry":null},{"type":"Feature","id":4914,"properties":{"Name":"Hall,Wendy A","Unit":"Police","Dept":"Property Crimes Division","Job_Title":"Office Assistant IV","Annual_Rt":"$35,641.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4914},"geometry":null},{"type":"Feature","id":4915,"properties":{"Name":"Brooks III,William Jennings","Unit":"Police","Dept":"Property Crimes Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$36,771.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4915},"geometry":null},{"type":"Feature","id":4916,"properties":{"Name":"Blakeney,Shauntara Andrea","Unit":"Police","Dept":"Property Crimes Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4916},"geometry":null},{"type":"Feature","id":4917,"properties":{"Name":"Curlee,Joseph Andrew","Unit":"Police","Dept":"Property Crimes Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4917},"geometry":null},{"type":"Feature","id":4918,"properties":{"Name":"Garber,Rebecca S","Unit":"Police","Dept":"Property Crimes Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4918},"geometry":null},{"type":"Feature","id":4919,"properties":{"Name":"Garrison,Tawanda P","Unit":"Police","Dept":"Property Crimes Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4919},"geometry":null},{"type":"Feature","id":4920,"properties":{"Name":"Jones,Kevin H","Unit":"Police","Dept":"Property Crimes Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4920},"geometry":null},{"type":"Feature","id":4921,"properties":{"Name":"Mayo,Derrick A.","Unit":"Police","Dept":"Property Crimes Division","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4921},"geometry":null},{"type":"Feature","id":4922,"properties":{"Name":"Phillips,Andrew D","Unit":"Police","Dept":"Property Crimes Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4922},"geometry":null},{"type":"Feature","id":4923,"properties":{"Name":"Stuesse,Kevin M","Unit":"Police","Dept":"Property Crimes Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4923},"geometry":null},{"type":"Feature","id":4924,"properties":{"Name":"Vance,Vivian Leigh","Unit":"Police","Dept":"Property Crimes Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4924},"geometry":null},{"type":"Feature","id":4925,"properties":{"Name":"Bowling,Walter W","Unit":"Police","Dept":"Property Crimes Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4925},"geometry":null},{"type":"Feature","id":4926,"properties":{"Name":"Garnes Jr,Norman","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Captain","Annual_Rt":"$91,494.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4926},"geometry":null},{"type":"Feature","id":4927,"properties":{"Name":"Shores,Leo W","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$45,119.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4927},"geometry":null},{"type":"Feature","id":4928,"properties":{"Name":"Barry,Thomas E","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4928},"geometry":null},{"type":"Feature","id":4929,"properties":{"Name":"Crooks,Shawn E","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4929},"geometry":null},{"type":"Feature","id":4930,"properties":{"Name":"Newell,Fred A","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4930},"geometry":null},{"type":"Feature","id":4931,"properties":{"Name":"Anderson,Shannon S","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4931},"geometry":null},{"type":"Feature","id":4932,"properties":{"Name":"Andrichuk,Daniel J","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4932},"geometry":null},{"type":"Feature","id":4933,"properties":{"Name":"Baswell,Amy Temples","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4933},"geometry":null},{"type":"Feature","id":4934,"properties":{"Name":"Beimel,Leila Rae","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4934},"geometry":null},{"type":"Feature","id":4935,"properties":{"Name":"Birch,Michael F","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4935},"geometry":null},{"type":"Feature","id":4936,"properties":{"Name":"Borelli,Thomas J","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4936},"geometry":null},{"type":"Feature","id":4937,"properties":{"Name":"Bossert,Jason B.","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4937},"geometry":null},{"type":"Feature","id":4938,"properties":{"Name":"Brown Jr,Charles N","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4938},"geometry":null},{"type":"Feature","id":4939,"properties":{"Name":"Bunting,Roy E","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4939},"geometry":null},{"type":"Feature","id":4940,"properties":{"Name":"Butler,Jeffrey M","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$66,218.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4940},"geometry":null},{"type":"Feature","id":4941,"properties":{"Name":"Canipe,Deward A","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4941},"geometry":null},{"type":"Feature","id":4942,"properties":{"Name":"Cannon,John T","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4942},"geometry":null},{"type":"Feature","id":4943,"properties":{"Name":"Cantrell,Frank W","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4943},"geometry":null},{"type":"Feature","id":4944,"properties":{"Name":"Case,Thomas Carey","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4944},"geometry":null},{"type":"Feature","id":4945,"properties":{"Name":"Cline,Ronda L","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4945},"geometry":null},{"type":"Feature","id":4946,"properties":{"Name":"Crotty,Karen Marie","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4946},"geometry":null},{"type":"Feature","id":4947,"properties":{"Name":"Daly,Matthew Charles","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4947},"geometry":null},{"type":"Feature","id":4948,"properties":{"Name":"Dickens Jr,Lawrence T.","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4948},"geometry":null},{"type":"Feature","id":4949,"properties":{"Name":"Eubank,William W","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4949},"geometry":null},{"type":"Feature","id":4950,"properties":{"Name":"Evans,Rebecca C","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4950},"geometry":null},{"type":"Feature","id":4951,"properties":{"Name":"Evenson,David R","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4951},"geometry":null},{"type":"Feature","id":4952,"properties":{"Name":"Fiallos,Victoria Michelina","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4952},"geometry":null},{"type":"Feature","id":4953,"properties":{"Name":"Frazita,Mara Elizabeth","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4953},"geometry":null},{"type":"Feature","id":4954,"properties":{"Name":"Frisk,Johnathan Erik","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4954},"geometry":null},{"type":"Feature","id":4955,"properties":{"Name":"Gilliland,James R.","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4955},"geometry":null},{"type":"Feature","id":4956,"properties":{"Name":"Gilyard,Stephenie I","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4956},"geometry":null},{"type":"Feature","id":4957,"properties":{"Name":"Gompers,Jonathan A","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4957},"geometry":null},{"type":"Feature","id":4958,"properties":{"Name":"Graham,Stephen C","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4958},"geometry":null},{"type":"Feature","id":4959,"properties":{"Name":"Grosse II,Thomas Edward","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4959},"geometry":null},{"type":"Feature","id":4960,"properties":{"Name":"Halperin,Richard I","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4960},"geometry":null},{"type":"Feature","id":4961,"properties":{"Name":"Haney,Michael V","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4961},"geometry":null},{"type":"Feature","id":4962,"properties":{"Name":"Hooven,Jason S","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4962},"geometry":null},{"type":"Feature","id":4963,"properties":{"Name":"Houser,Stephen T.","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4963},"geometry":null},{"type":"Feature","id":4964,"properties":{"Name":"Hughes,Charmaine","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4964},"geometry":null},{"type":"Feature","id":4965,"properties":{"Name":"Hurley,Scott P","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4965},"geometry":null},{"type":"Feature","id":4966,"properties":{"Name":"Hysi,Erion","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4966},"geometry":null},{"type":"Feature","id":4967,"properties":{"Name":"Ivey,Jordan Nathaniel","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$46,600.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4967},"geometry":null},{"type":"Feature","id":4968,"properties":{"Name":"Iyevbele,Stephen Imoudu","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$59,115.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4968},"geometry":null},{"type":"Feature","id":4969,"properties":{"Name":"Jessamy,Blake Sheridan","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4969},"geometry":null},{"type":"Feature","id":4970,"properties":{"Name":"Joles II,Raymond C","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4970},"geometry":null},{"type":"Feature","id":4971,"properties":{"Name":"Jones,Daniel Cody","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4971},"geometry":null},{"type":"Feature","id":4972,"properties":{"Name":"Jones,Kevin L","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4972},"geometry":null},{"type":"Feature","id":4973,"properties":{"Name":"Kellough,Daniel L","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4973},"geometry":null},{"type":"Feature","id":4974,"properties":{"Name":"King,Jeffrey Mark","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4974},"geometry":null},{"type":"Feature","id":4975,"properties":{"Name":"Leak,Bradley T","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$72,840.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4975},"geometry":null},{"type":"Feature","id":4976,"properties":{"Name":"Leonard,Douglas K","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4976},"geometry":null},{"type":"Feature","id":4977,"properties":{"Name":"Lovell,Kevin Christopher","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4977},"geometry":null},{"type":"Feature","id":4978,"properties":{"Name":"Lowery,Lee M","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4978},"geometry":null},{"type":"Feature","id":4979,"properties":{"Name":"Martin,Daniel Bruce","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4979},"geometry":null},{"type":"Feature","id":4980,"properties":{"Name":"Martin,Gregory","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$71,671.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4980},"geometry":null},{"type":"Feature","id":4981,"properties":{"Name":"Matlock,Christopher J.","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$47,555.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4981},"geometry":null},{"type":"Feature","id":4982,"properties":{"Name":"McCallum,David Damond","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4982},"geometry":null},{"type":"Feature","id":4983,"properties":{"Name":"McNeil,Roman Gary","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$53,740.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4983},"geometry":null},{"type":"Feature","id":4984,"properties":{"Name":"Milhazes,Alex Anthony","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4984},"geometry":null},{"type":"Feature","id":4985,"properties":{"Name":"Moran,Jean D","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4985},"geometry":null},{"type":"Feature","id":4986,"properties":{"Name":"Mull,Rodney D","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4986},"geometry":null},{"type":"Feature","id":4987,"properties":{"Name":"Mullis,Alvin J","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4987},"geometry":null},{"type":"Feature","id":4988,"properties":{"Name":"Ogilvie,Gordon F","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4988},"geometry":null},{"type":"Feature","id":4989,"properties":{"Name":"Ott,Jason T","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4989},"geometry":null},{"type":"Feature","id":4990,"properties":{"Name":"Pack,Franchot Raphael","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4990},"geometry":null},{"type":"Feature","id":4991,"properties":{"Name":"Padgett,David L","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4991},"geometry":null},{"type":"Feature","id":4992,"properties":{"Name":"Planty,Adam C","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4992},"geometry":null},{"type":"Feature","id":4993,"properties":{"Name":"Plott,Norris B","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4993},"geometry":null},{"type":"Feature","id":4994,"properties":{"Name":"Plymouth,Jennifer M.","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4994},"geometry":null},{"type":"Feature","id":4995,"properties":{"Name":"Poston,Edgar DeWayne","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$58,191.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4995},"geometry":null},{"type":"Feature","id":4996,"properties":{"Name":"Powell,Jacob Damian","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4996},"geometry":null},{"type":"Feature","id":4997,"properties":{"Name":"Reinke,William F","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4997},"geometry":null},{"type":"Feature","id":4998,"properties":{"Name":"Rogers,Brian K","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4998},"geometry":null},{"type":"Feature","id":4999,"properties":{"Name":"Savelle,Alan T.","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$65,252.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":4999},"geometry":null},{"type":"Feature","id":5000,"properties":{"Name":"Schuster,Steven Douglas","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$52,084.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5000},"geometry":null},{"type":"Feature","id":5001,"properties":{"Name":"Sliney,Kevin","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$71,671.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5001},"geometry":null},{"type":"Feature","id":5002,"properties":{"Name":"Sprague,Robert A","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5002},"geometry":null},{"type":"Feature","id":5003,"properties":{"Name":"Suggs,Cary L","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5003},"geometry":null},{"type":"Feature","id":5004,"properties":{"Name":"Taylor,Richard T","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$60,593.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5004},"geometry":null},{"type":"Feature","id":5005,"properties":{"Name":"Thigpen,Cory M","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5005},"geometry":null},{"type":"Feature","id":5006,"properties":{"Name":"Thompson,Brian H","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5006},"geometry":null},{"type":"Feature","id":5007,"properties":{"Name":"Varela,Juan","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5007},"geometry":null},{"type":"Feature","id":5008,"properties":{"Name":"Walker,Charles M","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5008},"geometry":null},{"type":"Feature","id":5009,"properties":{"Name":"Waters,Kamil Derek","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5009},"geometry":null},{"type":"Feature","id":5010,"properties":{"Name":"Whetzel,Ryan L","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$72,840.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5010},"geometry":null},{"type":"Feature","id":5011,"properties":{"Name":"Wing,Joel E","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5011},"geometry":null},{"type":"Feature","id":5012,"properties":{"Name":"Womack,Terrain Emanuel","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5012},"geometry":null},{"type":"Feature","id":5013,"properties":{"Name":"Wyrick Jr,Michael W","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5013},"geometry":null},{"type":"Feature","id":5014,"properties":{"Name":"Yanacsek,James K","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5014},"geometry":null},{"type":"Feature","id":5015,"properties":{"Name":"Yaravitz,Samuel","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$65,838.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5015},"geometry":null},{"type":"Feature","id":5016,"properties":{"Name":"Yau,Douglas Sze Hin","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5016},"geometry":null},{"type":"Feature","id":5017,"properties":{"Name":"Kiefer,Melissa S","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5017},"geometry":null},{"type":"Feature","id":5018,"properties":{"Name":"Parnell,Christopher C","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5018},"geometry":null},{"type":"Feature","id":5019,"properties":{"Name":"Smith,Michael S","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5019},"geometry":null},{"type":"Feature","id":5020,"properties":{"Name":"Varnum,Craig E","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5020},"geometry":null},{"type":"Feature","id":5021,"properties":{"Name":"Vilagi,Jeffrey F","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5021},"geometry":null},{"type":"Feature","id":5022,"properties":{"Name":"Wilson,Paul J","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5022},"geometry":null},{"type":"Feature","id":5023,"properties":{"Name":"Wilson,Rodney W","Unit":"Police","Dept":"Providence Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5023},"geometry":null},{"type":"Feature","id":5024,"properties":{"Name":"Osborne,Garrick Maurice","Unit":"Police","Dept":"Public Affairs","Job_Title":"Content Webmaster","Annual_Rt":"$61,296.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5024},"geometry":null},{"type":"Feature","id":5025,"properties":{"Name":"Cunningham,Brian J","Unit":"Police","Dept":"Public Affairs","Job_Title":"Police Captain","Annual_Rt":"$96,853.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5025},"geometry":null},{"type":"Feature","id":5026,"properties":{"Name":"Cuthbertson,Marty A","Unit":"Police","Dept":"Public Affairs","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5026},"geometry":null},{"type":"Feature","id":5027,"properties":{"Name":"Trietley,Keith R","Unit":"Police","Dept":"Public Affairs","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5027},"geometry":null},{"type":"Feature","id":5028,"properties":{"Name":"Wallin,Jessica Ann","Unit":"Police","Dept":"Public Affairs","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5028},"geometry":null},{"type":"Feature","id":5029,"properties":{"Name":"Farquharson,La Vondra Edwards","Unit":"Police","Dept":"Public Affairs","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$63,342.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5029},"geometry":null},{"type":"Feature","id":5030,"properties":{"Name":"Tufano,Robert","Unit":"Police","Dept":"Public Affairs","Job_Title":"Public Service Coordinator","Annual_Rt":"$80,680.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5030},"geometry":null},{"type":"Feature","id":5031,"properties":{"Name":"Rutledge,Allan R","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Captain","Annual_Rt":"$95,957.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5031},"geometry":null},{"type":"Feature","id":5032,"properties":{"Name":"Sanders,Brian D","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Lieutenant","Annual_Rt":"$87,341.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5032},"geometry":null},{"type":"Feature","id":5033,"properties":{"Name":"Willis,Stephen H","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Major","Annual_Rt":"$105,157.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5033},"geometry":null},{"type":"Feature","id":5034,"properties":{"Name":"Beaver,Teresa L","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5034},"geometry":null},{"type":"Feature","id":5035,"properties":{"Name":"Bell,Curtis L","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5035},"geometry":null},{"type":"Feature","id":5036,"properties":{"Name":"Gormes,Arielle Mercedeez","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5036},"geometry":null},{"type":"Feature","id":5037,"properties":{"Name":"Greene Jr,Richard L","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5037},"geometry":null},{"type":"Feature","id":5038,"properties":{"Name":"Helms,Christine M","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5038},"geometry":null},{"type":"Feature","id":5039,"properties":{"Name":"Huey,Teresa T","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5039},"geometry":null},{"type":"Feature","id":5040,"properties":{"Name":"Spindler,Emily Gardner","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5040},"geometry":null},{"type":"Feature","id":5041,"properties":{"Name":"Toggweiler,Douglas O","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5041},"geometry":null},{"type":"Feature","id":5042,"properties":{"Name":"Welch,James T","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Officer","Annual_Rt":"$60,766.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5042},"geometry":null},{"type":"Feature","id":5043,"properties":{"Name":"Wright,Serita R.","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5043},"geometry":null},{"type":"Feature","id":5044,"properties":{"Name":"Orlov,William S","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Response Area Commander","Annual_Rt":"$86,981.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5044},"geometry":null},{"type":"Feature","id":5045,"properties":{"Name":"Brown Jr,Graham P","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5045},"geometry":null},{"type":"Feature","id":5046,"properties":{"Name":"Winterhalter,Steven P","Unit":"Police","Dept":"Real Time Crime Center (RTCC)","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5046},"geometry":null},{"type":"Feature","id":5047,"properties":{"Name":"Weaving,James G","Unit":"Police","Dept":"Records Division","Job_Title":"Police Customer Service Mgr","Annual_Rt":"$77,798.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5047},"geometry":null},{"type":"Feature","id":5048,"properties":{"Name":"McNair,Delores","Unit":"Police","Dept":"Records Division","Job_Title":"Police Records Supervisor","Annual_Rt":"$46,860.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5048},"geometry":null},{"type":"Feature","id":5049,"properties":{"Name":"Palma,Teresa Stone","Unit":"Police","Dept":"Records Division","Job_Title":"Police Records Supervisor","Annual_Rt":"$45,044.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5049},"geometry":null},{"type":"Feature","id":5050,"properties":{"Name":"Ingram,Elizabeth C","Unit":"Police","Dept":"Records Division","Job_Title":"Police Records Support Tech","Annual_Rt":"$29,320.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5050},"geometry":null},{"type":"Feature","id":5051,"properties":{"Name":"Teague III,John P","Unit":"Police","Dept":"Records Division","Job_Title":"Police Records Support Tech","Annual_Rt":"$44,007.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5051},"geometry":null},{"type":"Feature","id":5052,"properties":{"Name":"Thornhill,Donna C","Unit":"Police","Dept":"Records Division","Job_Title":"Police Records Support Tech","Annual_Rt":"$43,793.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5052},"geometry":null},{"type":"Feature","id":5053,"properties":{"Name":"Beam,Gregory Eugene","Unit":"Police","Dept":"Recruit Training Unit","Job_Title":"Police Trainee","Annual_Rt":"$41,080.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5053},"geometry":null},{"type":"Feature","id":5054,"properties":{"Name":"Simpson,Debra D.","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Administrative Officer I","Annual_Rt":"$39,932.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5054},"geometry":null},{"type":"Feature","id":5055,"properties":{"Name":"Bergen,Debra H.","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Office Assistant IV","Annual_Rt":"$31,336.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5055},"geometry":null},{"type":"Feature","id":5056,"properties":{"Name":"Bethea,Thomasina Samantha","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Cadet","Annual_Rt":null,"Hrly_Rate":"$9.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":5056},"geometry":null},{"type":"Feature","id":5057,"properties":{"Name":"Davis-Stitt,Kianah Leshaun","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Cadet","Annual_Rt":null,"Hrly_Rate":"$9.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":5057},"geometry":null},{"type":"Feature","id":5058,"properties":{"Name":"Luke,Hannah Caitlin","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Cadet","Annual_Rt":null,"Hrly_Rate":"$9.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":5058},"geometry":null},{"type":"Feature","id":5059,"properties":{"Name":"Patterson,Estella D","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5059},"geometry":null},{"type":"Feature","id":5060,"properties":{"Name":"Ashley-Crump,Beverly A","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5060},"geometry":null},{"type":"Feature","id":5061,"properties":{"Name":"Cousin,Valerie Gordon","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5061},"geometry":null},{"type":"Feature","id":5062,"properties":{"Name":"Edwards,Bruce Anthony","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5062},"geometry":null},{"type":"Feature","id":5063,"properties":{"Name":"Haynes,William Joseph","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Officer","Annual_Rt":"$56,428.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5063},"geometry":null},{"type":"Feature","id":5064,"properties":{"Name":"Hollars,Pamela A","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5064},"geometry":null},{"type":"Feature","id":5065,"properties":{"Name":"Le,Hai Thanh","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Officer","Annual_Rt":"$52,084.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5065},"geometry":null},{"type":"Feature","id":5066,"properties":{"Name":"McClendon,Catina R.","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5066},"geometry":null},{"type":"Feature","id":5067,"properties":{"Name":"Neblett,Russel C","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5067},"geometry":null},{"type":"Feature","id":5068,"properties":{"Name":"Parnell,Kyle G","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5068},"geometry":null},{"type":"Feature","id":5069,"properties":{"Name":"Williams,Barry Edmond","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Officer","Annual_Rt":"$47,555.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5069},"geometry":null},{"type":"Feature","id":5070,"properties":{"Name":"Linto,Anne M","Unit":"Police","Dept":"Recruiting Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5070},"geometry":null},{"type":"Feature","id":5071,"properties":{"Name":"Wilson,James A","Unit":"Police","Dept":"South Division","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5071},"geometry":null},{"type":"Feature","id":5072,"properties":{"Name":"Whitlock,Leigh A","Unit":"Police","Dept":"South Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$40,736.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5072},"geometry":null},{"type":"Feature","id":5073,"properties":{"Name":"King,Nathan D","Unit":"Police","Dept":"South Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5073},"geometry":null},{"type":"Feature","id":5074,"properties":{"Name":"Lisenby,Pamela A","Unit":"Police","Dept":"South Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5074},"geometry":null},{"type":"Feature","id":5075,"properties":{"Name":"Pardue,Travis G","Unit":"Police","Dept":"South Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5075},"geometry":null},{"type":"Feature","id":5076,"properties":{"Name":"Adamczak,Michael J","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5076},"geometry":null},{"type":"Feature","id":5077,"properties":{"Name":"Aires,Marco A","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5077},"geometry":null},{"type":"Feature","id":5078,"properties":{"Name":"Almond,Benjamin B","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$64,232.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5078},"geometry":null},{"type":"Feature","id":5079,"properties":{"Name":"Ban,Andrew Moses","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5079},"geometry":null},{"type":"Feature","id":5080,"properties":{"Name":"Barba,Jennifer Dunn","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5080},"geometry":null},{"type":"Feature","id":5081,"properties":{"Name":"Beltrone,Todd S","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5081},"geometry":null},{"type":"Feature","id":5082,"properties":{"Name":"Bojaj,Eric M","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5082},"geometry":null},{"type":"Feature","id":5083,"properties":{"Name":"Briggs,Bobby S","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$49,933.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5083},"geometry":null},{"type":"Feature","id":5084,"properties":{"Name":"Bright Jr,Barry W","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5084},"geometry":null},{"type":"Feature","id":5085,"properties":{"Name":"Brooks,Kenan Barika","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5085},"geometry":null},{"type":"Feature","id":5086,"properties":{"Name":"Brown,Gary Martelle","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$58,492.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5086},"geometry":null},{"type":"Feature","id":5087,"properties":{"Name":"Brown,Spencer Keon","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5087},"geometry":null},{"type":"Feature","id":5088,"properties":{"Name":"Bush,Joel A","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5088},"geometry":null},{"type":"Feature","id":5089,"properties":{"Name":"Byrum,Jonathan B.","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5089},"geometry":null},{"type":"Feature","id":5090,"properties":{"Name":"Caldwell,Andre Lamar","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5090},"geometry":null},{"type":"Feature","id":5091,"properties":{"Name":"Caldwell,Wesley B","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5091},"geometry":null},{"type":"Feature","id":5092,"properties":{"Name":"Carlton,Ryan Andrew","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5092},"geometry":null},{"type":"Feature","id":5093,"properties":{"Name":"Causey,John L.","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$59,115.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5093},"geometry":null},{"type":"Feature","id":5094,"properties":{"Name":"Champion,Robert M","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$66,218.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5094},"geometry":null},{"type":"Feature","id":5095,"properties":{"Name":"Chickoree,Gabriel I","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5095},"geometry":null},{"type":"Feature","id":5096,"properties":{"Name":"Chidester II,Thomas Edward","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5096},"geometry":null},{"type":"Feature","id":5097,"properties":{"Name":"Cho,Charles C.","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$68,633.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5097},"geometry":null},{"type":"Feature","id":5098,"properties":{"Name":"Clarkson,George S","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5098},"geometry":null},{"type":"Feature","id":5099,"properties":{"Name":"Comer,Brian K","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5099},"geometry":null},{"type":"Feature","id":5100,"properties":{"Name":"Corrado,Bryan David","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5100},"geometry":null},{"type":"Feature","id":5101,"properties":{"Name":"Cosma,Jason Johnathan","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5101},"geometry":null},{"type":"Feature","id":5102,"properties":{"Name":"Crumpler Jr,Joseph C","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5102},"geometry":null},{"type":"Feature","id":5103,"properties":{"Name":"Cruz,Christopher E","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5103},"geometry":null},{"type":"Feature","id":5104,"properties":{"Name":"Cumberworth,Colin C.","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5104},"geometry":null},{"type":"Feature","id":5105,"properties":{"Name":"DelDuca,R. Scott","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5105},"geometry":null},{"type":"Feature","id":5106,"properties":{"Name":"Edmondson,Ashley N.","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$68,633.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5106},"geometry":null},{"type":"Feature","id":5107,"properties":{"Name":"Faughnan,Caitlin Marie","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5107},"geometry":null},{"type":"Feature","id":5108,"properties":{"Name":"Finocchio,Anthony J","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5108},"geometry":null},{"type":"Feature","id":5109,"properties":{"Name":"Fox,James A","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5109},"geometry":null},{"type":"Feature","id":5110,"properties":{"Name":"Franklin,Ashley Anne Edmonds","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5110},"geometry":null},{"type":"Feature","id":5111,"properties":{"Name":"Franklin,Joe T","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5111},"geometry":null},{"type":"Feature","id":5112,"properties":{"Name":"Fraser,Seth D","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5112},"geometry":null},{"type":"Feature","id":5113,"properties":{"Name":"Fulton,Seth D.","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$64,048.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5113},"geometry":null},{"type":"Feature","id":5114,"properties":{"Name":"Galland,John Jay","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$63,733.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5114},"geometry":null},{"type":"Feature","id":5115,"properties":{"Name":"Gibson,Russ Jackson","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5115},"geometry":null},{"type":"Feature","id":5116,"properties":{"Name":"Gormican,Cathleen Nicole","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5116},"geometry":null},{"type":"Feature","id":5117,"properties":{"Name":"Graham,Mark D","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5117},"geometry":null},{"type":"Feature","id":5118,"properties":{"Name":"Grant,Peter M","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5118},"geometry":null},{"type":"Feature","id":5119,"properties":{"Name":"Grass,Corrina Marie","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5119},"geometry":null},{"type":"Feature","id":5120,"properties":{"Name":"Guiler,Lawrence Edwin","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5120},"geometry":null},{"type":"Feature","id":5121,"properties":{"Name":"Herrera Jr,Julio C","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$72,840.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5121},"geometry":null},{"type":"Feature","id":5122,"properties":{"Name":"Herrera,Gerson","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5122},"geometry":null},{"type":"Feature","id":5123,"properties":{"Name":"Hovis,Joseph W","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5123},"geometry":null},{"type":"Feature","id":5124,"properties":{"Name":"Ignaczak,Piotr Stefan","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5124},"geometry":null},{"type":"Feature","id":5125,"properties":{"Name":"Jackson,Beth","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5125},"geometry":null},{"type":"Feature","id":5126,"properties":{"Name":"Jones,Michael G","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$65,838.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5126},"geometry":null},{"type":"Feature","id":5127,"properties":{"Name":"Kanos,Ann Collins","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5127},"geometry":null},{"type":"Feature","id":5128,"properties":{"Name":"Kendziora,Thomas A","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5128},"geometry":null},{"type":"Feature","id":5129,"properties":{"Name":"Kierce,Robert M","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5129},"geometry":null},{"type":"Feature","id":5130,"properties":{"Name":"Kim,James Gihoon","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5130},"geometry":null},{"type":"Feature","id":5131,"properties":{"Name":"Lindsay,Andrew Mead","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5131},"geometry":null},{"type":"Feature","id":5132,"properties":{"Name":"Lineberger,Gregory R","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5132},"geometry":null},{"type":"Feature","id":5133,"properties":{"Name":"Little,Daniel R","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5133},"geometry":null},{"type":"Feature","id":5134,"properties":{"Name":"Lo,Eric K","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5134},"geometry":null},{"type":"Feature","id":5135,"properties":{"Name":"Martin,Brock D","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$72,840.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5135},"geometry":null},{"type":"Feature","id":5136,"properties":{"Name":"Martin,Joseph R.","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$64,380.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5136},"geometry":null},{"type":"Feature","id":5137,"properties":{"Name":"Mathews,Shane Dustin","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5137},"geometry":null},{"type":"Feature","id":5138,"properties":{"Name":"Mayes,Matthew James","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5138},"geometry":null},{"type":"Feature","id":5139,"properties":{"Name":"McNeill,Yvette M","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5139},"geometry":null},{"type":"Feature","id":5140,"properties":{"Name":"McSwain Jr,Henry B","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5140},"geometry":null},{"type":"Feature","id":5141,"properties":{"Name":"Melekian,John M","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5141},"geometry":null},{"type":"Feature","id":5142,"properties":{"Name":"Morehead,Ethan N","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5142},"geometry":null},{"type":"Feature","id":5143,"properties":{"Name":"Owen,Wade K","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5143},"geometry":null},{"type":"Feature","id":5144,"properties":{"Name":"Palomba,Nicholas Austin","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5144},"geometry":null},{"type":"Feature","id":5145,"properties":{"Name":"Parnell,Zachary William","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5145},"geometry":null},{"type":"Feature","id":5146,"properties":{"Name":"Perry,Kenneth D","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5146},"geometry":null},{"type":"Feature","id":5147,"properties":{"Name":"Perry,Pierrette K","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5147},"geometry":null},{"type":"Feature","id":5148,"properties":{"Name":"Peterson,Dana Andrew","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5148},"geometry":null},{"type":"Feature","id":5149,"properties":{"Name":"Phillips,Jarrett M","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$63,733.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5149},"geometry":null},{"type":"Feature","id":5150,"properties":{"Name":"Purdy,Timothy R","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5150},"geometry":null},{"type":"Feature","id":5151,"properties":{"Name":"Russell,James D","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5151},"geometry":null},{"type":"Feature","id":5152,"properties":{"Name":"Simmons,Donald E","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5152},"geometry":null},{"type":"Feature","id":5153,"properties":{"Name":"Simono,Steve R","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5153},"geometry":null},{"type":"Feature","id":5154,"properties":{"Name":"Smith,Mark A","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5154},"geometry":null},{"type":"Feature","id":5155,"properties":{"Name":"Smith,Michael F.","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5155},"geometry":null},{"type":"Feature","id":5156,"properties":{"Name":"Starnes,Marvin K","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$65,838.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5156},"geometry":null},{"type":"Feature","id":5157,"properties":{"Name":"Sterrett,Stephen C","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5157},"geometry":null},{"type":"Feature","id":5158,"properties":{"Name":"Stewart,Ernest L","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$66,218.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5158},"geometry":null},{"type":"Feature","id":5159,"properties":{"Name":"Stone,Dwight","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$67,638.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5159},"geometry":null},{"type":"Feature","id":5160,"properties":{"Name":"Stuart,Glen Allan","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5160},"geometry":null},{"type":"Feature","id":5161,"properties":{"Name":"Sudimack,Brian T","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5161},"geometry":null},{"type":"Feature","id":5162,"properties":{"Name":"Sutton,William F","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$66,218.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5162},"geometry":null},{"type":"Feature","id":5163,"properties":{"Name":"Swenson,Ole S","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5163},"geometry":null},{"type":"Feature","id":5164,"properties":{"Name":"Terry,Wesley T","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5164},"geometry":null},{"type":"Feature","id":5165,"properties":{"Name":"Thompson,Samantha Michele","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5165},"geometry":null},{"type":"Feature","id":5166,"properties":{"Name":"Vandergrift,Robert E","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5166},"geometry":null},{"type":"Feature","id":5167,"properties":{"Name":"Waller,Corey Scott","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5167},"geometry":null},{"type":"Feature","id":5168,"properties":{"Name":"Watts Jr,Gerald A","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$65,838.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5168},"geometry":null},{"type":"Feature","id":5169,"properties":{"Name":"Wheaton,Jeffrey C.","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$60,766.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5169},"geometry":null},{"type":"Feature","id":5170,"properties":{"Name":"Whitesel,Stephen A","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5170},"geometry":null},{"type":"Feature","id":5171,"properties":{"Name":"Williams,Robert B","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5171},"geometry":null},{"type":"Feature","id":5172,"properties":{"Name":"Workman,April E.","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$56,428.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5172},"geometry":null},{"type":"Feature","id":5173,"properties":{"Name":"Wright Jr,Robert Douglas","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5173},"geometry":null},{"type":"Feature","id":5174,"properties":{"Name":"Wright,Melissa A","Unit":"Police","Dept":"South Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5174},"geometry":null},{"type":"Feature","id":5175,"properties":{"Name":"Cooke,William R","Unit":"Police","Dept":"South Division","Job_Title":"Police Response Area Commander","Annual_Rt":"$86,981.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5175},"geometry":null},{"type":"Feature","id":5176,"properties":{"Name":"Anderson II,Michael Smith","Unit":"Police","Dept":"South Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5176},"geometry":null},{"type":"Feature","id":5177,"properties":{"Name":"Brown,Jeffrey C","Unit":"Police","Dept":"South Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5177},"geometry":null},{"type":"Feature","id":5178,"properties":{"Name":"Gehrke,David P","Unit":"Police","Dept":"South Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5178},"geometry":null},{"type":"Feature","id":5179,"properties":{"Name":"Maloney,Stephen T","Unit":"Police","Dept":"South Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5179},"geometry":null},{"type":"Feature","id":5180,"properties":{"Name":"Roosenberg,Phillip L","Unit":"Police","Dept":"South Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5180},"geometry":null},{"type":"Feature","id":5181,"properties":{"Name":"Sterrett,Jeffrey A.","Unit":"Police","Dept":"South Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5181},"geometry":null},{"type":"Feature","id":5182,"properties":{"Name":"Thomas,Benjamin J","Unit":"Police","Dept":"South Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5182},"geometry":null},{"type":"Feature","id":5183,"properties":{"Name":"Wilson,Timothy S","Unit":"Police","Dept":"South Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5183},"geometry":null},{"type":"Feature","id":5184,"properties":{"Name":"Kornberg,Andrew B","Unit":"Police","Dept":"Southeast Service Area","Job_Title":"Police Major","Annual_Rt":"$103,095.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5184},"geometry":null},{"type":"Feature","id":5185,"properties":{"Name":"Estes,Jeffrey W","Unit":"Police","Dept":"Southwest Service Area","Job_Title":"Police Major","Annual_Rt":"$105,157.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5185},"geometry":null},{"type":"Feature","id":5186,"properties":{"Name":"Farley Jr,Gerard E","Unit":"Police","Dept":"Special Events","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5186},"geometry":null},{"type":"Feature","id":5187,"properties":{"Name":"Lontz,Todd C","Unit":"Police","Dept":"Special Events","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5187},"geometry":null},{"type":"Feature","id":5188,"properties":{"Name":"Poston,David B","Unit":"Police","Dept":"Special Events","Job_Title":"Police Captain","Annual_Rt":"$96,853.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5188},"geometry":null},{"type":"Feature","id":5189,"properties":{"Name":"Thomas,Jonathan D","Unit":"Police","Dept":"Special Events","Job_Title":"Police Captain","Annual_Rt":"$91,494.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5189},"geometry":null},{"type":"Feature","id":5190,"properties":{"Name":"Davis,Sharon Bernadette","Unit":"Police","Dept":"Special Events / Secondary Emp","Job_Title":"Office Assistant IV","Annual_Rt":"$35,811.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5190},"geometry":null},{"type":"Feature","id":5191,"properties":{"Name":"Hummel,Michelle M","Unit":"Police","Dept":"Special Events / Secondary Emp","Job_Title":"Police Captain","Annual_Rt":"$94,163.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5191},"geometry":null},{"type":"Feature","id":5192,"properties":{"Name":"Stahnke,Richard C","Unit":"Police","Dept":"Special Events / Secondary Emp","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5192},"geometry":null},{"type":"Feature","id":5193,"properties":{"Name":"Cerdan,Jonathan S","Unit":"Police","Dept":"Special Events / Secondary Emp","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5193},"geometry":null},{"type":"Feature","id":5194,"properties":{"Name":"Crawford,Eric G","Unit":"Police","Dept":"Special Events / Secondary Emp","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5194},"geometry":null},{"type":"Feature","id":5195,"properties":{"Name":"Kennerly,Daniel Reid","Unit":"Police","Dept":"Special Events / Secondary Emp","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5195},"geometry":null},{"type":"Feature","id":5196,"properties":{"Name":"Kupfer,Justin James","Unit":"Police","Dept":"Special Events / Secondary Emp","Job_Title":"Police Officer","Annual_Rt":"$47,555.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5196},"geometry":null},{"type":"Feature","id":5197,"properties":{"Name":"Lyons,Robert S","Unit":"Police","Dept":"Special Events / Secondary Emp","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5197},"geometry":null},{"type":"Feature","id":5198,"properties":{"Name":"Mattos,Michelle C","Unit":"Police","Dept":"Special Events / Secondary Emp","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5198},"geometry":null},{"type":"Feature","id":5199,"properties":{"Name":"Pressley,Matthew R","Unit":"Police","Dept":"Special Events / Secondary Emp","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5199},"geometry":null},{"type":"Feature","id":5200,"properties":{"Name":"Ruisi Jr,John","Unit":"Police","Dept":"Special Events / Secondary Emp","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5200},"geometry":null},{"type":"Feature","id":5201,"properties":{"Name":"Morton,Bobby L","Unit":"Police","Dept":"Special Events / Secondary Emp","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5201},"geometry":null},{"type":"Feature","id":5202,"properties":{"Name":"Wood,Jesse D","Unit":"Police","Dept":"Special Events / Secondary Emp","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5202},"geometry":null},{"type":"Feature","id":5203,"properties":{"Name":"Brochu,Steven","Unit":"Police","Dept":"Special Operations Division","Job_Title":"Police Captain","Annual_Rt":"$95,957.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5203},"geometry":null},{"type":"Feature","id":5204,"properties":{"Name":"Klass,Robert","Unit":"Police","Dept":"Special Operations Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5204},"geometry":null},{"type":"Feature","id":5205,"properties":{"Name":"Levett,Philip A","Unit":"Police","Dept":"Special Operations Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5205},"geometry":null},{"type":"Feature","id":5206,"properties":{"Name":"Macklin,Terrell L","Unit":"Police","Dept":"Special Operations Division","Job_Title":"Police Officer","Annual_Rt":"$60,593.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5206},"geometry":null},{"type":"Feature","id":5207,"properties":{"Name":"Jessup,Wesley B","Unit":"Police","Dept":"Special Operations Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5207},"geometry":null},{"type":"Feature","id":5208,"properties":{"Name":"Auman,Adelaide M","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Domestic Violence Counselor","Annual_Rt":"$49,278.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5208},"geometry":null},{"type":"Feature","id":5209,"properties":{"Name":"Bowlin,Melissa A","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Domestic Violence Counselor","Annual_Rt":"$49,411.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5209},"geometry":null},{"type":"Feature","id":5210,"properties":{"Name":"Caple,Peggy J","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Domestic Violence Counselor","Annual_Rt":"$49,738.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5210},"geometry":null},{"type":"Feature","id":5211,"properties":{"Name":"Pears,Naimah Curry","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Domestic Violence Counselor","Annual_Rt":"$47,870.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5211},"geometry":null},{"type":"Feature","id":5212,"properties":{"Name":"Homes,Sharon E","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Office Assistant IV","Annual_Rt":"$37,222.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5212},"geometry":null},{"type":"Feature","id":5213,"properties":{"Name":"Johnson,Demetrai L","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Office Assistant IV","Annual_Rt":"$34,205.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5213},"geometry":null},{"type":"Feature","id":5214,"properties":{"Name":"Melendez,Susana","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Cadet","Annual_Rt":null,"Hrly_Rate":"$9.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":5214},"geometry":null},{"type":"Feature","id":5215,"properties":{"Name":"Hulsey,Jacquelyn N","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5215},"geometry":null},{"type":"Feature","id":5216,"properties":{"Name":"Deas,Bonita V","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$46,741.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5216},"geometry":null},{"type":"Feature","id":5217,"properties":{"Name":"Johnson,Mary Lee","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$47,750.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5217},"geometry":null},{"type":"Feature","id":5218,"properties":{"Name":"Price,Monica L","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$38,286.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5218},"geometry":null},{"type":"Feature","id":5219,"properties":{"Name":"Schul,Kenneth M","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5219},"geometry":null},{"type":"Feature","id":5220,"properties":{"Name":"Altamirano,Diana Guadalupe","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5220},"geometry":null},{"type":"Feature","id":5221,"properties":{"Name":"Boulware,Eric G","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5221},"geometry":null},{"type":"Feature","id":5222,"properties":{"Name":"Bowman,Suzanne E","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5222},"geometry":null},{"type":"Feature","id":5223,"properties":{"Name":"Bridges,Kamesha","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5223},"geometry":null},{"type":"Feature","id":5224,"properties":{"Name":"Dunbar,Aleta D","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5224},"geometry":null},{"type":"Feature","id":5225,"properties":{"Name":"Falls,Shirley E","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5225},"geometry":null},{"type":"Feature","id":5226,"properties":{"Name":"Faulkner,William C","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5226},"geometry":null},{"type":"Feature","id":5227,"properties":{"Name":"Geisler,Thomas M","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5227},"geometry":null},{"type":"Feature","id":5228,"properties":{"Name":"Hart Jr,Alvin L","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5228},"geometry":null},{"type":"Feature","id":5229,"properties":{"Name":"Johnson,Teresa R","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5229},"geometry":null},{"type":"Feature","id":5230,"properties":{"Name":"Kay,Major L","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5230},"geometry":null},{"type":"Feature","id":5231,"properties":{"Name":"Lingle,Brandy Leigh","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5231},"geometry":null},{"type":"Feature","id":5232,"properties":{"Name":"Myhand,Randel C","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5232},"geometry":null},{"type":"Feature","id":5233,"properties":{"Name":"ODell,Lori Anne","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5233},"geometry":null},{"type":"Feature","id":5234,"properties":{"Name":"Pharr,Anthony L","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5234},"geometry":null},{"type":"Feature","id":5235,"properties":{"Name":"Ring,Donna L","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5235},"geometry":null},{"type":"Feature","id":5236,"properties":{"Name":"Strother,Nevayta F","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5236},"geometry":null},{"type":"Feature","id":5237,"properties":{"Name":"Threatt,Emmanuel Leon","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5237},"geometry":null},{"type":"Feature","id":5238,"properties":{"Name":"Tuttle,Johnnie L.","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5238},"geometry":null},{"type":"Feature","id":5239,"properties":{"Name":"Williams,Shawn T","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5239},"geometry":null},{"type":"Feature","id":5240,"properties":{"Name":"Wright,David A","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5240},"geometry":null},{"type":"Feature","id":5241,"properties":{"Name":"Evans Jr,Richard E","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Records Support Tech","Annual_Rt":"$30,515.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5241},"geometry":null},{"type":"Feature","id":5242,"properties":{"Name":"Haywood,Angela D","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5242},"geometry":null},{"type":"Feature","id":5243,"properties":{"Name":"Jones,Jem A","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5243},"geometry":null},{"type":"Feature","id":5244,"properties":{"Name":"Walther,William T","Unit":"Police","Dept":"Special Victims Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5244},"geometry":null},{"type":"Feature","id":5245,"properties":{"Name":"Dozier,Christopher N","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5245},"geometry":null},{"type":"Feature","id":5246,"properties":{"Name":"Shuford,Barbara G","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$45,317.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5246},"geometry":null},{"type":"Feature","id":5247,"properties":{"Name":"Harris,Andrew S","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5247},"geometry":null},{"type":"Feature","id":5248,"properties":{"Name":"Hummel,James B","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5248},"geometry":null},{"type":"Feature","id":5249,"properties":{"Name":"Santaniello,Mark T","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5249},"geometry":null},{"type":"Feature","id":5250,"properties":{"Name":"Abrey,Stacey Nicole","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5250},"geometry":null},{"type":"Feature","id":5251,"properties":{"Name":"Andersen,Jeremy Keith","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5251},"geometry":null},{"type":"Feature","id":5252,"properties":{"Name":"Andrews,Ronnie","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$69,529.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5252},"geometry":null},{"type":"Feature","id":5253,"properties":{"Name":"Appiah Jr,Joseph Kwame","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5253},"geometry":null},{"type":"Feature","id":5254,"properties":{"Name":"Balatsias,Diamando","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5254},"geometry":null},{"type":"Feature","id":5255,"properties":{"Name":"Barrett-Carter Jr,Michael B","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5255},"geometry":null},{"type":"Feature","id":5256,"properties":{"Name":"Berg,William E","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5256},"geometry":null},{"type":"Feature","id":5257,"properties":{"Name":"Bolduc,Charles Thomas","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$53,740.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5257},"geometry":null},{"type":"Feature","id":5258,"properties":{"Name":"Bourque,Trevor J","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$69,529.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5258},"geometry":null},{"type":"Feature","id":5259,"properties":{"Name":"Bowman,John Turner","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5259},"geometry":null},{"type":"Feature","id":5260,"properties":{"Name":"Buckler,Ryan K.","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5260},"geometry":null},{"type":"Feature","id":5261,"properties":{"Name":"Carey,Brian S","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5261},"geometry":null},{"type":"Feature","id":5262,"properties":{"Name":"Caulfield,Joseph O","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$45,188.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5262},"geometry":null},{"type":"Feature","id":5263,"properties":{"Name":"Clayton,David W","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5263},"geometry":null},{"type":"Feature","id":5264,"properties":{"Name":"Cliff,Mark A","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5264},"geometry":null},{"type":"Feature","id":5265,"properties":{"Name":"Cook,William S","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5265},"geometry":null},{"type":"Feature","id":5266,"properties":{"Name":"Courtet,Jeffrey T","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5266},"geometry":null},{"type":"Feature","id":5267,"properties":{"Name":"Cruz,Alex M.","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5267},"geometry":null},{"type":"Feature","id":5268,"properties":{"Name":"DeGeorge,Adam J.","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5268},"geometry":null},{"type":"Feature","id":5269,"properties":{"Name":"Derienzo,Hector J","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5269},"geometry":null},{"type":"Feature","id":5270,"properties":{"Name":"Dollar,Joseph M","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5270},"geometry":null},{"type":"Feature","id":5271,"properties":{"Name":"Dotson,William D","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5271},"geometry":null},{"type":"Feature","id":5272,"properties":{"Name":"Earls,Craig M","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5272},"geometry":null},{"type":"Feature","id":5273,"properties":{"Name":"Erb,Eric B","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5273},"geometry":null},{"type":"Feature","id":5274,"properties":{"Name":"Ferralli,Anthony S","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5274},"geometry":null},{"type":"Feature","id":5275,"properties":{"Name":"Fontaine,William L","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5275},"geometry":null},{"type":"Feature","id":5276,"properties":{"Name":"Frazer,Michael Ekundayo","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5276},"geometry":null},{"type":"Feature","id":5277,"properties":{"Name":"Frazita,Kristina M","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$59,115.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5277},"geometry":null},{"type":"Feature","id":5278,"properties":{"Name":"Freeman,Matthew Bradley","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5278},"geometry":null},{"type":"Feature","id":5279,"properties":{"Name":"Frunzi,Christopher F","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5279},"geometry":null},{"type":"Feature","id":5280,"properties":{"Name":"Gaffey,James M","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5280},"geometry":null},{"type":"Feature","id":5281,"properties":{"Name":"Galloway,Greg W","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$69,529.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5281},"geometry":null},{"type":"Feature","id":5282,"properties":{"Name":"Geohagan,Corey Mckenzie","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5282},"geometry":null},{"type":"Feature","id":5283,"properties":{"Name":"Green,Charles K","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5283},"geometry":null},{"type":"Feature","id":5284,"properties":{"Name":"Harrison,Brent Lamont","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5284},"geometry":null},{"type":"Feature","id":5285,"properties":{"Name":"Harvey,David Todd","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5285},"geometry":null},{"type":"Feature","id":5286,"properties":{"Name":"Helms,James B","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5286},"geometry":null},{"type":"Feature","id":5287,"properties":{"Name":"Higdon,Mallory Rae","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5287},"geometry":null},{"type":"Feature","id":5288,"properties":{"Name":"Hill,Ronald David","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5288},"geometry":null},{"type":"Feature","id":5289,"properties":{"Name":"Hock,Brett M","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5289},"geometry":null},{"type":"Feature","id":5290,"properties":{"Name":"Holland,Michael G.","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5290},"geometry":null},{"type":"Feature","id":5291,"properties":{"Name":"Hollowell,William Corddarode","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5291},"geometry":null},{"type":"Feature","id":5292,"properties":{"Name":"Honeycutt,Thomas Z.","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5292},"geometry":null},{"type":"Feature","id":5293,"properties":{"Name":"Inch III,Harry W","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5293},"geometry":null},{"type":"Feature","id":5294,"properties":{"Name":"James,Edward Monroe","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5294},"geometry":null},{"type":"Feature","id":5295,"properties":{"Name":"James,Miranda Wynn","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5295},"geometry":null},{"type":"Feature","id":5296,"properties":{"Name":"Jimenez,Claudio Orlando","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5296},"geometry":null},{"type":"Feature","id":5297,"properties":{"Name":"Johnson,Jeffrey J","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5297},"geometry":null},{"type":"Feature","id":5298,"properties":{"Name":"Johnson,William Jack","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5298},"geometry":null},{"type":"Feature","id":5299,"properties":{"Name":"Jones,Adam B","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5299},"geometry":null},{"type":"Feature","id":5300,"properties":{"Name":"Jordan,Russell S","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5300},"geometry":null},{"type":"Feature","id":5301,"properties":{"Name":"Joseph,Jeffrey J.","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5301},"geometry":null},{"type":"Feature","id":5302,"properties":{"Name":"Joye,Stanley W","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5302},"geometry":null},{"type":"Feature","id":5303,"properties":{"Name":"Kabbash,Suzanna M.","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5303},"geometry":null},{"type":"Feature","id":5304,"properties":{"Name":"Kelly,Amy Carolyn","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5304},"geometry":null},{"type":"Feature","id":5305,"properties":{"Name":"Kelly,Sean J","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$65,838.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5305},"geometry":null},{"type":"Feature","id":5306,"properties":{"Name":"Kiker,Bryan D","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5306},"geometry":null},{"type":"Feature","id":5307,"properties":{"Name":"Kishpaugh,Tyler S.","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$68,633.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5307},"geometry":null},{"type":"Feature","id":5308,"properties":{"Name":"Knowles,Joshua S","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5308},"geometry":null},{"type":"Feature","id":5309,"properties":{"Name":"Kowalski Jr,Dennis John","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5309},"geometry":null},{"type":"Feature","id":5310,"properties":{"Name":"LaFontaine,Alec","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5310},"geometry":null},{"type":"Feature","id":5311,"properties":{"Name":"Lambe,Brian J.","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$64,048.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5311},"geometry":null},{"type":"Feature","id":5312,"properties":{"Name":"Latimer,Robert E.","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5312},"geometry":null},{"type":"Feature","id":5313,"properties":{"Name":"Link,Wayne Sigmon","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5313},"geometry":null},{"type":"Feature","id":5314,"properties":{"Name":"Logsdon,Jeremiah","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5314},"geometry":null},{"type":"Feature","id":5315,"properties":{"Name":"Manivong,Mitchell T","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$72,108.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5315},"geometry":null},{"type":"Feature","id":5316,"properties":{"Name":"Michalec,Mark R","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5316},"geometry":null},{"type":"Feature","id":5317,"properties":{"Name":"Mullis,Robert B","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5317},"geometry":null},{"type":"Feature","id":5318,"properties":{"Name":"Nabb,Evan Gregory","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5318},"geometry":null},{"type":"Feature","id":5319,"properties":{"Name":"Navratil,Erin C","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5319},"geometry":null},{"type":"Feature","id":5320,"properties":{"Name":"Newcomb,Joseph G","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$72,840.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5320},"geometry":null},{"type":"Feature","id":5321,"properties":{"Name":"Norton,Darryl S","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5321},"geometry":null},{"type":"Feature","id":5322,"properties":{"Name":"Ormiston,John M","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5322},"geometry":null},{"type":"Feature","id":5323,"properties":{"Name":"OToole,John C","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5323},"geometry":null},{"type":"Feature","id":5324,"properties":{"Name":"Ottelin,Brandon Conrad","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5324},"geometry":null},{"type":"Feature","id":5325,"properties":{"Name":"Overman,Bryan K","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5325},"geometry":null},{"type":"Feature","id":5326,"properties":{"Name":"Page,Jeffrey Blake","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5326},"geometry":null},{"type":"Feature","id":5327,"properties":{"Name":"Patterson,Jelani J","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5327},"geometry":null},{"type":"Feature","id":5328,"properties":{"Name":"Peden,Luke Nicholas","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5328},"geometry":null},{"type":"Feature","id":5329,"properties":{"Name":"Pellicone,Ryan Anthony","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5329},"geometry":null},{"type":"Feature","id":5330,"properties":{"Name":"Pietrus,Kevin Daniel","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5330},"geometry":null},{"type":"Feature","id":5331,"properties":{"Name":"Pupo,Rodrigo E.","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5331},"geometry":null},{"type":"Feature","id":5332,"properties":{"Name":"Reagan,Michael F","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5332},"geometry":null},{"type":"Feature","id":5333,"properties":{"Name":"Redelfs,Erik H","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$59,218.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5333},"geometry":null},{"type":"Feature","id":5334,"properties":{"Name":"Redford,Daniel C","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,493.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5334},"geometry":null},{"type":"Feature","id":5335,"properties":{"Name":"Relic,Matthew P","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5335},"geometry":null},{"type":"Feature","id":5336,"properties":{"Name":"Richardson,Larry Lane","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$60,593.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5336},"geometry":null},{"type":"Feature","id":5337,"properties":{"Name":"Ro,Young Jin","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5337},"geometry":null},{"type":"Feature","id":5338,"properties":{"Name":"Roberts,Claybourne Lee","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5338},"geometry":null},{"type":"Feature","id":5339,"properties":{"Name":"Rosenberger,Daniel Tilton","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$45,188.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5339},"geometry":null},{"type":"Feature","id":5340,"properties":{"Name":"Roth,Wayne Allen","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$56,771.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5340},"geometry":null},{"type":"Feature","id":5341,"properties":{"Name":"Salman,Joshua","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5341},"geometry":null},{"type":"Feature","id":5342,"properties":{"Name":"Schroder,Daniel Elliott","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5342},"geometry":null},{"type":"Feature","id":5343,"properties":{"Name":"Vincent,Nicholas E","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5343},"geometry":null},{"type":"Feature","id":5344,"properties":{"Name":"Way,Keith A","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5344},"geometry":null},{"type":"Feature","id":5345,"properties":{"Name":"Weston,Damon Forbes","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5345},"geometry":null},{"type":"Feature","id":5346,"properties":{"Name":"Williams,Chandos H","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5346},"geometry":null},{"type":"Feature","id":5347,"properties":{"Name":"Williams,Gregory R","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5347},"geometry":null},{"type":"Feature","id":5348,"properties":{"Name":"Wilson,Joseph B","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5348},"geometry":null},{"type":"Feature","id":5349,"properties":{"Name":"Ojaniit,Jeffrey J","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Response Area Commander","Annual_Rt":"$86,981.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5349},"geometry":null},{"type":"Feature","id":5350,"properties":{"Name":"Booth,John W","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5350},"geometry":null},{"type":"Feature","id":5351,"properties":{"Name":"Castillo,Daniel T","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Sergeant","Annual_Rt":"$85,355.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5351},"geometry":null},{"type":"Feature","id":5352,"properties":{"Name":"Christenbery,Stephen D","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5352},"geometry":null},{"type":"Feature","id":5353,"properties":{"Name":"Fey,Robert P","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5353},"geometry":null},{"type":"Feature","id":5354,"properties":{"Name":"Helton,Jason B","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5354},"geometry":null},{"type":"Feature","id":5355,"properties":{"Name":"Hildenbrand,Peter N","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5355},"geometry":null},{"type":"Feature","id":5356,"properties":{"Name":"Malone,Daniel C","Unit":"Police","Dept":"Steele Creek Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5356},"geometry":null},{"type":"Feature","id":5357,"properties":{"Name":"Cook,Kaye F","Unit":"Police","Dept":"Support Services Group - Admin","Job_Title":"Community Relations Manager","Annual_Rt":"$74,269.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5357},"geometry":null},{"type":"Feature","id":5358,"properties":{"Name":"Foster,Veronica D","Unit":"Police","Dept":"Support Services Group - Admin","Job_Title":"Deputy Police Chief","Annual_Rt":"$117,274.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5358},"geometry":null},{"type":"Feature","id":5359,"properties":{"Name":"Butler,Ryan M.","Unit":"Police","Dept":"Support Services Group - Admin","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5359},"geometry":null},{"type":"Feature","id":5360,"properties":{"Name":"Anselmo,Diego O","Unit":"Police","Dept":"Support Services Group - Admin","Job_Title":"Police Major","Annual_Rt":"$107,762.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5360},"geometry":null},{"type":"Feature","id":5361,"properties":{"Name":"Greene,Dale A","Unit":"Police","Dept":"Support Services Group - Admin","Job_Title":"Police Major","Annual_Rt":"$107,762.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5361},"geometry":null},{"type":"Feature","id":5362,"properties":{"Name":"Jennings,Johnny L","Unit":"Police","Dept":"Support Services Group - Admin","Job_Title":"Police Major","Annual_Rt":"$105,157.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5362},"geometry":null},{"type":"Feature","id":5363,"properties":{"Name":"Zinkann III,Paul J","Unit":"Police","Dept":"Support Services Group - Admin","Job_Title":"Police Major","Annual_Rt":"$105,645.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5363},"geometry":null},{"type":"Feature","id":5364,"properties":{"Name":"Mauldin,Michael T","Unit":"Police","Dept":"SWAT/Alert Team Unit","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5364},"geometry":null},{"type":"Feature","id":5365,"properties":{"Name":"Peterson,Eric B","Unit":"Police","Dept":"SWAT/Alert Team Unit","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5365},"geometry":null},{"type":"Feature","id":5366,"properties":{"Name":"Pharr,Anna G","Unit":"Police","Dept":"Training Division","Job_Title":"Administrative Officer I","Annual_Rt":"$57,083.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5366},"geometry":null},{"type":"Feature","id":5367,"properties":{"Name":"Pilkington,Rachel Hope","Unit":"Police","Dept":"Training Division","Job_Title":"Police Cadet","Annual_Rt":null,"Hrly_Rate":"$9.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":5367},"geometry":null},{"type":"Feature","id":5368,"properties":{"Name":"Faulkner-Welch,Demetria A","Unit":"Police","Dept":"Training Division","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5368},"geometry":null},{"type":"Feature","id":5369,"properties":{"Name":"Briggs,Andre L","Unit":"Police","Dept":"Training Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5369},"geometry":null},{"type":"Feature","id":5370,"properties":{"Name":"Bubans,Sara Golshani","Unit":"Police","Dept":"Training Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5370},"geometry":null},{"type":"Feature","id":5371,"properties":{"Name":"Conn,David A","Unit":"Police","Dept":"Training Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5371},"geometry":null},{"type":"Feature","id":5372,"properties":{"Name":"Dyer,Christopher L","Unit":"Police","Dept":"Training Division","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5372},"geometry":null},{"type":"Feature","id":5373,"properties":{"Name":"Embrey,Wayne Christopher","Unit":"Police","Dept":"Training Division","Job_Title":"Police Officer","Annual_Rt":"$59,115.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5373},"geometry":null},{"type":"Feature","id":5374,"properties":{"Name":"Etter,Billy Jackson","Unit":"Police","Dept":"Training Division","Job_Title":"Police Officer","Annual_Rt":"$59,115.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5374},"geometry":null},{"type":"Feature","id":5375,"properties":{"Name":"Horton,Tommie G","Unit":"Police","Dept":"Training Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5375},"geometry":null},{"type":"Feature","id":5376,"properties":{"Name":"Moore,Kobee R.","Unit":"Police","Dept":"Training Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5376},"geometry":null},{"type":"Feature","id":5377,"properties":{"Name":"Schwartz,Katie Ann","Unit":"Police","Dept":"Training Division","Job_Title":"Police Officer","Annual_Rt":"$54,688.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5377},"geometry":null},{"type":"Feature","id":5378,"properties":{"Name":"Simpson,Brent Matthew","Unit":"Police","Dept":"Training Division","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5378},"geometry":null},{"type":"Feature","id":5379,"properties":{"Name":"Williams Jr,Clarence R","Unit":"Police","Dept":"Training Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5379},"geometry":null},{"type":"Feature","id":5380,"properties":{"Name":"Williams,Maria R.","Unit":"Police","Dept":"Training Division","Job_Title":"Training Specialist","Annual_Rt":"$66,832.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5380},"geometry":null},{"type":"Feature","id":5381,"properties":{"Name":"Conover,Robert P","Unit":"Police","Dept":"Transit Unit","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5381},"geometry":null},{"type":"Feature","id":5382,"properties":{"Name":"Siler,Paul W","Unit":"Police","Dept":"Transit Unit","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5382},"geometry":null},{"type":"Feature","id":5383,"properties":{"Name":"Watkin,Kermit D","Unit":"Police","Dept":"Transit Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5383},"geometry":null},{"type":"Feature","id":5384,"properties":{"Name":"Rappleyea,Charles H","Unit":"Police","Dept":"Transit Unit","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5384},"geometry":null},{"type":"Feature","id":5385,"properties":{"Name":"Garrett,Timothy T","Unit":"Police","Dept":"University City Division","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5385},"geometry":null},{"type":"Feature","id":5386,"properties":{"Name":"Moore,Chenisa Little","Unit":"Police","Dept":"University City Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$38,947.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5386},"geometry":null},{"type":"Feature","id":5387,"properties":{"Name":"Johnson,Dave","Unit":"Police","Dept":"University City Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5387},"geometry":null},{"type":"Feature","id":5388,"properties":{"Name":"Morrison,James F","Unit":"Police","Dept":"University City Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5388},"geometry":null},{"type":"Feature","id":5389,"properties":{"Name":"Whitley,Robert J","Unit":"Police","Dept":"University City Division","Job_Title":"Police Lieutenant","Annual_Rt":"$87,341.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5389},"geometry":null},{"type":"Feature","id":5390,"properties":{"Name":"Allred,Gilbert M","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5390},"geometry":null},{"type":"Feature","id":5391,"properties":{"Name":"Anderson,Tiffany Sue","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5391},"geometry":null},{"type":"Feature","id":5392,"properties":{"Name":"Antley,Darrell D","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5392},"geometry":null},{"type":"Feature","id":5393,"properties":{"Name":"Armstrong Jr,Wayne","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$62,703.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5393},"geometry":null},{"type":"Feature","id":5394,"properties":{"Name":"Armstrong,Jason D","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5394},"geometry":null},{"type":"Feature","id":5395,"properties":{"Name":"Bailey,Alvin B","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$56,771.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5395},"geometry":null},{"type":"Feature","id":5396,"properties":{"Name":"Beam,Richard T","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5396},"geometry":null},{"type":"Feature","id":5397,"properties":{"Name":"Bell,Michael S.","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5397},"geometry":null},{"type":"Feature","id":5398,"properties":{"Name":"Blaich,Matthew W","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5398},"geometry":null},{"type":"Feature","id":5399,"properties":{"Name":"Bowlin,Derrick Ray","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5399},"geometry":null},{"type":"Feature","id":5400,"properties":{"Name":"Brown,Coty Carlton","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5400},"geometry":null},{"type":"Feature","id":5401,"properties":{"Name":"Chandler,Marshall Allen","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5401},"geometry":null},{"type":"Feature","id":5402,"properties":{"Name":"Chapman,Henry G.","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5402},"geometry":null},{"type":"Feature","id":5403,"properties":{"Name":"Christy,Jessica Nicole","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5403},"geometry":null},{"type":"Feature","id":5404,"properties":{"Name":"Church,Catherine P","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5404},"geometry":null},{"type":"Feature","id":5405,"properties":{"Name":"Clark,Nicholas James","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5405},"geometry":null},{"type":"Feature","id":5406,"properties":{"Name":"Davis,Todd W","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5406},"geometry":null},{"type":"Feature","id":5407,"properties":{"Name":"Dawson Jr,Jerry","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5407},"geometry":null},{"type":"Feature","id":5408,"properties":{"Name":"Deal,Michael R","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5408},"geometry":null},{"type":"Feature","id":5409,"properties":{"Name":"Dodd,Krista Lee","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5409},"geometry":null},{"type":"Feature","id":5410,"properties":{"Name":"Duncan,Justin Tyler","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5410},"geometry":null},{"type":"Feature","id":5411,"properties":{"Name":"Farewell,Pamela E","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$67,833.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5411},"geometry":null},{"type":"Feature","id":5412,"properties":{"Name":"Farmer,Mark R","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5412},"geometry":null},{"type":"Feature","id":5413,"properties":{"Name":"Figaro,Crystal Fletcher","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5413},"geometry":null},{"type":"Feature","id":5414,"properties":{"Name":"Gale III,George T","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5414},"geometry":null},{"type":"Feature","id":5415,"properties":{"Name":"Galmon,Drexel S","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$72,840.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5415},"geometry":null},{"type":"Feature","id":5416,"properties":{"Name":"Gould,Nathan J.","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5416},"geometry":null},{"type":"Feature","id":5417,"properties":{"Name":"Greenlees,Andrew James","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5417},"geometry":null},{"type":"Feature","id":5418,"properties":{"Name":"Griffin,Michael A","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$47,555.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5418},"geometry":null},{"type":"Feature","id":5419,"properties":{"Name":"Hann,Benjamin David","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5419},"geometry":null},{"type":"Feature","id":5420,"properties":{"Name":"Harrington,Brendan Dooley","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5420},"geometry":null},{"type":"Feature","id":5421,"properties":{"Name":"Homan,Michael J.","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5421},"geometry":null},{"type":"Feature","id":5422,"properties":{"Name":"Horner,Matthew Philipp","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5422},"geometry":null},{"type":"Feature","id":5423,"properties":{"Name":"Hosea,James Anthony","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5423},"geometry":null},{"type":"Feature","id":5424,"properties":{"Name":"Houston,William S","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$52,933.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5424},"geometry":null},{"type":"Feature","id":5425,"properties":{"Name":"Hudson Jr,George H","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5425},"geometry":null},{"type":"Feature","id":5426,"properties":{"Name":"Huffman,Robert F","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5426},"geometry":null},{"type":"Feature","id":5427,"properties":{"Name":"Hurlocker Jr,John L","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5427},"geometry":null},{"type":"Feature","id":5428,"properties":{"Name":"Isaacs,Franklin D","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5428},"geometry":null},{"type":"Feature","id":5429,"properties":{"Name":"Jadlocki,Mark A","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5429},"geometry":null},{"type":"Feature","id":5430,"properties":{"Name":"Jenkins,Reginald Matthew","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$46,600.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5430},"geometry":null},{"type":"Feature","id":5431,"properties":{"Name":"John,Gideon Simeon","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$56,771.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5431},"geometry":null},{"type":"Feature","id":5432,"properties":{"Name":"Joseph,Samantha Christy","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$46,600.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5432},"geometry":null},{"type":"Feature","id":5433,"properties":{"Name":"Kimbell,Heidi P","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5433},"geometry":null},{"type":"Feature","id":5434,"properties":{"Name":"Kopp,Christopher Paul","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5434},"geometry":null},{"type":"Feature","id":5435,"properties":{"Name":"Kossick,Michael J","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$65,838.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5435},"geometry":null},{"type":"Feature","id":5436,"properties":{"Name":"Kulp Jr,Jackie E.","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5436},"geometry":null},{"type":"Feature","id":5437,"properties":{"Name":"Lee,Anthony E","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$67,291.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5437},"geometry":null},{"type":"Feature","id":5438,"properties":{"Name":"Lewis,Justin Evans","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5438},"geometry":null},{"type":"Feature","id":5439,"properties":{"Name":"Mahaley Jr,Clifford Eugene","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5439},"geometry":null},{"type":"Feature","id":5440,"properties":{"Name":"Maldonado Gonzalez,Luis F.","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$58,191.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5440},"geometry":null},{"type":"Feature","id":5441,"properties":{"Name":"Markley,Eric J","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5441},"geometry":null},{"type":"Feature","id":5442,"properties":{"Name":"Markus,Erik G","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5442},"geometry":null},{"type":"Feature","id":5443,"properties":{"Name":"Mauldin,Chad A","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5443},"geometry":null},{"type":"Feature","id":5444,"properties":{"Name":"McGovney,Scott M","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5444},"geometry":null},{"type":"Feature","id":5445,"properties":{"Name":"McKinney,Harlon D","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5445},"geometry":null},{"type":"Feature","id":5446,"properties":{"Name":"Mullis,Jonathan","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5446},"geometry":null},{"type":"Feature","id":5447,"properties":{"Name":"Nelson,Laura L.","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5447},"geometry":null},{"type":"Feature","id":5448,"properties":{"Name":"Pagan,Christopher Anibal","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5448},"geometry":null},{"type":"Feature","id":5449,"properties":{"Name":"Paige III,Frederick Roosevelt","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5449},"geometry":null},{"type":"Feature","id":5450,"properties":{"Name":"Partridge,Aaron J","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5450},"geometry":null},{"type":"Feature","id":5451,"properties":{"Name":"Payne,Anthony L","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5451},"geometry":null},{"type":"Feature","id":5452,"properties":{"Name":"Peetz,Jason Eric","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5452},"geometry":null},{"type":"Feature","id":5453,"properties":{"Name":"Peterson,Hassan Samuel","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5453},"geometry":null},{"type":"Feature","id":5454,"properties":{"Name":"Phelps,Robert C","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5454},"geometry":null},{"type":"Feature","id":5455,"properties":{"Name":"Phillips,Daniel T","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5455},"geometry":null},{"type":"Feature","id":5456,"properties":{"Name":"Pryor Jr,Joseph A","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5456},"geometry":null},{"type":"Feature","id":5457,"properties":{"Name":"Rex,Kurt Douglas","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5457},"geometry":null},{"type":"Feature","id":5458,"properties":{"Name":"Riggins,Billy J","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5458},"geometry":null},{"type":"Feature","id":5459,"properties":{"Name":"Rivera,Valencia K","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5459},"geometry":null},{"type":"Feature","id":5460,"properties":{"Name":"Robinson,Jarrett Miles Cash","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5460},"geometry":null},{"type":"Feature","id":5461,"properties":{"Name":"Rogers,Heath Wayne","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5461},"geometry":null},{"type":"Feature","id":5462,"properties":{"Name":"Rorie,Christopher A","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5462},"geometry":null},{"type":"Feature","id":5463,"properties":{"Name":"Ross,David A","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5463},"geometry":null},{"type":"Feature","id":5464,"properties":{"Name":"Rost,Gene E","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5464},"geometry":null},{"type":"Feature","id":5465,"properties":{"Name":"Ruff II,Tyrone M","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$52,933.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5465},"geometry":null},{"type":"Feature","id":5466,"properties":{"Name":"Ryerson,Eric D.","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$67,638.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5466},"geometry":null},{"type":"Feature","id":5467,"properties":{"Name":"Savage,Leo J","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5467},"geometry":null},{"type":"Feature","id":5468,"properties":{"Name":"Scanlon,Seann P","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$62,665.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5468},"geometry":null},{"type":"Feature","id":5469,"properties":{"Name":"Schneider,Eric Paul","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5469},"geometry":null},{"type":"Feature","id":5470,"properties":{"Name":"Schultz,Kirk L","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5470},"geometry":null},{"type":"Feature","id":5471,"properties":{"Name":"Shields Jr,Jerry E","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5471},"geometry":null},{"type":"Feature","id":5472,"properties":{"Name":"Shields,Ryan E","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5472},"geometry":null},{"type":"Feature","id":5473,"properties":{"Name":"Simmons,John W","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5473},"geometry":null},{"type":"Feature","id":5474,"properties":{"Name":"Sitko,Todd W.","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$65,649.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5474},"geometry":null},{"type":"Feature","id":5475,"properties":{"Name":"Smith,Rick Tanaw","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5475},"geometry":null},{"type":"Feature","id":5476,"properties":{"Name":"Stanze,Brent A","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5476},"geometry":null},{"type":"Feature","id":5477,"properties":{"Name":"Suddreth,Michael L","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5477},"geometry":null},{"type":"Feature","id":5478,"properties":{"Name":"Suhr III,Henry Christopher","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5478},"geometry":null},{"type":"Feature","id":5479,"properties":{"Name":"Taylor,Darryl K","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$59,681.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5479},"geometry":null},{"type":"Feature","id":5480,"properties":{"Name":"Tinsley,Alan D","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5480},"geometry":null},{"type":"Feature","id":5481,"properties":{"Name":"Trimnal III,Marion Robert","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5481},"geometry":null},{"type":"Feature","id":5482,"properties":{"Name":"Tryon,Garret Tyler","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$42,364.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5482},"geometry":null},{"type":"Feature","id":5483,"properties":{"Name":"Vang,Dao","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5483},"geometry":null},{"type":"Feature","id":5484,"properties":{"Name":"Vollman,Craig L","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5484},"geometry":null},{"type":"Feature","id":5485,"properties":{"Name":"Wahab,Bradley W","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5485},"geometry":null},{"type":"Feature","id":5486,"properties":{"Name":"Walters,Christopher Gary","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5486},"geometry":null},{"type":"Feature","id":5487,"properties":{"Name":"Webster,Chad A.","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5487},"geometry":null},{"type":"Feature","id":5488,"properties":{"Name":"Williams,Jeffrey D.","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$61,453.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5488},"geometry":null},{"type":"Feature","id":5489,"properties":{"Name":"Wilson Jr,William Jesse","Unit":"Police","Dept":"University City Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5489},"geometry":null},{"type":"Feature","id":5490,"properties":{"Name":"Caroway,Angela J","Unit":"Police","Dept":"University City Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5490},"geometry":null},{"type":"Feature","id":5491,"properties":{"Name":"Gerald,Terrance S","Unit":"Police","Dept":"University City Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5491},"geometry":null},{"type":"Feature","id":5492,"properties":{"Name":"Hofert,Brian W","Unit":"Police","Dept":"University City Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5492},"geometry":null},{"type":"Feature","id":5493,"properties":{"Name":"Kraeger,Andrew S","Unit":"Police","Dept":"University City Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5493},"geometry":null},{"type":"Feature","id":5494,"properties":{"Name":"Millett Jr,Alfred B","Unit":"Police","Dept":"University City Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5494},"geometry":null},{"type":"Feature","id":5495,"properties":{"Name":"Rendon,Jesus Manuel","Unit":"Police","Dept":"University City Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,374.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5495},"geometry":null},{"type":"Feature","id":5496,"properties":{"Name":"Sweatt,Scott N","Unit":"Police","Dept":"University City Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5496},"geometry":null},{"type":"Feature","id":5497,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5497},"geometry":null},{"type":"Feature","id":5498,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Officer","Annual_Rt":"$55,084.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5498},"geometry":null},{"type":"Feature","id":5499,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5499},"geometry":null},{"type":"Feature","id":5500,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5500},"geometry":null},{"type":"Feature","id":5501,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5501},"geometry":null},{"type":"Feature","id":5502,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5502},"geometry":null},{"type":"Feature","id":5503,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5503},"geometry":null},{"type":"Feature","id":5504,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Officer","Annual_Rt":"$56,643.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5504},"geometry":null},{"type":"Feature","id":5505,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5505},"geometry":null},{"type":"Feature","id":5506,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5506},"geometry":null},{"type":"Feature","id":5507,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5507},"geometry":null},{"type":"Feature","id":5508,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5508},"geometry":null},{"type":"Feature","id":5509,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5509},"geometry":null},{"type":"Feature","id":5510,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5510},"geometry":null},{"type":"Feature","id":5511,"properties":{"Name":null,"Unit":"Police","Dept":"VCAT Unit","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5511},"geometry":null},{"type":"Feature","id":5512,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Office Assistant IV","Annual_Rt":"$32,162.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5512},"geometry":null},{"type":"Feature","id":5513,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Captain","Annual_Rt":"$96,853.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5513},"geometry":null},{"type":"Feature","id":5514,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$34,685.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5514},"geometry":null},{"type":"Feature","id":5515,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5515},"geometry":null},{"type":"Feature","id":5516,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5516},"geometry":null},{"type":"Feature","id":5517,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$55,084.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5517},"geometry":null},{"type":"Feature","id":5518,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5518},"geometry":null},{"type":"Feature","id":5519,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5519},"geometry":null},{"type":"Feature","id":5520,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5520},"geometry":null},{"type":"Feature","id":5521,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5521},"geometry":null},{"type":"Feature","id":5522,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5522},"geometry":null},{"type":"Feature","id":5523,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5523},"geometry":null},{"type":"Feature","id":5524,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5524},"geometry":null},{"type":"Feature","id":5525,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5525},"geometry":null},{"type":"Feature","id":5526,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5526},"geometry":null},{"type":"Feature","id":5527,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5527},"geometry":null},{"type":"Feature","id":5528,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5528},"geometry":null},{"type":"Feature","id":5529,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5529},"geometry":null},{"type":"Feature","id":5530,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5530},"geometry":null},{"type":"Feature","id":5531,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$47,555.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5531},"geometry":null},{"type":"Feature","id":5532,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5532},"geometry":null},{"type":"Feature","id":5533,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5533},"geometry":null},{"type":"Feature","id":5534,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$60,766.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5534},"geometry":null},{"type":"Feature","id":5535,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5535},"geometry":null},{"type":"Feature","id":5536,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5536},"geometry":null},{"type":"Feature","id":5537,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$60,766.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5537},"geometry":null},{"type":"Feature","id":5538,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5538},"geometry":null},{"type":"Feature","id":5539,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,218.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5539},"geometry":null},{"type":"Feature","id":5540,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$57,872.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5540},"geometry":null},{"type":"Feature","id":5541,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5541},"geometry":null},{"type":"Feature","id":5542,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5542},"geometry":null},{"type":"Feature","id":5543,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5543},"geometry":null},{"type":"Feature","id":5544,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5544},"geometry":null},{"type":"Feature","id":5545,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5545},"geometry":null},{"type":"Feature","id":5546,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5546},"geometry":null},{"type":"Feature","id":5547,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5547},"geometry":null},{"type":"Feature","id":5548,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5548},"geometry":null},{"type":"Feature","id":5549,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5549},"geometry":null},{"type":"Feature","id":5550,"properties":{"Name":null,"Unit":"Police","Dept":"Vice / Narcotics Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5550},"geometry":null},{"type":"Feature","id":5551,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Administrative Officer I","Annual_Rt":null,"Hrly_Rate":"$19.62 ","RegTemp":"T","Full/Part":"F","OBJECTID":5551},"geometry":null},{"type":"Feature","id":5552,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Office Assistant IV","Annual_Rt":null,"Hrly_Rate":"$17.26 ","RegTemp":"T","Full/Part":"P","OBJECTID":5552},"geometry":null},{"type":"Feature","id":5553,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Office Assistant IV","Annual_Rt":null,"Hrly_Rate":"$18.28 ","RegTemp":"T","Full/Part":"P","OBJECTID":5553},"geometry":null},{"type":"Feature","id":5554,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Office Assistant IV","Annual_Rt":"$37,585.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5554},"geometry":null},{"type":"Feature","id":5555,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Office Assistant IV","Annual_Rt":"$34,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5555},"geometry":null},{"type":"Feature","id":5556,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5556},"geometry":null},{"type":"Feature","id":5557,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$44,070.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5557},"geometry":null},{"type":"Feature","id":5558,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$40,454.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5558},"geometry":null},{"type":"Feature","id":5559,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5559},"geometry":null},{"type":"Feature","id":5560,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5560},"geometry":null},{"type":"Feature","id":5561,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5561},"geometry":null},{"type":"Feature","id":5562,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$66,553.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5562},"geometry":null},{"type":"Feature","id":5563,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":5563},"geometry":null},{"type":"Feature","id":5564,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5564},"geometry":null},{"type":"Feature","id":5565,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$60,803.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5565},"geometry":null},{"type":"Feature","id":5566,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$55,051.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5566},"geometry":null},{"type":"Feature","id":5567,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5567},"geometry":null},{"type":"Feature","id":5568,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5568},"geometry":null},{"type":"Feature","id":5569,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$63,660.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5569},"geometry":null},{"type":"Feature","id":5570,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5570},"geometry":null},{"type":"Feature","id":5571,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5571},"geometry":null},{"type":"Feature","id":5572,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$59,115.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5572},"geometry":null},{"type":"Feature","id":5573,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5573},"geometry":null},{"type":"Feature","id":5574,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5574},"geometry":null},{"type":"Feature","id":5575,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5575},"geometry":null},{"type":"Feature","id":5576,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5576},"geometry":null},{"type":"Feature","id":5577,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5577},"geometry":null},{"type":"Feature","id":5578,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$60,593.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5578},"geometry":null},{"type":"Feature","id":5579,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5579},"geometry":null},{"type":"Feature","id":5580,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5580},"geometry":null},{"type":"Feature","id":5581,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5581},"geometry":null},{"type":"Feature","id":5582,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5582},"geometry":null},{"type":"Feature","id":5583,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$57,673.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5583},"geometry":null},{"type":"Feature","id":5584,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$52,084.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5584},"geometry":null},{"type":"Feature","id":5585,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$71,671.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5585},"geometry":null},{"type":"Feature","id":5586,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5586},"geometry":null},{"type":"Feature","id":5587,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$66,883.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5587},"geometry":null},{"type":"Feature","id":5588,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5588},"geometry":null},{"type":"Feature","id":5589,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5589},"geometry":null},{"type":"Feature","id":5590,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$60,766.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5590},"geometry":null},{"type":"Feature","id":5591,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":null,"Hrly_Rate":"$27.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":5591},"geometry":null},{"type":"Feature","id":5592,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5592},"geometry":null},{"type":"Feature","id":5593,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5593},"geometry":null},{"type":"Feature","id":5594,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5594},"geometry":null},{"type":"Feature","id":5595,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5595},"geometry":null},{"type":"Feature","id":5596,"properties":{"Name":null,"Unit":"Police","Dept":"Violent Crime Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5596},"geometry":null},{"type":"Feature","id":5597,"properties":{"Name":"Smith,Gerald M","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Captain","Annual_Rt":"$93,324.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5597},"geometry":null},{"type":"Feature","id":5598,"properties":{"Name":"Black,Gina V","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Investigation Tech","Annual_Rt":"$37,857.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5598},"geometry":null},{"type":"Feature","id":5599,"properties":{"Name":"Barron,Michael E","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Lieutenant","Annual_Rt":"$87,341.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5599},"geometry":null},{"type":"Feature","id":5600,"properties":{"Name":"Gwaltney,Thomas A","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Lieutenant","Annual_Rt":"$89,088.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5600},"geometry":null},{"type":"Feature","id":5601,"properties":{"Name":"Mitchell,Terrence S","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Lieutenant","Annual_Rt":"$87,341.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5601},"geometry":null},{"type":"Feature","id":5602,"properties":{"Name":"Albanese,Carl A","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$45,290.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5602},"geometry":null},{"type":"Feature","id":5603,"properties":{"Name":"Albanese,Cliff A","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5603},"geometry":null},{"type":"Feature","id":5604,"properties":{"Name":"Barnette Jr,George M","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5604},"geometry":null},{"type":"Feature","id":5605,"properties":{"Name":"Beamer,William Cole","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$54,926.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5605},"geometry":null},{"type":"Feature","id":5606,"properties":{"Name":"Blackwell,Michael Julian","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5606},"geometry":null},{"type":"Feature","id":5607,"properties":{"Name":"Blakeney,Quentin Lamar","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$62,486.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5607},"geometry":null},{"type":"Feature","id":5608,"properties":{"Name":"Brigham,Lesha Nicole","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5608},"geometry":null},{"type":"Feature","id":5609,"properties":{"Name":"Capotosta,Anthony James","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,154.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5609},"geometry":null},{"type":"Feature","id":5610,"properties":{"Name":"Cochran,Michael C","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5610},"geometry":null},{"type":"Feature","id":5611,"properties":{"Name":"Cominsky,Alexander Robert","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5611},"geometry":null},{"type":"Feature","id":5612,"properties":{"Name":"Conn,Richard V","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5612},"geometry":null},{"type":"Feature","id":5613,"properties":{"Name":"Coronel,Ricardo Alberto","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5613},"geometry":null},{"type":"Feature","id":5614,"properties":{"Name":"Costner,Matthew C","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5614},"geometry":null},{"type":"Feature","id":5615,"properties":{"Name":"Crisafulli,Evan Patrick","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5615},"geometry":null},{"type":"Feature","id":5616,"properties":{"Name":"Crosby Jr,James J","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5616},"geometry":null},{"type":"Feature","id":5617,"properties":{"Name":"Dashti,Mike","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5617},"geometry":null},{"type":"Feature","id":5618,"properties":{"Name":"Decker,David Michael","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5618},"geometry":null},{"type":"Feature","id":5619,"properties":{"Name":"Delano,Francine Louise","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,493.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5619},"geometry":null},{"type":"Feature","id":5620,"properties":{"Name":"Donaldson,Jeremy Brian","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5620},"geometry":null},{"type":"Feature","id":5621,"properties":{"Name":"Dunston,Gregory L.","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5621},"geometry":null},{"type":"Feature","id":5622,"properties":{"Name":"Faulkner,David G","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5622},"geometry":null},{"type":"Feature","id":5623,"properties":{"Name":"Forbes,Michael A","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5623},"geometry":null},{"type":"Feature","id":5624,"properties":{"Name":"Gay,Randall S","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5624},"geometry":null},{"type":"Feature","id":5625,"properties":{"Name":"Gibbons,Joshua Walter","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5625},"geometry":null},{"type":"Feature","id":5626,"properties":{"Name":"Grier,Jason Everett","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5626},"geometry":null},{"type":"Feature","id":5627,"properties":{"Name":"Hairston,Patrick C","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5627},"geometry":null},{"type":"Feature","id":5628,"properties":{"Name":"Hall,Christopher A","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5628},"geometry":null},{"type":"Feature","id":5629,"properties":{"Name":"Hardenbrook,Nathan Paul","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5629},"geometry":null},{"type":"Feature","id":5630,"properties":{"Name":"Harkey,Jody R","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$54,068.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5630},"geometry":null},{"type":"Feature","id":5631,"properties":{"Name":"Hartung,Christopher J","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5631},"geometry":null},{"type":"Feature","id":5632,"properties":{"Name":"Haulsee Jr,David Monroe","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$52,311.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5632},"geometry":null},{"type":"Feature","id":5633,"properties":{"Name":"Havens,Kathleen Flynn","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5633},"geometry":null},{"type":"Feature","id":5634,"properties":{"Name":"Hefner,Mark A.","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5634},"geometry":null},{"type":"Feature","id":5635,"properties":{"Name":"Helms,Janice M","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5635},"geometry":null},{"type":"Feature","id":5636,"properties":{"Name":"Herron,Eric C","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5636},"geometry":null},{"type":"Feature","id":5637,"properties":{"Name":"Howell,Patrick B","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5637},"geometry":null},{"type":"Feature","id":5638,"properties":{"Name":"Jean-Jumeau,Reney","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$56,461.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5638},"geometry":null},{"type":"Feature","id":5639,"properties":{"Name":"Johnson,Craig N","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5639},"geometry":null},{"type":"Feature","id":5640,"properties":{"Name":"Kiefer,Timothy R","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,493.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5640},"geometry":null},{"type":"Feature","id":5641,"properties":{"Name":"Koonce Marrero,David","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$52,430.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5641},"geometry":null},{"type":"Feature","id":5642,"properties":{"Name":"Lopez Quintero,Luis Antonio","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$53,712.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5642},"geometry":null},{"type":"Feature","id":5643,"properties":{"Name":"Lopez,Jessica Frank","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5643},"geometry":null},{"type":"Feature","id":5644,"properties":{"Name":"Lyon,Christopher E","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5644},"geometry":null},{"type":"Feature","id":5645,"properties":{"Name":"Mark,Edward P","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5645},"geometry":null},{"type":"Feature","id":5646,"properties":{"Name":"McCarty,James A","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5646},"geometry":null},{"type":"Feature","id":5647,"properties":{"Name":"McClain,Dennis E","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$68,973.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5647},"geometry":null},{"type":"Feature","id":5648,"properties":{"Name":"McGarity,Thomas S","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5648},"geometry":null},{"type":"Feature","id":5649,"properties":{"Name":"Mitchell,Wesley T","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5649},"geometry":null},{"type":"Feature","id":5650,"properties":{"Name":"Mohammad,Shabeer","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$53,740.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5650},"geometry":null},{"type":"Feature","id":5651,"properties":{"Name":"Molles,Daniel J","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5651},"geometry":null},{"type":"Feature","id":5652,"properties":{"Name":"Montgomery,Matthew P","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5652},"geometry":null},{"type":"Feature","id":5653,"properties":{"Name":"Morell,Robert M","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$65,439.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5653},"geometry":null},{"type":"Feature","id":5654,"properties":{"Name":"Morgan Jr,Michael Roberts","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5654},"geometry":null},{"type":"Feature","id":5655,"properties":{"Name":"Neely,Darran E","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5655},"geometry":null},{"type":"Feature","id":5656,"properties":{"Name":"Neely,Regina Y","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5656},"geometry":null},{"type":"Feature","id":5657,"properties":{"Name":"Nelson,Eric Archer","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5657},"geometry":null},{"type":"Feature","id":5658,"properties":{"Name":"Newton,Amy Rebecca","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$62,486.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5658},"geometry":null},{"type":"Feature","id":5659,"properties":{"Name":"Oelze,Daniela Corine","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$58,226.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5659},"geometry":null},{"type":"Feature","id":5660,"properties":{"Name":"Owens,William A","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5660},"geometry":null},{"type":"Feature","id":5661,"properties":{"Name":"Payne III,Orville Edward","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5661},"geometry":null},{"type":"Feature","id":5662,"properties":{"Name":"Peterson,Gary F","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5662},"geometry":null},{"type":"Feature","id":5663,"properties":{"Name":"Pfeiffer,William Stephen","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5663},"geometry":null},{"type":"Feature","id":5664,"properties":{"Name":"Post,Tammy L","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$63,843.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5664},"geometry":null},{"type":"Feature","id":5665,"properties":{"Name":"Price,Justin Elliott","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5665},"geometry":null},{"type":"Feature","id":5666,"properties":{"Name":"Quinichett III,Paul Otis","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$44,482.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5666},"geometry":null},{"type":"Feature","id":5667,"properties":{"Name":"Raby,Joseph A","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5667},"geometry":null},{"type":"Feature","id":5668,"properties":{"Name":"Regan,Michael Troy","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5668},"geometry":null},{"type":"Feature","id":5669,"properties":{"Name":"Roddey,Toriarno M","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$72,840.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5669},"geometry":null},{"type":"Feature","id":5670,"properties":{"Name":"Rodriguez,Josue Rafael","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$42,364.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5670},"geometry":null},{"type":"Feature","id":5671,"properties":{"Name":"Roman,Eric","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$49,041.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5671},"geometry":null},{"type":"Feature","id":5672,"properties":{"Name":"Rubino,Jesse","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5672},"geometry":null},{"type":"Feature","id":5673,"properties":{"Name":"Sardo,Michael A","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5673},"geometry":null},{"type":"Feature","id":5674,"properties":{"Name":"Selogy,Steven A","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$62,323.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5674},"geometry":null},{"type":"Feature","id":5675,"properties":{"Name":"Shumate,Martin K","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$68,555.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5675},"geometry":null},{"type":"Feature","id":5676,"properties":{"Name":"Skelly,Kristopher M","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$56,771.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5676},"geometry":null},{"type":"Feature","id":5677,"properties":{"Name":"Smart,Davon Kendell","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5677},"geometry":null},{"type":"Feature","id":5678,"properties":{"Name":"Snyder,Timothy M","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$73,911.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5678},"geometry":null},{"type":"Feature","id":5679,"properties":{"Name":"Sobol,Spencer Lawson","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5679},"geometry":null},{"type":"Feature","id":5680,"properties":{"Name":"Stinson,Sabrina Y","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5680},"geometry":null},{"type":"Feature","id":5681,"properties":{"Name":"Studney,Andrew Gregory","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$48,930.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5681},"geometry":null},{"type":"Feature","id":5682,"properties":{"Name":"Taylor II,Melvin Johnson","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5682},"geometry":null},{"type":"Feature","id":5683,"properties":{"Name":"Thomas Jr,Fredrick Ross","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$46,706.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5683},"geometry":null},{"type":"Feature","id":5684,"properties":{"Name":"Townsend,Korey L","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$52,933.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5684},"geometry":null},{"type":"Feature","id":5685,"properties":{"Name":"Urrutia,Christopher J.","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,493.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5685},"geometry":null},{"type":"Feature","id":5686,"properties":{"Name":"Walker,Jason D","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$59,475.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5686},"geometry":null},{"type":"Feature","id":5687,"properties":{"Name":"West,Alan L","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$64,270.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5687},"geometry":null},{"type":"Feature","id":5688,"properties":{"Name":"Whitlock,Michael D","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5688},"geometry":null},{"type":"Feature","id":5689,"properties":{"Name":"Whitner,Jared R","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$53,945.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5689},"geometry":null},{"type":"Feature","id":5690,"properties":{"Name":"Wiatrowski,Scott A","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$67,484.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5690},"geometry":null},{"type":"Feature","id":5691,"properties":{"Name":"Williams,Kendric Lemar","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5691},"geometry":null},{"type":"Feature","id":5692,"properties":{"Name":"Womble,Michael W","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5692},"geometry":null},{"type":"Feature","id":5693,"properties":{"Name":"Worthy,Andrew J","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Officer","Annual_Rt":"$51,376.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5693},"geometry":null},{"type":"Feature","id":5694,"properties":{"Name":"Abbondanza,Michael A.","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5694},"geometry":null},{"type":"Feature","id":5695,"properties":{"Name":"Cherry,Lydia","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5695},"geometry":null},{"type":"Feature","id":5696,"properties":{"Name":"Martin,Keith S","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Sergeant","Annual_Rt":"$77,420.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5696},"geometry":null},{"type":"Feature","id":5697,"properties":{"Name":"McWhirter,Johnny A","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Sergeant","Annual_Rt":"$81,291.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5697},"geometry":null},{"type":"Feature","id":5698,"properties":{"Name":"Pogue,Dondi J","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Sergeant","Annual_Rt":"$75,531.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5698},"geometry":null},{"type":"Feature","id":5699,"properties":{"Name":"Sullivan,Michael K","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5699},"geometry":null},{"type":"Feature","id":5700,"properties":{"Name":"Sussman,David Michael","Unit":"Police","Dept":"Westover Division","Job_Title":"Police Sergeant","Annual_Rt":"$73,689.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5700},"geometry":null},{"type":"Feature","id":5701,"properties":{"Name":"Bogues Jr,Anthony","Unit":"Police","Dept":"Youth Programs","Job_Title":"Police Officer","Annual_Rt":"$49,820.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5701},"geometry":null},{"type":"Feature","id":5702,"properties":{"Name":"Gilmore,Reginald A","Unit":"Police","Dept":"Youth Programs","Job_Title":"Police Officer","Annual_Rt":"$70,697.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5702},"geometry":null},{"type":"Feature","id":5703,"properties":{"Name":"Cohen,Robert P","Unit":"Police","Dept":"Youth Programs","Job_Title":"Recreation Specialist","Annual_Rt":"$38,558.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5703},"geometry":null},{"type":"Feature","id":5704,"properties":{"Name":"Austell Jr,Dan W","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Administrative Officer I","Annual_Rt":"$53,580.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5704},"geometry":null},{"type":"Feature","id":5705,"properties":{"Name":"Brown,Alisha Monique","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Administrative Officer I","Annual_Rt":"$42,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5705},"geometry":null},{"type":"Feature","id":5706,"properties":{"Name":"Cotton,Rashawnda L","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Administrative Officer I","Annual_Rt":"$45,228.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5706},"geometry":null},{"type":"Feature","id":5707,"properties":{"Name":"Perrott,Michael","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Administrative Officer I","Annual_Rt":"$43,260.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5707},"geometry":null},{"type":"Feature","id":5708,"properties":{"Name":"Brown,Jacqueline Y D","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Administrative Officer II","Annual_Rt":"$52,561.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5708},"geometry":null},{"type":"Feature","id":5709,"properties":{"Name":"Carew,Tiffany C.","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Administrative Officer III","Annual_Rt":"$58,134.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5709},"geometry":null},{"type":"Feature","id":5710,"properties":{"Name":"Piasecki,Amanda Lee","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Administrative Officer III","Annual_Rt":"$59,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5710},"geometry":null},{"type":"Feature","id":5711,"properties":{"Name":"Taylor,Robert B.","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Administrative Officer IV","Annual_Rt":"$80,010.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5711},"geometry":null},{"type":"Feature","id":5712,"properties":{"Name":"Harris,Marie W","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Deputy Shared Service Director","Annual_Rt":"$138,936.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5712},"geometry":null},{"type":"Feature","id":5713,"properties":{"Name":"Ho,Leai K.","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Management Analyst","Annual_Rt":"$64,633.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5713},"geometry":null},{"type":"Feature","id":5714,"properties":{"Name":"Currie,Brittany Diane","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Office Assistant V","Annual_Rt":"$40,485.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5714},"geometry":null},{"type":"Feature","id":5715,"properties":{"Name":"Wright,Joyce C","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Office Assistant V","Annual_Rt":"$39,430.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5715},"geometry":null},{"type":"Feature","id":5716,"properties":{"Name":"Colon,Sabrina S","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$57,600.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5716},"geometry":null},{"type":"Feature","id":5717,"properties":{"Name":"Dennis,Maria Kay","Unit":"Shared Services","Dept":"Admin & Resource Managemnt","Job_Title":"Shared Services Rsrc Div Mgr","Annual_Rt":"$109,246.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5717},"geometry":null},{"type":"Feature","id":5718,"properties":{"Name":"Ingle,Christopher Delane","Unit":"Shared Services","Dept":"Fleet Mgmt-12th Street Shop","Job_Title":"Equipment Shop Supervisor","Annual_Rt":"$58,532.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5718},"geometry":null},{"type":"Feature","id":5719,"properties":{"Name":"Torres Jr,Efrain","Unit":"Shared Services","Dept":"Fleet Mgmt-12th Street Shop","Job_Title":"Light Equipment Srvc Tech Mstr","Annual_Rt":"$53,390.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5719},"geometry":null},{"type":"Feature","id":5720,"properties":{"Name":"Treichel,Lucas C","Unit":"Shared Services","Dept":"Fleet Mgmt-12th Street Shop","Job_Title":"Light Equipment Srvc Tech Mstr","Annual_Rt":"$49,803.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5720},"geometry":null},{"type":"Feature","id":5721,"properties":{"Name":"Adamcik Jr,John Francis","Unit":"Shared Services","Dept":"Fleet Mgmt-12th Street Shop","Job_Title":"Light Equipment Srvc Tech Sr","Annual_Rt":"$47,451.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5721},"geometry":null},{"type":"Feature","id":5722,"properties":{"Name":"Banks,William Wayne","Unit":"Shared Services","Dept":"Fleet Mgmt-12th Street Shop","Job_Title":"Light Equipment Srvc Tech Sr","Annual_Rt":"$46,269.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5722},"geometry":null},{"type":"Feature","id":5723,"properties":{"Name":"Lavender,Clarence","Unit":"Shared Services","Dept":"Fleet Mgmt-12th Street Shop","Job_Title":"Light Equipment Srvc Tech Sr","Annual_Rt":"$40,888.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5723},"geometry":null},{"type":"Feature","id":5724,"properties":{"Name":"McGavis,Bryan Drew","Unit":"Shared Services","Dept":"Fleet Mgmt-12th Street Shop","Job_Title":"Light Equipment Srvc Tech Sr","Annual_Rt":"$45,775.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5724},"geometry":null},{"type":"Feature","id":5725,"properties":{"Name":"Ellis Jr,Benny Joe","Unit":"Shared Services","Dept":"Fleet Mgmt-12th Street Shop","Job_Title":"Service Order Specialist","Annual_Rt":"$39,686.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5725},"geometry":null},{"type":"Feature","id":5726,"properties":{"Name":"Ammons,Mark R","Unit":"Shared Services","Dept":"Fleet Mgmt-Administration","Job_Title":"Administrative Officer II","Annual_Rt":"$50,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5726},"geometry":null},{"type":"Feature","id":5727,"properties":{"Name":"Rockwell,Adam","Unit":"Shared Services","Dept":"Fleet Mgmt-Administration","Job_Title":"Bus System Spec Assc","Annual_Rt":"$49,105.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5727},"geometry":null},{"type":"Feature","id":5728,"properties":{"Name":"Stewart,Marcus G","Unit":"Shared Services","Dept":"Fleet Mgmt-Administration","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$67,154.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5728},"geometry":null},{"type":"Feature","id":5729,"properties":{"Name":"Trull,Charles Christopher","Unit":"Shared Services","Dept":"Fleet Mgmt-Administration","Job_Title":"Equipment Management Div Mgr","Annual_Rt":"$103,583.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5729},"geometry":null},{"type":"Feature","id":5730,"properties":{"Name":"Gortney,Toni","Unit":"Shared Services","Dept":"Fleet Mgmt-Administration","Job_Title":"Equipment Mgmt Ast Div Mgr","Annual_Rt":"$86,804.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5730},"geometry":null},{"type":"Feature","id":5731,"properties":{"Name":"Kincaid,Scott Ira","Unit":"Shared Services","Dept":"Fleet Mgmt-Administration","Job_Title":"Management Analyst","Annual_Rt":"$58,366.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5731},"geometry":null},{"type":"Feature","id":5732,"properties":{"Name":"Brown,Voraetta O","Unit":"Shared Services","Dept":"Fleet Mgmt-Administration","Job_Title":"Office Assistant V","Annual_Rt":"$47,951.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5732},"geometry":null},{"type":"Feature","id":5733,"properties":{"Name":"White,Garland E","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Equipment Shop Manager","Annual_Rt":"$72,932.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5733},"geometry":null},{"type":"Feature","id":5734,"properties":{"Name":"Horn,Christopher M","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Equipment Shop Supervisor","Annual_Rt":"$53,854.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5734},"geometry":null},{"type":"Feature","id":5735,"properties":{"Name":"Mason,Leslie Eugene","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Equipment Shop Supervisor","Annual_Rt":"$54,903.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5735},"geometry":null},{"type":"Feature","id":5736,"properties":{"Name":"McAdoo,Marcus Aaron","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Equipment Shop Supervisor","Annual_Rt":"$54,354.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5736},"geometry":null},{"type":"Feature","id":5737,"properties":{"Name":"Turner Jr,John R","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Assc","Annual_Rt":"$36,538.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5737},"geometry":null},{"type":"Feature","id":5738,"properties":{"Name":"Clement,Richard J","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Ld","Annual_Rt":"$50,252.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5738},"geometry":null},{"type":"Feature","id":5739,"properties":{"Name":"Lines,Michael","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Ld","Annual_Rt":"$59,384.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5739},"geometry":null},{"type":"Feature","id":5740,"properties":{"Name":"Settlemyre,Timothy S","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Ld","Annual_Rt":"$51,884.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5740},"geometry":null},{"type":"Feature","id":5741,"properties":{"Name":"Austin,Douglas W","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Mstr","Annual_Rt":"$58,900.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5741},"geometry":null},{"type":"Feature","id":5742,"properties":{"Name":"Boggs,Larry","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Mstr","Annual_Rt":"$48,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5742},"geometry":null},{"type":"Feature","id":5743,"properties":{"Name":"Domm,Joseph T","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Mstr","Annual_Rt":"$52,660.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5743},"geometry":null},{"type":"Feature","id":5744,"properties":{"Name":"Evans,Joshua C","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Mstr","Annual_Rt":"$49,282.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5744},"geometry":null},{"type":"Feature","id":5745,"properties":{"Name":"Foster,Thomas Dwayne","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Mstr","Annual_Rt":"$51,419.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5745},"geometry":null},{"type":"Feature","id":5746,"properties":{"Name":"Hartis,Wallace T","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Mstr","Annual_Rt":"$59,317.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5746},"geometry":null},{"type":"Feature","id":5747,"properties":{"Name":"Hazen Jr,Macon Calvert","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Mstr","Annual_Rt":"$50,937.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5747},"geometry":null},{"type":"Feature","id":5748,"properties":{"Name":"Kiker,Stephen Clay","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Mstr","Annual_Rt":"$50,146.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5748},"geometry":null},{"type":"Feature","id":5749,"properties":{"Name":"Wallace,Michael Reid","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Mstr","Annual_Rt":"$52,121.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5749},"geometry":null},{"type":"Feature","id":5750,"properties":{"Name":"Campbell,Melvin Reece","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Sr","Annual_Rt":"$45,625.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5750},"geometry":null},{"type":"Feature","id":5751,"properties":{"Name":"Danner,Douglas Andrew","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Sr","Annual_Rt":"$39,500.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5751},"geometry":null},{"type":"Feature","id":5752,"properties":{"Name":"Herman Jr,Charles D","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Sr","Annual_Rt":"$50,285.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5752},"geometry":null},{"type":"Feature","id":5753,"properties":{"Name":"James,Junior Paul","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Sr","Annual_Rt":"$43,799.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5753},"geometry":null},{"type":"Feature","id":5754,"properties":{"Name":"Parks,Kierran Shequille","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Sr","Annual_Rt":"$39,468.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5754},"geometry":null},{"type":"Feature","id":5755,"properties":{"Name":"Somers,Steven Alex","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Sr","Annual_Rt":"$43,014.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5755},"geometry":null},{"type":"Feature","id":5756,"properties":{"Name":"Webb,Timothy Mark","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Light Equipment Srvc Tech Sr","Annual_Rt":"$43,651.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5756},"geometry":null},{"type":"Feature","id":5757,"properties":{"Name":"Walker,Charles B","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Office Assistant IV","Annual_Rt":null,"Hrly_Rate":"$13.66 ","RegTemp":"T","Full/Part":"P","OBJECTID":5757},"geometry":null},{"type":"Feature","id":5758,"properties":{"Name":"Perry,Adam William","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Service Order Specialist","Annual_Rt":"$38,141.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5758},"geometry":null},{"type":"Feature","id":5759,"properties":{"Name":"Tucker Jr,Timothy A","Unit":"Shared Services","Dept":"Fleet Mgmt-Atando Ave Shop","Job_Title":"Service Order Specialist","Annual_Rt":"$38,574.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5759},"geometry":null},{"type":"Feature","id":5760,"properties":{"Name":"Efird,Amanda Lea","Unit":"Shared Services","Dept":"Fleet Mgmt-CDC","Job_Title":"Administrative Officer I","Annual_Rt":"$42,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5760},"geometry":null},{"type":"Feature","id":5761,"properties":{"Name":"Zorn,Nicholas A","Unit":"Shared Services","Dept":"Fleet Mgmt-CDC","Job_Title":"Administrative Officer IV","Annual_Rt":"$64,949.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5761},"geometry":null},{"type":"Feature","id":5762,"properties":{"Name":"Hahm,Scott W","Unit":"Shared Services","Dept":"Fleet Mgmt-CDC","Job_Title":"Fleet Specification Analyst","Annual_Rt":"$56,890.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5762},"geometry":null},{"type":"Feature","id":5763,"properties":{"Name":"Nabers,Scott N","Unit":"Shared Services","Dept":"Fleet Mgmt-CDC","Job_Title":"Fleet Specification Analyst","Annual_Rt":"$59,142.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5763},"geometry":null},{"type":"Feature","id":5764,"properties":{"Name":"Cass,Timothy David","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Equipment Shop Manager","Annual_Rt":"$67,579.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5764},"geometry":null},{"type":"Feature","id":5765,"properties":{"Name":"Clements,Brian C","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Equipment Shop Supervisor","Annual_Rt":"$53,354.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5765},"geometry":null},{"type":"Feature","id":5766,"properties":{"Name":"Pennington Jr,Charles B","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Equipment Shop Supervisor","Annual_Rt":"$57,436.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5766},"geometry":null},{"type":"Feature","id":5767,"properties":{"Name":"Price,Bobby Glenn","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Equipment Shop Supervisor","Annual_Rt":"$55,300.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5767},"geometry":null},{"type":"Feature","id":5768,"properties":{"Name":"Nash,Martin H","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Assc","Annual_Rt":"$37,538.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5768},"geometry":null},{"type":"Feature","id":5769,"properties":{"Name":"Bost,Randy Lane","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Ld","Annual_Rt":"$52,153.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5769},"geometry":null},{"type":"Feature","id":5770,"properties":{"Name":"Hobbs,Thomas Jason","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Ld","Annual_Rt":"$54,590.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5770},"geometry":null},{"type":"Feature","id":5771,"properties":{"Name":"Cavoly,Kenneth M","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$56,180.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5771},"geometry":null},{"type":"Feature","id":5772,"properties":{"Name":"Ebenhoeh,Gregory C","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$49,757.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5772},"geometry":null},{"type":"Feature","id":5773,"properties":{"Name":"Giordano,Anthony Carl","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$53,019.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5773},"geometry":null},{"type":"Feature","id":5774,"properties":{"Name":"Haigler,Roger Neal","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$53,510.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5774},"geometry":null},{"type":"Feature","id":5775,"properties":{"Name":"Hammill,Matthew L","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$51,193.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5775},"geometry":null},{"type":"Feature","id":5776,"properties":{"Name":"Hammill,Richard Mark","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$53,461.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5776},"geometry":null},{"type":"Feature","id":5777,"properties":{"Name":"McCluney,Ricky R","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$60,808.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5777},"geometry":null},{"type":"Feature","id":5778,"properties":{"Name":"Perry,Nicholas Alan","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$51,275.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5778},"geometry":null},{"type":"Feature","id":5779,"properties":{"Name":"Robinson,Kenneth E","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$54,990.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5779},"geometry":null},{"type":"Feature","id":5780,"properties":{"Name":"Vegoe,Mark Todd","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$58,812.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5780},"geometry":null},{"type":"Feature","id":5781,"properties":{"Name":"Blakeney,James Edward","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$40,952.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5781},"geometry":null},{"type":"Feature","id":5782,"properties":{"Name":"Burke,Shawn Leandre Antonio","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$43,546.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5782},"geometry":null},{"type":"Feature","id":5783,"properties":{"Name":"Carpenter III,Thomas Beall","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$44,007.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5783},"geometry":null},{"type":"Feature","id":5784,"properties":{"Name":"Dulin,Rodney Jeremiah","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$43,522.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5784},"geometry":null},{"type":"Feature","id":5785,"properties":{"Name":"Hinson,Mathew","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$45,775.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5785},"geometry":null},{"type":"Feature","id":5786,"properties":{"Name":"Jones,Edward L","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$40,413.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5786},"geometry":null},{"type":"Feature","id":5787,"properties":{"Name":"Morey Jr,William Lewis","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$43,312.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5787},"geometry":null},{"type":"Feature","id":5788,"properties":{"Name":"Mulwee,Bobby Ray","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$43,374.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5788},"geometry":null},{"type":"Feature","id":5789,"properties":{"Name":"Muncie III,James Virgil","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$40,040.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5789},"geometry":null},{"type":"Feature","id":5790,"properties":{"Name":"Stahlman,Derrick Jacob","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$40,300.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5790},"geometry":null},{"type":"Feature","id":5791,"properties":{"Name":"Tillman,James B","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$45,099.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5791},"geometry":null},{"type":"Feature","id":5792,"properties":{"Name":"Mulenda,Joseph Kalemba","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Light Equipment Srvc Tech Sr","Annual_Rt":"$45,900.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5792},"geometry":null},{"type":"Feature","id":5793,"properties":{"Name":"Dazzo,Anthony L","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Service Order Specialist","Annual_Rt":"$39,793.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5793},"geometry":null},{"type":"Feature","id":5794,"properties":{"Name":"Hinson,Dereke N","Unit":"Shared Services","Dept":"Fleet Mgmt-Louise Ave Shop","Job_Title":"Service Order Specialist","Annual_Rt":"$45,673.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5794},"geometry":null},{"type":"Feature","id":5795,"properties":{"Name":"Ellington,Frank Warren","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Manager","Annual_Rt":"$64,935.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5795},"geometry":null},{"type":"Feature","id":5796,"properties":{"Name":"Delia Jr,Robert L","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Team Leader","Annual_Rt":"$42,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5796},"geometry":null},{"type":"Feature","id":5797,"properties":{"Name":"Feaster,Andrew DeJon","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Team Leader","Annual_Rt":"$43,355.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5797},"geometry":null},{"type":"Feature","id":5798,"properties":{"Name":"Mangan Jr,Joseph James","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Team Leader","Annual_Rt":"$35,188.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5798},"geometry":null},{"type":"Feature","id":5799,"properties":{"Name":"Torrence,Michael Scott","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Team Leader","Annual_Rt":"$42,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5799},"geometry":null},{"type":"Feature","id":5800,"properties":{"Name":"Barbee,Jared W","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Technician","Annual_Rt":"$32,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5800},"geometry":null},{"type":"Feature","id":5801,"properties":{"Name":"Crager,Kevin Carl","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Technician","Annual_Rt":"$36,236.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5801},"geometry":null},{"type":"Feature","id":5802,"properties":{"Name":"Grahn,Reinold N.","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Technician","Annual_Rt":"$35,705.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5802},"geometry":null},{"type":"Feature","id":5803,"properties":{"Name":"Jugis,Christopher Ralph","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Technician","Annual_Rt":"$35,707.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5803},"geometry":null},{"type":"Feature","id":5804,"properties":{"Name":"Reed,Nicholas Aaron","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Technician","Annual_Rt":"$34,320.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5804},"geometry":null},{"type":"Feature","id":5805,"properties":{"Name":"Sampson,Edward E","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Technician","Annual_Rt":"$35,219.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5805},"geometry":null},{"type":"Feature","id":5806,"properties":{"Name":"Scheffel,Tyler Corson","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Technician","Annual_Rt":"$30,320.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5806},"geometry":null},{"type":"Feature","id":5807,"properties":{"Name":"Shirey,James D","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Technician","Annual_Rt":"$40,061.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5807},"geometry":null},{"type":"Feature","id":5808,"properties":{"Name":"Sigmon II,Kenneth Gaither","Unit":"Shared Services","Dept":"Fleet Mgmt-Parts Operations","Job_Title":"Equipment Parts Technician","Annual_Rt":"$37,301.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5808},"geometry":null},{"type":"Feature","id":5809,"properties":{"Name":"Henderson,Jeremy R","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Equipment Shop Manager","Annual_Rt":"$64,625.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5809},"geometry":null},{"type":"Feature","id":5810,"properties":{"Name":"Clark,Scott John","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Equipment Shop Supervisor","Annual_Rt":"$54,208.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5810},"geometry":null},{"type":"Feature","id":5811,"properties":{"Name":"Matthews Jr,Joseph A","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Ld","Annual_Rt":"$53,106.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5811},"geometry":null},{"type":"Feature","id":5812,"properties":{"Name":"Stevenson,Doug G","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Ld","Annual_Rt":"$51,384.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5812},"geometry":null},{"type":"Feature","id":5813,"properties":{"Name":"Benfield,Joshua Thomas","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$50,558.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5813},"geometry":null},{"type":"Feature","id":5814,"properties":{"Name":"Conrad,Jack Gary","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$51,160.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5814},"geometry":null},{"type":"Feature","id":5815,"properties":{"Name":"Marrs III,Eugene Clarence","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$56,919.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5815},"geometry":null},{"type":"Feature","id":5816,"properties":{"Name":"Morsch,Richard A","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$53,135.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5816},"geometry":null},{"type":"Feature","id":5817,"properties":{"Name":"Woessner,Aaron D","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Mstr","Annual_Rt":"$51,257.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5817},"geometry":null},{"type":"Feature","id":5818,"properties":{"Name":"Bousman,Christopher L","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$45,132.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5818},"geometry":null},{"type":"Feature","id":5819,"properties":{"Name":"Burnette,Jerry L","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$45,009.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5819},"geometry":null},{"type":"Feature","id":5820,"properties":{"Name":"Croft,Michael James","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$44,832.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5820},"geometry":null},{"type":"Feature","id":5821,"properties":{"Name":"Cropp,Phillip Deforrest","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$41,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5821},"geometry":null},{"type":"Feature","id":5822,"properties":{"Name":"Lee,Rodney Bernard","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$45,565.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5822},"geometry":null},{"type":"Feature","id":5823,"properties":{"Name":"Shepard,Mark A","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$44,797.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5823},"geometry":null},{"type":"Feature","id":5824,"properties":{"Name":"Warren,Stephen Harold","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$44,066.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5824},"geometry":null},{"type":"Feature","id":5825,"properties":{"Name":"Rapachietta,Kyle Anthony","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Light Equipment Srvc Tech Ld","Annual_Rt":"$47,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5825},"geometry":null},{"type":"Feature","id":5826,"properties":{"Name":"Appiah,Geraldine Akosua","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Light Equipment Srvc Tech Sr","Annual_Rt":"$42,800.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5826},"geometry":null},{"type":"Feature","id":5827,"properties":{"Name":"Lopez,Geraldo E","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Operations Supervisor","Annual_Rt":"$72,312.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5827},"geometry":null},{"type":"Feature","id":5828,"properties":{"Name":"Collins,Lauren Elizabeth","Unit":"Shared Services","Dept":"Fleet Mgmt-Sweden Rd Shop","Job_Title":"Service Order Specialist","Annual_Rt":"$36,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5828},"geometry":null},{"type":"Feature","id":5829,"properties":{"Name":"LeBoeuf,Paul Jude","Unit":"Shared Services","Dept":"Fleet Mgmt-Tuckaseegee Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Ld","Annual_Rt":"$49,021.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5829},"geometry":null},{"type":"Feature","id":5830,"properties":{"Name":"Armstrong,Thomas Paul","Unit":"Shared Services","Dept":"Fleet Mgmt-Tuckaseegee Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$41,386.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5830},"geometry":null},{"type":"Feature","id":5831,"properties":{"Name":"Clawson,Joshua Lee","Unit":"Shared Services","Dept":"Fleet Mgmt-Tuckaseegee Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$43,991.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5831},"geometry":null},{"type":"Feature","id":5832,"properties":{"Name":"Jarrett III,Andrew C","Unit":"Shared Services","Dept":"Fleet Mgmt-Tuckaseegee Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$45,757.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5832},"geometry":null},{"type":"Feature","id":5833,"properties":{"Name":"Mullis,James Bryon","Unit":"Shared Services","Dept":"Fleet Mgmt-Tuckaseegee Rd Shop","Job_Title":"Heavy Equipment Srvc Tech Sr","Annual_Rt":"$42,721.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5833},"geometry":null},{"type":"Feature","id":5834,"properties":{"Name":"Helms,Gale Moser","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Administrative Officer III","Annual_Rt":"$60,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5834},"geometry":null},{"type":"Feature","id":5835,"properties":{"Name":"Beonde,Amelia Clay","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Contracts Admin Coordinator","Annual_Rt":"$72,052.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5835},"geometry":null},{"type":"Feature","id":5836,"properties":{"Name":"Benedict,Racquel Marie","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Contracts Admin Specialist","Annual_Rt":"$58,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5836},"geometry":null},{"type":"Feature","id":5837,"properties":{"Name":"Elzey,David M","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Contracts Admin Specialist","Annual_Rt":"$56,243.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5837},"geometry":null},{"type":"Feature","id":5838,"properties":{"Name":"Keller,Philip Artie","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Contracts Admin Specialist","Annual_Rt":"$58,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5838},"geometry":null},{"type":"Feature","id":5839,"properties":{"Name":"Keyes,Tracey A.","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Contracts Admin Specialist","Annual_Rt":"$58,000.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5839},"geometry":null},{"type":"Feature","id":5840,"properties":{"Name":"Poulton,Sarah J","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Contracts Admin Specialist","Annual_Rt":"$60,961.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5840},"geometry":null},{"type":"Feature","id":5841,"properties":{"Name":"Stowe,Dawn","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Contracts Admin Specialist","Annual_Rt":null,"Hrly_Rate":"$22.07 ","RegTemp":"T","Full/Part":"F","OBJECTID":5841},"geometry":null},{"type":"Feature","id":5842,"properties":{"Name":"Jones,Adam Michael","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Contracts Admin Specialist Ld","Annual_Rt":"$69,339.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5842},"geometry":null},{"type":"Feature","id":5843,"properties":{"Name":"Miller,Brandon Palmer","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Management Analyst","Annual_Rt":"$61,200.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5843},"geometry":null},{"type":"Feature","id":5844,"properties":{"Name":"Ewing,Karen P","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Procurement Serv Asst Div Mgr","Annual_Rt":"$88,273.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5844},"geometry":null},{"type":"Feature","id":5845,"properties":{"Name":"Elmore,Gloria Kay","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Procurement Services Div. Mgr.","Annual_Rt":"$116,189.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5845},"geometry":null},{"type":"Feature","id":5846,"properties":{"Name":"McCollum,Yashica","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Purchasing Agent","Annual_Rt":"$58,113.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5846},"geometry":null},{"type":"Feature","id":5847,"properties":{"Name":"Moore,Richard E","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Purchasing Agent","Annual_Rt":"$53,917.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5847},"geometry":null},{"type":"Feature","id":5848,"properties":{"Name":"Tate,David Michael","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Purchasing Agent","Annual_Rt":"$58,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5848},"geometry":null},{"type":"Feature","id":5849,"properties":{"Name":"Carothers,Genetta N","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Purchasing Agent-Lead","Annual_Rt":"$63,981.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5849},"geometry":null},{"type":"Feature","id":5850,"properties":{"Name":"Matthews,Joshua Ian","Unit":"Shared Services","Dept":"Procurement Management","Job_Title":"Purchasing Agent-Lead","Annual_Rt":"$64,245.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5850},"geometry":null},{"type":"Feature","id":5851,"properties":{"Name":"Hammonds,Linda W","Unit":"Shared Services","Dept":"Procurement Mgmt-ARD","Job_Title":"Administrative Officer I","Annual_Rt":"$49,715.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5851},"geometry":null},{"type":"Feature","id":5852,"properties":{"Name":"Dye,Rex Eugene","Unit":"Shared Services","Dept":"Procurement Mgmt-ARD","Job_Title":"Operations Supervisor","Annual_Rt":"$71,693.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5852},"geometry":null},{"type":"Feature","id":5853,"properties":{"Name":"Marshall,Kenneth Harold","Unit":"Shared Services","Dept":"Procurement Mgmt-ARD","Job_Title":"Stores Supervisor","Annual_Rt":"$49,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5853},"geometry":null},{"type":"Feature","id":5854,"properties":{"Name":"Smith,Nicole M.","Unit":"Solid Waste","Dept":"SWS Administration","Job_Title":"Administrative Officer I","Annual_Rt":"$40,730.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5854},"geometry":null},{"type":"Feature","id":5855,"properties":{"Name":"Weasah,Kou","Unit":"Solid Waste","Dept":"SWS Administration","Job_Title":"Administrative Officer I","Annual_Rt":"$42,059.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5855},"geometry":null},{"type":"Feature","id":5856,"properties":{"Name":"Gant,Mavis R","Unit":"Solid Waste","Dept":"SWS Administration","Job_Title":"Administrative Officer III","Annual_Rt":"$52,413.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5856},"geometry":null},{"type":"Feature","id":5857,"properties":{"Name":"Pierce,Cynthia D","Unit":"Solid Waste","Dept":"SWS Administration","Job_Title":"Administrative Officer III","Annual_Rt":"$57,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5857},"geometry":null},{"type":"Feature","id":5858,"properties":{"Name":"Moore,Louie W","Unit":"Solid Waste","Dept":"SWS Administration","Job_Title":"Administrative Officer IV","Annual_Rt":"$72,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5858},"geometry":null},{"type":"Feature","id":5859,"properties":{"Name":"Price,Ellen C","Unit":"Solid Waste","Dept":"SWS Administration","Job_Title":"Administrative Officer V","Annual_Rt":"$82,355.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5859},"geometry":null},{"type":"Feature","id":5860,"properties":{"Name":"Mahoney III,Robert D.","Unit":"Solid Waste","Dept":"SWS Contracted Services","Job_Title":"Contract Estimator Supervisor","Annual_Rt":"$56,934.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5860},"geometry":null},{"type":"Feature","id":5861,"properties":{"Name":"Adams,Mark William","Unit":"Solid Waste","Dept":"SWS Contracted Services","Job_Title":"Contract Technician","Annual_Rt":"$41,199.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5861},"geometry":null},{"type":"Feature","id":5862,"properties":{"Name":"Dean,Donald E","Unit":"Solid Waste","Dept":"SWS Contracted Services","Job_Title":"Contract Technician","Annual_Rt":"$46,436.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5862},"geometry":null},{"type":"Feature","id":5863,"properties":{"Name":"Green,Shallie A.","Unit":"Solid Waste","Dept":"SWS Contracted Services","Job_Title":"Contract Technician","Annual_Rt":"$43,192.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5863},"geometry":null},{"type":"Feature","id":5864,"properties":{"Name":"Hicks Sr,Henry Carson","Unit":"Solid Waste","Dept":"SWS Contracted Services","Job_Title":"Contract Technician","Annual_Rt":"$44,468.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5864},"geometry":null},{"type":"Feature","id":5865,"properties":{"Name":"McMillan,Jimmie L","Unit":"Solid Waste","Dept":"SWS Contracted Services","Job_Title":"Contract Technician","Annual_Rt":"$47,230.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5865},"geometry":null},{"type":"Feature","id":5866,"properties":{"Name":"Reid,Blondina C","Unit":"Solid Waste","Dept":"SWS Contracted Services","Job_Title":"Contract Technician","Annual_Rt":"$42,568.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5866},"geometry":null},{"type":"Feature","id":5867,"properties":{"Name":"Smith,Charlenia Pearson","Unit":"Solid Waste","Dept":"SWS Contracted Services","Job_Title":"Contract Technician","Annual_Rt":"$38,621.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5867},"geometry":null},{"type":"Feature","id":5868,"properties":{"Name":"Steele,Toney","Unit":"Solid Waste","Dept":"SWS Contracted Services","Job_Title":"Contract Technician","Annual_Rt":"$48,207.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5868},"geometry":null},{"type":"Feature","id":5869,"properties":{"Name":"Belton,Shirley S.","Unit":"Solid Waste","Dept":"SWS Customer Service","Job_Title":"Customer Service Supervisor","Annual_Rt":"$56,671.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5869},"geometry":null},{"type":"Feature","id":5870,"properties":{"Name":"Sturdivant,Kenisha Neko","Unit":"Solid Waste","Dept":"SWS Customer Service","Job_Title":"Office Assistant IV","Annual_Rt":"$31,618.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5870},"geometry":null},{"type":"Feature","id":5871,"properties":{"Name":"Lee,Sharon L","Unit":"Solid Waste","Dept":"SWS Department Head","Job_Title":"Administrative Secretary I","Annual_Rt":"$47,203.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5871},"geometry":null},{"type":"Feature","id":5872,"properties":{"Name":"Moore,Michelle Annette","Unit":"Solid Waste","Dept":"SWS Department Head","Job_Title":"Deputy Solid Waste Svcs Dir","Annual_Rt":"$114,371.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5872},"geometry":null},{"type":"Feature","id":5873,"properties":{"Name":"Johnson,Victoria Orena","Unit":"Solid Waste","Dept":"SWS Department Head","Job_Title":"Solid Waste Services Director","Annual_Rt":"$155,909.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5873},"geometry":null},{"type":"Feature","id":5874,"properties":{"Name":"Twitty,Calvin Lin","Unit":"Solid Waste","Dept":"SWS Facilities","Job_Title":"Building Maintenance Asst","Annual_Rt":"$29,092.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5874},"geometry":null},{"type":"Feature","id":5875,"properties":{"Name":"Green,Merica A","Unit":"Solid Waste","Dept":"SWS Facilities","Job_Title":"Facilities Services Coordinato","Annual_Rt":"$47,080.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5875},"geometry":null},{"type":"Feature","id":5876,"properties":{"Name":"Lampkin,Gregory L","Unit":"Solid Waste","Dept":"SWS Facilities","Job_Title":"Storekeeper","Annual_Rt":"$30,433.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5876},"geometry":null},{"type":"Feature","id":5877,"properties":{"Name":"Brown,Kasandra Lee","Unit":"Solid Waste","Dept":"SWS Human Resources","Job_Title":"Administrative Officer I","Annual_Rt":"$45,436.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5877},"geometry":null},{"type":"Feature","id":5878,"properties":{"Name":"Johnson,Astrid T","Unit":"Solid Waste","Dept":"SWS Human Resources","Job_Title":"Administrative Officer I","Annual_Rt":"$40,953.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5878},"geometry":null},{"type":"Feature","id":5879,"properties":{"Name":"McKenzie,Carrie Jean","Unit":"Solid Waste","Dept":"SWS Human Resources","Job_Title":"Administrative Officer I","Annual_Rt":"$46,025.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5879},"geometry":null},{"type":"Feature","id":5880,"properties":{"Name":"Hannan,Miriam C.","Unit":"Solid Waste","Dept":"SWS Human Resources","Job_Title":"Administrative Officer IV","Annual_Rt":"$82,620.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5880},"geometry":null},{"type":"Feature","id":5881,"properties":{"Name":"Bell,Darlene Marie","Unit":"Solid Waste","Dept":"SWS Human Resources","Job_Title":"Office Assistant IV","Annual_Rt":"$31,762.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5881},"geometry":null},{"type":"Feature","id":5882,"properties":{"Name":"Robinson Jr,Donald W","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Field Operations Supervisor","Annual_Rt":"$62,816.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5882},"geometry":null},{"type":"Feature","id":5883,"properties":{"Name":"Abdul-Haqq,Abdul Malik","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Labor Crew Chief II","Annual_Rt":"$40,420.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5883},"geometry":null},{"type":"Feature","id":5884,"properties":{"Name":"Alexander,Kenyetta Cordell","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5884},"geometry":null},{"type":"Feature","id":5885,"properties":{"Name":"Alexander,Victor Jerone","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Laborer","Annual_Rt":"$24,314.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5885},"geometry":null},{"type":"Feature","id":5886,"properties":{"Name":"Coleman,Rodney L","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Laborer","Annual_Rt":"$24,316.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5886},"geometry":null},{"type":"Feature","id":5887,"properties":{"Name":"Everett Jr,Aaron","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5887},"geometry":null},{"type":"Feature","id":5888,"properties":{"Name":"McDonald,Edison","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Laborer","Annual_Rt":"$24,314.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5888},"geometry":null},{"type":"Feature","id":5889,"properties":{"Name":"McDowell,Raymond Edward","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Laborer","Annual_Rt":"$24,314.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5889},"geometry":null},{"type":"Feature","id":5890,"properties":{"Name":"Phillips,Steven C","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Laborer","Annual_Rt":"$24,314.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5890},"geometry":null},{"type":"Feature","id":5891,"properties":{"Name":"Scott,Jonathan Loren","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Laborer","Annual_Rt":"$24,314.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5891},"geometry":null},{"type":"Feature","id":5892,"properties":{"Name":"Singley,Maurice Jamont","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Laborer","Annual_Rt":"$24,574.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5892},"geometry":null},{"type":"Feature","id":5893,"properties":{"Name":"Watters,Willie James","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Laborer","Annual_Rt":"$24,987.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5893},"geometry":null},{"type":"Feature","id":5894,"properties":{"Name":"Foster Jr,George Wesley","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$35,868.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5894},"geometry":null},{"type":"Feature","id":5895,"properties":{"Name":"Hair,Taj A","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5895},"geometry":null},{"type":"Feature","id":5896,"properties":{"Name":"Jackson,Maurice","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5896},"geometry":null},{"type":"Feature","id":5897,"properties":{"Name":"Locklear,James A","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$39,452.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5897},"geometry":null},{"type":"Feature","id":5898,"properties":{"Name":"Marion,Larry Brenard","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5898},"geometry":null},{"type":"Feature","id":5899,"properties":{"Name":"Mitchell,Jeffrey Bernard","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5899},"geometry":null},{"type":"Feature","id":5900,"properties":{"Name":"Smith,Freddie Lee","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5900},"geometry":null},{"type":"Feature","id":5901,"properties":{"Name":"Taylor,Robert B","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5901},"geometry":null},{"type":"Feature","id":5902,"properties":{"Name":"Walters,Steven Demont","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,770.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5902},"geometry":null},{"type":"Feature","id":5903,"properties":{"Name":"Wright,Ramada Latonish","Unit":"Solid Waste","Dept":"SWS Operations - Bulky Collect","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5903},"geometry":null},{"type":"Feature","id":5904,"properties":{"Name":"Byers,Steven V","Unit":"Solid Waste","Dept":"SWS Operations - Business Garb","Job_Title":"Equipment Operator II","Annual_Rt":"$31,988.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5904},"geometry":null},{"type":"Feature","id":5905,"properties":{"Name":"Escalante,Cesar Armando","Unit":"Solid Waste","Dept":"SWS Operations - Business Garb","Job_Title":"Equipment Operator II","Annual_Rt":"$31,988.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5905},"geometry":null},{"type":"Feature","id":5906,"properties":{"Name":"Lyons,Bob","Unit":"Solid Waste","Dept":"SWS Operations - Business Garb","Job_Title":"Equipment Operator II","Annual_Rt":"$31,988.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5906},"geometry":null},{"type":"Feature","id":5907,"properties":{"Name":"Dandy,Darnell Roshon","Unit":"Solid Waste","Dept":"SWS Operations - Business Garb","Job_Title":"Equipment Operator III","Annual_Rt":"$35,989.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5907},"geometry":null},{"type":"Feature","id":5908,"properties":{"Name":"Wilson,Courtney J","Unit":"Solid Waste","Dept":"SWS Operations - Business Garb","Job_Title":"Laborer","Annual_Rt":"$24,315.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5908},"geometry":null},{"type":"Feature","id":5909,"properties":{"Name":"Diggs,Michael Anthony","Unit":"Solid Waste","Dept":"SWS Operations - Business Garb","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5909},"geometry":null},{"type":"Feature","id":5910,"properties":{"Name":"McCrimmon,Maurice L","Unit":"Solid Waste","Dept":"SWS Operations - Business Garb","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5910},"geometry":null},{"type":"Feature","id":5911,"properties":{"Name":"Reynaga,Celina Elvia","Unit":"Solid Waste","Dept":"SWS Operations - Business Garb","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,491.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5911},"geometry":null},{"type":"Feature","id":5912,"properties":{"Name":"White,John T","Unit":"Solid Waste","Dept":"SWS Operations - Business Garb","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$39,171.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5912},"geometry":null},{"type":"Feature","id":5913,"properties":{"Name":"Garrett,Brian K","Unit":"Solid Waste","Dept":"SWS Operations - Collections A","Job_Title":"Administrative Officer III","Annual_Rt":"$65,284.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5913},"geometry":null},{"type":"Feature","id":5914,"properties":{"Name":"Jamison,Rodney Maurice","Unit":"Solid Waste","Dept":"SWS Operations - Collections A","Job_Title":"Asst Solid Waste Services Dir","Annual_Rt":"$76,393.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5914},"geometry":null},{"type":"Feature","id":5915,"properties":{"Name":"Hopkins,Belinda Ann","Unit":"Solid Waste","Dept":"SWS Operations - Collections A","Job_Title":"Contract Technician","Annual_Rt":"$41,259.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5915},"geometry":null},{"type":"Feature","id":5916,"properties":{"Name":"Henry,Leslie D","Unit":"Solid Waste","Dept":"SWS Operations - Collections A","Job_Title":"Office Assistant IV","Annual_Rt":"$31,618.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5916},"geometry":null},{"type":"Feature","id":5917,"properties":{"Name":"Sanders,Kathy Gibson","Unit":"Solid Waste","Dept":"SWS Operations - Collections A","Job_Title":"Operations Supervisor","Annual_Rt":"$70,482.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5917},"geometry":null},{"type":"Feature","id":5918,"properties":{"Name":"Scott III,Noble C","Unit":"Solid Waste","Dept":"SWS Operations - Collections A","Job_Title":"Operations Supervisor","Annual_Rt":"$64,933.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5918},"geometry":null},{"type":"Feature","id":5919,"properties":{"Name":"Bousman,Susan C","Unit":"Solid Waste","Dept":"SWS Operations - Collections A","Job_Title":"Service Dispatcher","Annual_Rt":"$50,241.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5919},"geometry":null},{"type":"Feature","id":5920,"properties":{"Name":"Chambers,Terry Durant","Unit":"Solid Waste","Dept":"SWS Operations - Dead Animal C","Job_Title":"Laborer","Annual_Rt":"$24,315.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5920},"geometry":null},{"type":"Feature","id":5921,"properties":{"Name":"Staton,Maurice","Unit":"Solid Waste","Dept":"SWS Operations - Dead Animal C","Job_Title":"Laborer","Annual_Rt":"$26,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5921},"geometry":null},{"type":"Feature","id":5922,"properties":{"Name":"Walker,LaShonya Shanesse","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Field Operations Supervisor","Annual_Rt":"$52,419.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5922},"geometry":null},{"type":"Feature","id":5923,"properties":{"Name":"Davis,Gary L","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Labor Crew Chief II","Annual_Rt":"$45,213.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5923},"geometry":null},{"type":"Feature","id":5924,"properties":{"Name":"Horton,Scottie L","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Labor Crew Chief II","Annual_Rt":"$45,753.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5924},"geometry":null},{"type":"Feature","id":5925,"properties":{"Name":"Turner Jr,Harold","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Labor Crew Chief II","Annual_Rt":"$40,420.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5925},"geometry":null},{"type":"Feature","id":5926,"properties":{"Name":"McGee,Antonio Maurice","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5926},"geometry":null},{"type":"Feature","id":5927,"properties":{"Name":"Smallwood,Sylvester","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Laborer","Annual_Rt":"$24,314.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5927},"geometry":null},{"type":"Feature","id":5928,"properties":{"Name":"White,Larico D","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Laborer","Annual_Rt":"$24,314.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5928},"geometry":null},{"type":"Feature","id":5929,"properties":{"Name":"Anderson,Lawrence Anthony","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,745.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5929},"geometry":null},{"type":"Feature","id":5930,"properties":{"Name":"Askew,Calvin E","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5930},"geometry":null},{"type":"Feature","id":5931,"properties":{"Name":"Barahona,Isidro P","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,824.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5931},"geometry":null},{"type":"Feature","id":5932,"properties":{"Name":"Belcher,Charles Linwood","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$35,788.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5932},"geometry":null},{"type":"Feature","id":5933,"properties":{"Name":"Bess,Raymond","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5933},"geometry":null},{"type":"Feature","id":5934,"properties":{"Name":"Black,Jermaine Dunbar","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5934},"geometry":null},{"type":"Feature","id":5935,"properties":{"Name":"Black,Randall","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5935},"geometry":null},{"type":"Feature","id":5936,"properties":{"Name":"Blair,Cynthia Renee","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$36,742.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5936},"geometry":null},{"type":"Feature","id":5937,"properties":{"Name":"Blount Jr,Reginald","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,775.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5937},"geometry":null},{"type":"Feature","id":5938,"properties":{"Name":"Brewster,Jamell Stanley","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5938},"geometry":null},{"type":"Feature","id":5939,"properties":{"Name":"Brown Jr,Bennie James","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5939},"geometry":null},{"type":"Feature","id":5940,"properties":{"Name":"Carson,Ricky V","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5940},"geometry":null},{"type":"Feature","id":5941,"properties":{"Name":"Carter Jr,Charles Lewis","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,554.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5941},"geometry":null},{"type":"Feature","id":5942,"properties":{"Name":"Chisholm,Jarvis Bouvier","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5942},"geometry":null},{"type":"Feature","id":5943,"properties":{"Name":"Clark,Dennis A","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$41,922.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5943},"geometry":null},{"type":"Feature","id":5944,"properties":{"Name":"Crockett,Leslie Eugene","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,913.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5944},"geometry":null},{"type":"Feature","id":5945,"properties":{"Name":"Crout,Larry Lewis","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5945},"geometry":null},{"type":"Feature","id":5946,"properties":{"Name":"Culp,James Anthony","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5946},"geometry":null},{"type":"Feature","id":5947,"properties":{"Name":"Davie,Jarvis","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$40,883.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5947},"geometry":null},{"type":"Feature","id":5948,"properties":{"Name":"Davis,Derrick F","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$35,382.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5948},"geometry":null},{"type":"Feature","id":5949,"properties":{"Name":"Dunn,Jeffrey L","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$41,639.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5949},"geometry":null},{"type":"Feature","id":5950,"properties":{"Name":"Ellerbe,Anthony Tyrone","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5950},"geometry":null},{"type":"Feature","id":5951,"properties":{"Name":"Ellison,Rossi Alexander","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5951},"geometry":null},{"type":"Feature","id":5952,"properties":{"Name":"Feaster,Jonathan Keith","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5952},"geometry":null},{"type":"Feature","id":5953,"properties":{"Name":"Gaddy,Jimmie","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$38,419.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5953},"geometry":null},{"type":"Feature","id":5954,"properties":{"Name":"Gaither,James Wylie","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5954},"geometry":null},{"type":"Feature","id":5955,"properties":{"Name":"Galloway,Cedric Orlando","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,491.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5955},"geometry":null},{"type":"Feature","id":5956,"properties":{"Name":"Garris,Shamar Brevon","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5956},"geometry":null},{"type":"Feature","id":5957,"properties":{"Name":"Ginyard,Lavance Quantel","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5957},"geometry":null},{"type":"Feature","id":5958,"properties":{"Name":"Hagan,Larry Jerome","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,992.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5958},"geometry":null},{"type":"Feature","id":5959,"properties":{"Name":"Hagans,Darius Cornell","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5959},"geometry":null},{"type":"Feature","id":5960,"properties":{"Name":"Hames,Bresette Franklin","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,141.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5960},"geometry":null},{"type":"Feature","id":5961,"properties":{"Name":"Harris,Eddie J","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5961},"geometry":null},{"type":"Feature","id":5962,"properties":{"Name":"Hill,Zatasha Tynette","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5962},"geometry":null},{"type":"Feature","id":5963,"properties":{"Name":"Hopkins Jr,Charles Sylvester","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5963},"geometry":null},{"type":"Feature","id":5964,"properties":{"Name":"Houser Jr,Frank","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5964},"geometry":null},{"type":"Feature","id":5965,"properties":{"Name":"Johnson,Bobby Arthur","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5965},"geometry":null},{"type":"Feature","id":5966,"properties":{"Name":"Kennedy,Anthony D","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5966},"geometry":null},{"type":"Feature","id":5967,"properties":{"Name":"Lattimore Jr,Anthony","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5967},"geometry":null},{"type":"Feature","id":5968,"properties":{"Name":"Ludwig,Jeffrey Christopher","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5968},"geometry":null},{"type":"Feature","id":5969,"properties":{"Name":"Mabry Jr,Walter Clemth","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5969},"geometry":null},{"type":"Feature","id":5970,"properties":{"Name":"Mackey,Harold","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$37,723.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5970},"geometry":null},{"type":"Feature","id":5971,"properties":{"Name":"Maki,Bruce R","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,574.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5971},"geometry":null},{"type":"Feature","id":5972,"properties":{"Name":"Manning,David Lydell","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,608.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5972},"geometry":null},{"type":"Feature","id":5973,"properties":{"Name":"McCorey Jr,Edward","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5973},"geometry":null},{"type":"Feature","id":5974,"properties":{"Name":"McDowell,James Lamonte","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5974},"geometry":null},{"type":"Feature","id":5975,"properties":{"Name":"McVay Sr,Frederick Antonio","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5975},"geometry":null},{"type":"Feature","id":5976,"properties":{"Name":"Meadows,Rodriguez P","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5976},"geometry":null},{"type":"Feature","id":5977,"properties":{"Name":"Morrison,Donna Marie","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,574.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5977},"geometry":null},{"type":"Feature","id":5978,"properties":{"Name":"Morrison,Japheth Don","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,491.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5978},"geometry":null},{"type":"Feature","id":5979,"properties":{"Name":"Nelson Jr,Earl","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,913.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5979},"geometry":null},{"type":"Feature","id":5980,"properties":{"Name":"ONeil,Dexter","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,950.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5980},"geometry":null},{"type":"Feature","id":5981,"properties":{"Name":"Palmore,Casey La Mond","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5981},"geometry":null},{"type":"Feature","id":5982,"properties":{"Name":"Parker,Allen Dejuan","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5982},"geometry":null},{"type":"Feature","id":5983,"properties":{"Name":"Peters Jr,Mark","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":null,"Hrly_Rate":"$12.50 ","RegTemp":"T","Full/Part":"F","OBJECTID":5983},"geometry":null},{"type":"Feature","id":5984,"properties":{"Name":"Roseborough,Donyel Hunt","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5984},"geometry":null},{"type":"Feature","id":5985,"properties":{"Name":"Ross,Tony Mitchell","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5985},"geometry":null},{"type":"Feature","id":5986,"properties":{"Name":"Sandoval,Ruben Z","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,574.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5986},"geometry":null},{"type":"Feature","id":5987,"properties":{"Name":"Sellers,Antoine Bernard","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5987},"geometry":null},{"type":"Feature","id":5988,"properties":{"Name":"Steele,Sharon Denise","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5988},"geometry":null},{"type":"Feature","id":5989,"properties":{"Name":"Thomas,Wilford","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,829.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5989},"geometry":null},{"type":"Feature","id":5990,"properties":{"Name":"Wallace,Kenneth James","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5990},"geometry":null},{"type":"Feature","id":5991,"properties":{"Name":"Wattley,Kevin L","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5991},"geometry":null},{"type":"Feature","id":5992,"properties":{"Name":"Young,Gary A","Unit":"Solid Waste","Dept":"SWS Operations - Garbage Colle","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$46,089.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5992},"geometry":null},{"type":"Feature","id":5993,"properties":{"Name":"Herron,Timothy Gauis","Unit":"Solid Waste","Dept":"SWS Operations - Public Recept","Job_Title":"Equipment Operator II","Annual_Rt":"$32,628.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5993},"geometry":null},{"type":"Feature","id":5994,"properties":{"Name":"Beamon,Willie","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Equipment Operator II","Annual_Rt":"$32,541.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5994},"geometry":null},{"type":"Feature","id":5995,"properties":{"Name":"Cullins,Robin Gregory","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Equipment Operator II","Annual_Rt":"$32,628.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5995},"geometry":null},{"type":"Feature","id":5996,"properties":{"Name":"McNair,Bobby Ray","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Equipment Operator II","Annual_Rt":"$32,628.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5996},"geometry":null},{"type":"Feature","id":5997,"properties":{"Name":"Mendoza,Juan Espindola","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Equipment Operator II","Annual_Rt":"$34,294.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5997},"geometry":null},{"type":"Feature","id":5998,"properties":{"Name":"Simmons,Joel O","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Equipment Operator II","Annual_Rt":"$31,988.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5998},"geometry":null},{"type":"Feature","id":5999,"properties":{"Name":"McKinnon III,Edward L","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Equipment Operator III","Annual_Rt":"$36,709.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":5999},"geometry":null},{"type":"Feature","id":6000,"properties":{"Name":"Williams,Phillip Lane","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Equipment Operator III","Annual_Rt":"$36,709.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6000},"geometry":null},{"type":"Feature","id":6001,"properties":{"Name":"Newton,Dean","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Labor Crew Chief II","Annual_Rt":"$40,420.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6001},"geometry":null},{"type":"Feature","id":6002,"properties":{"Name":"Raley,Kenneth W","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Labor Crew Chief II","Annual_Rt":"$48,070.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6002},"geometry":null},{"type":"Feature","id":6003,"properties":{"Name":"Shuford,Eric F.","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Labor Crew Chief II","Annual_Rt":"$40,420.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6003},"geometry":null},{"type":"Feature","id":6004,"properties":{"Name":"Banhan,Abraham","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$25,459.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6004},"geometry":null},{"type":"Feature","id":6005,"properties":{"Name":"Barnette,Corey Laman","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6005},"geometry":null},{"type":"Feature","id":6006,"properties":{"Name":"Belton,Shomari Andrew","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6006},"geometry":null},{"type":"Feature","id":6007,"properties":{"Name":"Brooks,Ronald","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$24,314.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6007},"geometry":null},{"type":"Feature","id":6008,"properties":{"Name":"Evans,Michael Anthony","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$25,043.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6008},"geometry":null},{"type":"Feature","id":6009,"properties":{"Name":"Featherstone,Kerwin","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$24,616.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6009},"geometry":null},{"type":"Feature","id":6010,"properties":{"Name":"Graham,LaDarius Deonte","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$24,315.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6010},"geometry":null},{"type":"Feature","id":6011,"properties":{"Name":"Guess,Eric","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$24,314.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6011},"geometry":null},{"type":"Feature","id":6012,"properties":{"Name":"Hancock,Jimmy Morrice","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6012},"geometry":null},{"type":"Feature","id":6013,"properties":{"Name":"Hobbs,Timothy Lee","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$24,314.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6013},"geometry":null},{"type":"Feature","id":6014,"properties":{"Name":"Jones,James A","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$25,762.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6014},"geometry":null},{"type":"Feature","id":6015,"properties":{"Name":"Katopodis,Angelo","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$24,315.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6015},"geometry":null},{"type":"Feature","id":6016,"properties":{"Name":"Lewis III,Richard R","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$24,592.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6016},"geometry":null},{"type":"Feature","id":6017,"properties":{"Name":"Miller,Daryl L","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$27,201.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6017},"geometry":null},{"type":"Feature","id":6018,"properties":{"Name":"Morrow Jr,Robert","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$25,043.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6018},"geometry":null},{"type":"Feature","id":6019,"properties":{"Name":"Richardson,Michael A","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$25,391.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6019},"geometry":null},{"type":"Feature","id":6020,"properties":{"Name":"Roberts,Entonio Lemond","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6020},"geometry":null},{"type":"Feature","id":6021,"properties":{"Name":"Stitt,Wayne P","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$24,860.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6021},"geometry":null},{"type":"Feature","id":6022,"properties":{"Name":"Terry,Aaron Kevin","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$23,837.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6022},"geometry":null},{"type":"Feature","id":6023,"properties":{"Name":"Wilson,Rodney","Unit":"Solid Waste","Dept":"SWS Operations - Rights of Way","Job_Title":"Laborer","Annual_Rt":"$24,315.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6023},"geometry":null},{"type":"Feature","id":6024,"properties":{"Name":"Moss,Germaine","Unit":"Solid Waste","Dept":"SWS Operations - South Corrido","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6024},"geometry":null},{"type":"Feature","id":6025,"properties":{"Name":"Twitty,James Junior","Unit":"Solid Waste","Dept":"SWS Operations - South Corrido","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6025},"geometry":null},{"type":"Feature","id":6026,"properties":{"Name":"Anderson,Alex Terrell","Unit":"Solid Waste","Dept":"SWS Operations - South Corrido","Job_Title":"Laborer","Annual_Rt":null,"Hrly_Rate":"$11.50 ","RegTemp":"T","Full/Part":"F","OBJECTID":6026},"geometry":null},{"type":"Feature","id":6027,"properties":{"Name":"Gregory,Lorenzo Rshid","Unit":"Solid Waste","Dept":"SWS Operations - South Corrido","Job_Title":"Laborer","Annual_Rt":null,"Hrly_Rate":"$10.25 ","RegTemp":"T","Full/Part":"F","OBJECTID":6027},"geometry":null},{"type":"Feature","id":6028,"properties":{"Name":"Johnson,Antonio","Unit":"Solid Waste","Dept":"SWS Operations - South Corrido","Job_Title":"Laborer","Annual_Rt":"$23,920.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6028},"geometry":null},{"type":"Feature","id":6029,"properties":{"Name":"Mills,Jire Lamar","Unit":"Solid Waste","Dept":"SWS Operations - South Corrido","Job_Title":"Laborer","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":6029},"geometry":null},{"type":"Feature","id":6030,"properties":{"Name":"Rush,Thomas Brandon","Unit":"Solid Waste","Dept":"SWS Operations - South Corrido","Job_Title":"Laborer","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":6030},"geometry":null},{"type":"Feature","id":6031,"properties":{"Name":"Smith,Donnie Jerome Neely","Unit":"Solid Waste","Dept":"SWS Operations - South Corrido","Job_Title":"Laborer","Annual_Rt":null,"Hrly_Rate":"$11.50 ","RegTemp":"T","Full/Part":"F","OBJECTID":6031},"geometry":null},{"type":"Feature","id":6032,"properties":{"Name":"Washington,Ronnell Bernard","Unit":"Solid Waste","Dept":"SWS Operations - South Corrido","Job_Title":"Laborer","Annual_Rt":null,"Hrly_Rate":"$10.00 ","RegTemp":"T","Full/Part":"F","OBJECTID":6032},"geometry":null},{"type":"Feature","id":6033,"properties":{"Name":"DeLaPena,Eric","Unit":"Solid Waste","Dept":"SWS Operations - Special Servi","Job_Title":"Field Operations Supervisor","Annual_Rt":"$51,391.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6033},"geometry":null},{"type":"Feature","id":6034,"properties":{"Name":"Higgins,Keithfaton Deshon","Unit":"Solid Waste","Dept":"SWS Operations - Special Servi","Job_Title":"Field Operations Supervisor","Annual_Rt":"$56,236.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6034},"geometry":null},{"type":"Feature","id":6035,"properties":{"Name":"Nachamie,Eric L.","Unit":"Solid Waste","Dept":"SWS Operations - Special Servi","Job_Title":"Management Analyst","Annual_Rt":"$66,995.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6035},"geometry":null},{"type":"Feature","id":6036,"properties":{"Name":"Epperson,Lester A","Unit":"Solid Waste","Dept":"SWS Operations - Special Servi","Job_Title":"Operations Supervisor","Annual_Rt":"$72,978.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6036},"geometry":null},{"type":"Feature","id":6037,"properties":{"Name":"Fiedler,Debra Susan","Unit":"Solid Waste","Dept":"SWS Operations - Special Servi","Job_Title":"Service Dispatcher","Annual_Rt":"$30,422.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6037},"geometry":null},{"type":"Feature","id":6038,"properties":{"Name":"Richardson,Terry Michael","Unit":"Solid Waste","Dept":"SWS Operations - Street Sweepi","Job_Title":"Equipment Operator II","Annual_Rt":"$31,988.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6038},"geometry":null},{"type":"Feature","id":6039,"properties":{"Name":"Chancellor,Michael Ray","Unit":"Solid Waste","Dept":"SWS Operations - Street Sweepi","Job_Title":"Equipment Operator III","Annual_Rt":"$36,709.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6039},"geometry":null},{"type":"Feature","id":6040,"properties":{"Name":"Clark,Cedric Kendell","Unit":"Solid Waste","Dept":"SWS Operations - Street Sweepi","Job_Title":"Equipment Operator III","Annual_Rt":"$36,709.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6040},"geometry":null},{"type":"Feature","id":6041,"properties":{"Name":"Horne,Michael","Unit":"Solid Waste","Dept":"SWS Operations - Street Sweepi","Job_Title":"Equipment Operator III","Annual_Rt":"$47,450.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6041},"geometry":null},{"type":"Feature","id":6042,"properties":{"Name":"Kiker,Jimmy C","Unit":"Solid Waste","Dept":"SWS Operations - Street Sweepi","Job_Title":"Equipment Operator III","Annual_Rt":"$42,436.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6042},"geometry":null},{"type":"Feature","id":6043,"properties":{"Name":"Newton,Mike A","Unit":"Solid Waste","Dept":"SWS Operations - Street Sweepi","Job_Title":"Equipment Operator III","Annual_Rt":"$46,647.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6043},"geometry":null},{"type":"Feature","id":6044,"properties":{"Name":"Pell,Gary W","Unit":"Solid Waste","Dept":"SWS Operations - Street Sweepi","Job_Title":"Equipment Operator III","Annual_Rt":"$37,781.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6044},"geometry":null},{"type":"Feature","id":6045,"properties":{"Name":"Pernice,Donald J.","Unit":"Solid Waste","Dept":"SWS Operations - Street Sweepi","Job_Title":"Equipment Operator III","Annual_Rt":"$38,825.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6045},"geometry":null},{"type":"Feature","id":6046,"properties":{"Name":"Poindexter,David Roger","Unit":"Solid Waste","Dept":"SWS Operations - Street Sweepi","Job_Title":"Equipment Operator III","Annual_Rt":"$37,075.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6046},"geometry":null},{"type":"Feature","id":6047,"properties":{"Name":"Strobert,Irvin","Unit":"Solid Waste","Dept":"SWS Operations - Street Sweepi","Job_Title":"Equipment Operator III","Annual_Rt":"$43,237.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6047},"geometry":null},{"type":"Feature","id":6048,"properties":{"Name":"Summers,William A","Unit":"Solid Waste","Dept":"SWS Operations - Street Sweepi","Job_Title":"Equipment Operator III","Annual_Rt":"$38,790.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6048},"geometry":null},{"type":"Feature","id":6049,"properties":{"Name":"Williams III,Paul E","Unit":"Solid Waste","Dept":"SWS Operations - Street Sweepi","Job_Title":"Equipment Operator III","Annual_Rt":"$36,140.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6049},"geometry":null},{"type":"Feature","id":6050,"properties":{"Name":"Smith,Jack E","Unit":"Solid Waste","Dept":"SWS Operations - Street Sweepi","Job_Title":"Labor Crew Chief II","Annual_Rt":"$47,655.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6050},"geometry":null},{"type":"Feature","id":6051,"properties":{"Name":"McIver,Leron Montrey","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Field Operations Supervisor","Annual_Rt":"$51,391.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6051},"geometry":null},{"type":"Feature","id":6052,"properties":{"Name":"Bryant Jr,James Clifton","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,314.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6052},"geometry":null},{"type":"Feature","id":6053,"properties":{"Name":"Gray,Lamont Antoine","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Labor Crew Chief II","Annual_Rt":"$35,441.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6053},"geometry":null},{"type":"Feature","id":6054,"properties":{"Name":"Aiken,Christian Van","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,837.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6054},"geometry":null},{"type":"Feature","id":6055,"properties":{"Name":"Blackmon,Emmanuel","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,837.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6055},"geometry":null},{"type":"Feature","id":6056,"properties":{"Name":"Brown,Timothy Earl","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,838.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6056},"geometry":null},{"type":"Feature","id":6057,"properties":{"Name":"Burrough,Anthony Bernard","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,837.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6057},"geometry":null},{"type":"Feature","id":6058,"properties":{"Name":"Cole,Henry Lee","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6058},"geometry":null},{"type":"Feature","id":6059,"properties":{"Name":"Davis,Brandon","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,838.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6059},"geometry":null},{"type":"Feature","id":6060,"properties":{"Name":"Davis,Tyran Rae","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,838.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6060},"geometry":null},{"type":"Feature","id":6061,"properties":{"Name":"Dunlap,George David","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,837.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6061},"geometry":null},{"type":"Feature","id":6062,"properties":{"Name":"Galloway,Frankie Lamont","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,838.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6062},"geometry":null},{"type":"Feature","id":6063,"properties":{"Name":"Galvan,Jose Martinez","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6063},"geometry":null},{"type":"Feature","id":6064,"properties":{"Name":"Gregory,Gary Marquis","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,837.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6064},"geometry":null},{"type":"Feature","id":6065,"properties":{"Name":"Howell,Dwayne Robert","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,837.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6065},"geometry":null},{"type":"Feature","id":6066,"properties":{"Name":"Jones,Myron S","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,076.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6066},"geometry":null},{"type":"Feature","id":6067,"properties":{"Name":"Kirkland,J C","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6067},"geometry":null},{"type":"Feature","id":6068,"properties":{"Name":"Klu,Charles S","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6068},"geometry":null},{"type":"Feature","id":6069,"properties":{"Name":"Lee,Kevin Travis","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,837.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6069},"geometry":null},{"type":"Feature","id":6070,"properties":{"Name":"Lee,Lakita Michelle","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$26,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6070},"geometry":null},{"type":"Feature","id":6071,"properties":{"Name":"Lockhart,Melvin","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,314.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6071},"geometry":null},{"type":"Feature","id":6072,"properties":{"Name":"Mathis,Brandon Montrell","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,838.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6072},"geometry":null},{"type":"Feature","id":6073,"properties":{"Name":"McConneyhead,Xavier Tyrell","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,838.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6073},"geometry":null},{"type":"Feature","id":6074,"properties":{"Name":"McCrimmon,Whitaker","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,493.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6074},"geometry":null},{"type":"Feature","id":6075,"properties":{"Name":"Miller,Gregory","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,837.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6075},"geometry":null},{"type":"Feature","id":6076,"properties":{"Name":"Orozco,Chrystofer Ethan","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6076},"geometry":null},{"type":"Feature","id":6077,"properties":{"Name":"Pitts,Leroy Edward","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,837.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6077},"geometry":null},{"type":"Feature","id":6078,"properties":{"Name":"Shepard,Devon Martan","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6078},"geometry":null},{"type":"Feature","id":6079,"properties":{"Name":"Smith Jr,Reginald Bernard","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6079},"geometry":null},{"type":"Feature","id":6080,"properties":{"Name":"Sullivan Sr,Raymond Lee","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6080},"geometry":null},{"type":"Feature","id":6081,"properties":{"Name":"Thompson,Rakim","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,314.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6081},"geometry":null},{"type":"Feature","id":6082,"properties":{"Name":"Thompson,Shieneme","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,314.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6082},"geometry":null},{"type":"Feature","id":6083,"properties":{"Name":"Thompson,Warren Eric","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$23,837.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6083},"geometry":null},{"type":"Feature","id":6084,"properties":{"Name":"Twitty-Davis,Rashad Jaree","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$24,315.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6084},"geometry":null},{"type":"Feature","id":6085,"properties":{"Name":"Woart Jr,Samuel K","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Laborer","Annual_Rt":"$25,225.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6085},"geometry":null},{"type":"Feature","id":6086,"properties":{"Name":"Adams,Joseph Hairston","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6086},"geometry":null},{"type":"Feature","id":6087,"properties":{"Name":"Bailey Sr,Christopher Lee","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6087},"geometry":null},{"type":"Feature","id":6088,"properties":{"Name":"Baker,George Alex","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6088},"geometry":null},{"type":"Feature","id":6089,"properties":{"Name":"Baldwin,Antonio Andre","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6089},"geometry":null},{"type":"Feature","id":6090,"properties":{"Name":"Benefield,Terrance Christopher","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6090},"geometry":null},{"type":"Feature","id":6091,"properties":{"Name":"Camp,Charles Baron","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6091},"geometry":null},{"type":"Feature","id":6092,"properties":{"Name":"Canup,James Eugene","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6092},"geometry":null},{"type":"Feature","id":6093,"properties":{"Name":"Carmichael Jr,Melvin","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$35,066.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6093},"geometry":null},{"type":"Feature","id":6094,"properties":{"Name":"Carr,Charles Earnest","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6094},"geometry":null},{"type":"Feature","id":6095,"properties":{"Name":"Clark,Howard Edward","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6095},"geometry":null},{"type":"Feature","id":6096,"properties":{"Name":"Edgecombe,Barbara A","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6096},"geometry":null},{"type":"Feature","id":6097,"properties":{"Name":"Ellis,Ervin O. N.","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6097},"geometry":null},{"type":"Feature","id":6098,"properties":{"Name":"Foxx,Billy L","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6098},"geometry":null},{"type":"Feature","id":6099,"properties":{"Name":"Francis,Lloyd Eccleston","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6099},"geometry":null},{"type":"Feature","id":6100,"properties":{"Name":"Greene Jr,Richard Allen","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":null,"Hrly_Rate":"$12.50 ","RegTemp":"T","Full/Part":"F","OBJECTID":6100},"geometry":null},{"type":"Feature","id":6101,"properties":{"Name":"Herrera,Reinel De Jesus Sanchez","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":null,"Hrly_Rate":"$12.50 ","RegTemp":"T","Full/Part":"F","OBJECTID":6101},"geometry":null},{"type":"Feature","id":6102,"properties":{"Name":"Holloway,Eddie C","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$37,227.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6102},"geometry":null},{"type":"Feature","id":6103,"properties":{"Name":"McCoy Jr,Nelson","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6103},"geometry":null},{"type":"Feature","id":6104,"properties":{"Name":"McNeil,Christopher Brooks","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6104},"geometry":null},{"type":"Feature","id":6105,"properties":{"Name":"McQuiller,Emery Demario","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6105},"geometry":null},{"type":"Feature","id":6106,"properties":{"Name":"Morris,Johnathan L","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6106},"geometry":null},{"type":"Feature","id":6107,"properties":{"Name":"Neal,Jerry","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6107},"geometry":null},{"type":"Feature","id":6108,"properties":{"Name":"Perry,Dwayne Anthony","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":null,"Hrly_Rate":"$12.50 ","RegTemp":"T","Full/Part":"F","OBJECTID":6108},"geometry":null},{"type":"Feature","id":6109,"properties":{"Name":"Phelps,Calvin","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":null,"Hrly_Rate":"$12.50 ","RegTemp":"T","Full/Part":"F","OBJECTID":6109},"geometry":null},{"type":"Feature","id":6110,"properties":{"Name":"Phillips,Ryan Darnell","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6110},"geometry":null},{"type":"Feature","id":6111,"properties":{"Name":"Price,Mark Alan","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6111},"geometry":null},{"type":"Feature","id":6112,"properties":{"Name":"Rendleman,Ivan","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6112},"geometry":null},{"type":"Feature","id":6113,"properties":{"Name":"Sandoval,Henry","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6113},"geometry":null},{"type":"Feature","id":6114,"properties":{"Name":"Simmons Jr,Michael B","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,574.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6114},"geometry":null},{"type":"Feature","id":6115,"properties":{"Name":"Smith,Christopher Dwain","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":null,"Hrly_Rate":"$12.50 ","RegTemp":"T","Full/Part":"F","OBJECTID":6115},"geometry":null},{"type":"Feature","id":6116,"properties":{"Name":"Smith,Joe Luther","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6116},"geometry":null},{"type":"Feature","id":6117,"properties":{"Name":"Smith,Stacey Maurice","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6117},"geometry":null},{"type":"Feature","id":6118,"properties":{"Name":"Strong,Lloyd Allen","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6118},"geometry":null},{"type":"Feature","id":6119,"properties":{"Name":"Taylor Sr,Harvey Bryant","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6119},"geometry":null},{"type":"Feature","id":6120,"properties":{"Name":"Thompson,Emmett Milton","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6120},"geometry":null},{"type":"Feature","id":6121,"properties":{"Name":"Underwood,Ricky Lyn","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6121},"geometry":null},{"type":"Feature","id":6122,"properties":{"Name":"Walton,Patrick Anthony","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6122},"geometry":null},{"type":"Feature","id":6123,"properties":{"Name":"Winchester,Fred Lee","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$33,753.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6123},"geometry":null},{"type":"Feature","id":6124,"properties":{"Name":"Worthington Jr,Dwayne Lloyd","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,428.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6124},"geometry":null},{"type":"Feature","id":6125,"properties":{"Name":"Young,Thomas L","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Equipment Operator","Annual_Rt":"$34,409.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6125},"geometry":null},{"type":"Feature","id":6126,"properties":{"Name":"Cousar,Shakay L","Unit":"Solid Waste","Dept":"SWS Operations - Yard Waste Co","Job_Title":"Sanitation Team Leader","Annual_Rt":"$36,150.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6126},"geometry":null},{"type":"Feature","id":6127,"properties":{"Name":"Dash,Esperanza E","Unit":"Solid Waste","Dept":"SWS Public Information","Job_Title":"Management Analyst","Annual_Rt":"$63,535.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6127},"geometry":null},{"type":"Feature","id":6128,"properties":{"Name":"Robinson,Erica D","Unit":"Solid Waste","Dept":"SWS Public Information","Job_Title":"Public Info Specialist Senior","Annual_Rt":"$55,487.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6128},"geometry":null},{"type":"Feature","id":6129,"properties":{"Name":"Curtis,Charita Lanette","Unit":"Solid Waste","Dept":"SWS Public Information","Job_Title":"Public Service Coordinator","Annual_Rt":"$62,313.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6129},"geometry":null},{"type":"Feature","id":6130,"properties":{"Name":"Evans,Rodriquez Deon","Unit":"Solid Waste","Dept":"SWS Safety","Job_Title":"Administrative Officer I","Annual_Rt":"$39,915.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6130},"geometry":null},{"type":"Feature","id":6131,"properties":{"Name":"Mickey,Shawn Calvin","Unit":"Solid Waste","Dept":"SWS Safety","Job_Title":"Administrative Officer I","Annual_Rt":"$40,730.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6131},"geometry":null},{"type":"Feature","id":6132,"properties":{"Name":"Teel,Christopher","Unit":"Solid Waste","Dept":"SWS Safety","Job_Title":"Field Operations Supervisor","Annual_Rt":"$51,391.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6132},"geometry":null},{"type":"Feature","id":6133,"properties":{"Name":"Acosta,Pedro","Unit":"Solid Waste","Dept":"SWS Safety","Job_Title":"Sanitation Team Leader","Annual_Rt":"$35,441.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6133},"geometry":null},{"type":"Feature","id":6134,"properties":{"Name":"Barber Jr,James","Unit":"Solid Waste","Dept":"SWS Safety","Job_Title":"Sanitation Team Leader","Annual_Rt":"$38,301.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6134},"geometry":null},{"type":"Feature","id":6135,"properties":{"Name":"Pauls,Darren","Unit":"Solid Waste","Dept":"SWS Safety","Job_Title":"Sanitation Team Leader","Annual_Rt":"$36,150.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6135},"geometry":null},{"type":"Feature","id":6136,"properties":{"Name":"Rhine,Trevon Alyn","Unit":"Solid Waste","Dept":"SWS Safety","Job_Title":"Sanitation Team Leader","Annual_Rt":"$36,150.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6136},"geometry":null},{"type":"Feature","id":6137,"properties":{"Name":"Farrand,Matthew Michael","Unit":"Solid Waste","Dept":"SWS Technology","Job_Title":"Business System Spec Sr","Annual_Rt":"$71,836.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6137},"geometry":null},{"type":"Feature","id":6138,"properties":{"Name":"Johnson,Kimberly Marie","Unit":"Solid Waste","Dept":"SWS Technology","Job_Title":"Business System Spec Sr","Annual_Rt":"$70,428.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6138},"geometry":null},{"type":"Feature","id":6139,"properties":{"Name":"Reaves,Edward Alexander","Unit":"Solid Waste","Dept":"SWS Technology","Job_Title":"Business Systems Manager","Annual_Rt":"$90,494.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6139},"geometry":null},{"type":"Feature","id":6140,"properties":{"Name":"Huggins,Leonard James","Unit":"Solid Waste","Dept":"SWS Technology","Job_Title":"GIS Coordinator","Annual_Rt":"$67,686.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6140},"geometry":null},{"type":"Feature","id":6141,"properties":{"Name":"Anthony,David L.","Unit":"Solid Waste","Dept":"SWS Technology","Job_Title":"GIS Technician","Annual_Rt":"$40,765.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6141},"geometry":null},{"type":"Feature","id":6142,"properties":{"Name":"Edwards,Christine A","Unit":"Utilities","Dept":"Utility Admin Communications","Job_Title":"Administrative Officer II","Annual_Rt":"$48,084.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6142},"geometry":null},{"type":"Feature","id":6143,"properties":{"Name":"Coley,Camden T.","Unit":"Utilities","Dept":"Utility Admin Communications","Job_Title":"Public Information Specialist","Annual_Rt":"$59,549.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6143},"geometry":null},{"type":"Feature","id":6144,"properties":{"Name":"Simpson,Charles V","Unit":"Utilities","Dept":"Utility Admin Communications","Job_Title":"Public Service Coordinator","Annual_Rt":"$80,590.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6144},"geometry":null},{"type":"Feature","id":6145,"properties":{"Name":"English,Kara Brooke","Unit":"Utilities","Dept":"Utility Admin Human Resources","Job_Title":"Administrative Officer II","Annual_Rt":"$51,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6145},"geometry":null},{"type":"Feature","id":6146,"properties":{"Name":"Castellino,Adela P","Unit":"Utilities","Dept":"Utility Admin Human Resources","Job_Title":"Administrative Officer III","Annual_Rt":null,"Hrly_Rate":"$45.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":6146},"geometry":null},{"type":"Feature","id":6147,"properties":{"Name":"Westall,Barbara K","Unit":"Utilities","Dept":"Utility Admin Human Resources","Job_Title":"Administrative Officer V","Annual_Rt":"$97,431.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6147},"geometry":null},{"type":"Feature","id":6148,"properties":{"Name":"Shah,Ruchi Yogen","Unit":"Utilities","Dept":"Utility Admin Human Resources","Job_Title":"Division Training Specialist","Annual_Rt":"$63,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6148},"geometry":null},{"type":"Feature","id":6149,"properties":{"Name":"Basaldua,Lucy Sara","Unit":"Utilities","Dept":"Utility Admin Human Resources","Job_Title":"Training Specialist","Annual_Rt":"$70,380.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6149},"geometry":null},{"type":"Feature","id":6150,"properties":{"Name":"Tkachuk,MIchael J","Unit":"Utilities","Dept":"Utility Admin-Directors Offic","Job_Title":"Administrative Officer II","Annual_Rt":"$47,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6150},"geometry":null},{"type":"Feature","id":6151,"properties":{"Name":"Lemmond,Laura C","Unit":"Utilities","Dept":"Utility Admin-Directors Offic","Job_Title":"Administrative Officer III","Annual_Rt":null,"Hrly_Rate":"$60.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":6151},"geometry":null},{"type":"Feature","id":6152,"properties":{"Name":"Eagle,Kimberly S","Unit":"Utilities","Dept":"Utility Admin-Directors Offic","Job_Title":"Deputy Utilities Director","Annual_Rt":"$132,600.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6152},"geometry":null},{"type":"Feature","id":6153,"properties":{"Name":"Shearin,Barry D","Unit":"Utilities","Dept":"Utility Admin-Directors Offic","Job_Title":"Deputy Utilities Director","Annual_Rt":"$134,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6153},"geometry":null},{"type":"Feature","id":6154,"properties":{"Name":"White,Ann M","Unit":"Utilities","Dept":"Utility Admin-Directors Offic","Job_Title":"Utilities Business Manager","Annual_Rt":null,"Hrly_Rate":"$70.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":6154},"geometry":null},{"type":"Feature","id":6155,"properties":{"Name":"Gullet,Barry M","Unit":"Utilities","Dept":"Utility Admin-Directors Offic","Job_Title":"Utilities Director","Annual_Rt":"$170,916.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6155},"geometry":null},{"type":"Feature","id":6156,"properties":{"Name":"Cousar,Regina Dobson","Unit":"Utilities","Dept":"Utility Admin-Directors Offic","Job_Title":"Utilities Quality Assurance Mg","Annual_Rt":"$94,044.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6156},"geometry":null},{"type":"Feature","id":6157,"properties":{"Name":"Frost,Jennifer Krupowicz","Unit":"Utilities","Dept":"Utility Admin-Directors Offic","Job_Title":"Utilities Services Manager","Annual_Rt":"$72,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6157},"geometry":null},{"type":"Feature","id":6158,"properties":{"Name":"Broome,Julian D","Unit":"Utilities","Dept":"Utility Backflow Prevention","Job_Title":"Construction Inspector","Annual_Rt":"$47,092.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6158},"geometry":null},{"type":"Feature","id":6159,"properties":{"Name":"Murphy,Michael Albert","Unit":"Utilities","Dept":"Utility Backflow Prevention","Job_Title":"Construction Inspector","Annual_Rt":"$48,112.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6159},"geometry":null},{"type":"Feature","id":6160,"properties":{"Name":"Webster,James W.","Unit":"Utilities","Dept":"Utility Backflow Prevention","Job_Title":"Construction Inspector","Annual_Rt":"$46,580.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6160},"geometry":null},{"type":"Feature","id":6161,"properties":{"Name":"Brevard,Donald","Unit":"Utilities","Dept":"Utility Backflow Prevention","Job_Title":"Eng Services Investigator","Annual_Rt":"$41,645.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6161},"geometry":null},{"type":"Feature","id":6162,"properties":{"Name":"Huffman,Randy L","Unit":"Utilities","Dept":"Utility Backflow Prevention","Job_Title":"Eng Services Investigator","Annual_Rt":"$42,411.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6162},"geometry":null},{"type":"Feature","id":6163,"properties":{"Name":"James,Brela B.","Unit":"Utilities","Dept":"Utility Backflow Prevention","Job_Title":"Eng Services Investigator","Annual_Rt":"$46,342.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6163},"geometry":null},{"type":"Feature","id":6164,"properties":{"Name":"Riley,Kathy H","Unit":"Utilities","Dept":"Utility Backflow Prevention","Job_Title":"Eng Services Investigator","Annual_Rt":"$49,460.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6164},"geometry":null},{"type":"Feature","id":6165,"properties":{"Name":"Hendrix Jr,Robert L","Unit":"Utilities","Dept":"Utility Backflow Prevention","Job_Title":"Engineering Assistant","Annual_Rt":"$51,635.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6165},"geometry":null},{"type":"Feature","id":6166,"properties":{"Name":"Krouse,Mark A","Unit":"Utilities","Dept":"Utility Backflow Prevention","Job_Title":"Environmental Program Coord","Annual_Rt":"$78,095.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6166},"geometry":null},{"type":"Feature","id":6167,"properties":{"Name":"Briggs,Robert M","Unit":"Utilities","Dept":"Utility Backflow Prevention","Job_Title":"Plans Reviewer","Annual_Rt":"$61,755.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6167},"geometry":null},{"type":"Feature","id":6168,"properties":{"Name":"Hyde II,Ted J","Unit":"Utilities","Dept":"Utility Backflow Prevention","Job_Title":"Plans Reviewer","Annual_Rt":"$49,470.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6168},"geometry":null},{"type":"Feature","id":6169,"properties":{"Name":"Rice,Michael","Unit":"Utilities","Dept":"Utility Backflow Prevention","Job_Title":"Plans Reviewer","Annual_Rt":"$50,257.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6169},"geometry":null},{"type":"Feature","id":6170,"properties":{"Name":"Leonard,Elizabeth Oakes","Unit":"Utilities","Dept":"Utility Business Office","Job_Title":"Accountant I","Annual_Rt":"$52,496.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6170},"geometry":null},{"type":"Feature","id":6171,"properties":{"Name":"Boland,Sylvia Tartt","Unit":"Utilities","Dept":"Utility Business Office","Job_Title":"Accountant II","Annual_Rt":"$57,834.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6171},"geometry":null},{"type":"Feature","id":6172,"properties":{"Name":"Dolan,Abby","Unit":"Utilities","Dept":"Utility Business Office","Job_Title":"Const Contracts Admin Coord Ld","Annual_Rt":"$68,714.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6172},"geometry":null},{"type":"Feature","id":6173,"properties":{"Name":"Neal,Terra G","Unit":"Utilities","Dept":"Utility Business Office","Job_Title":"Office Assistant V","Annual_Rt":"$40,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6173},"geometry":null},{"type":"Feature","id":6174,"properties":{"Name":"Howell,Thurman Chad","Unit":"Utilities","Dept":"Utility Business Office","Job_Title":"Utilities Business Manager","Annual_Rt":"$93,840.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6174},"geometry":null},{"type":"Feature","id":6175,"properties":{"Name":"Nix,Robert P","Unit":"Utilities","Dept":"Utility Business Office","Job_Title":"Utilities Services Manager","Annual_Rt":"$81,575.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6175},"geometry":null},{"type":"Feature","id":6176,"properties":{"Name":"Bass,Patricia B","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$65,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6176},"geometry":null},{"type":"Feature","id":6177,"properties":{"Name":"Beaven,Debra E","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$73,895.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6177},"geometry":null},{"type":"Feature","id":6178,"properties":{"Name":"Gallaher III,Albert E","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$59,486.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6178},"geometry":null},{"type":"Feature","id":6179,"properties":{"Name":"Moore,Meredith Sexton","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$66,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6179},"geometry":null},{"type":"Feature","id":6180,"properties":{"Name":"Oakes,Deborah","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$65,790.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6180},"geometry":null},{"type":"Feature","id":6181,"properties":{"Name":"Rivers,Amy Adams","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Bus Systems Spec Intrm","Annual_Rt":"$65,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6181},"geometry":null},{"type":"Feature","id":6182,"properties":{"Name":"Conine,Walter Ashley","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Business System Spec Sr","Annual_Rt":"$74,758.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6182},"geometry":null},{"type":"Feature","id":6183,"properties":{"Name":"Deese,Harold J","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Business System Spec Sr","Annual_Rt":"$80,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6183},"geometry":null},{"type":"Feature","id":6184,"properties":{"Name":"Downs,Shawn Ohara","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Business System Spec Sr","Annual_Rt":"$71,837.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6184},"geometry":null},{"type":"Feature","id":6185,"properties":{"Name":"Helms,Matthew John","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Business System Spec Sr","Annual_Rt":"$71,961.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6185},"geometry":null},{"type":"Feature","id":6186,"properties":{"Name":"Hoyle,Matthew R","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Business System Spec Sr","Annual_Rt":"$71,837.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6186},"geometry":null},{"type":"Feature","id":6187,"properties":{"Name":"Walker,Kevin M","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Business System Spec Sr","Annual_Rt":"$74,511.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6187},"geometry":null},{"type":"Feature","id":6188,"properties":{"Name":"White,Richard Everette","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Business System Spec Sr","Annual_Rt":"$74,052.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6188},"geometry":null},{"type":"Feature","id":6189,"properties":{"Name":"Coffman,Shawn M","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Business Systems Prog Manager","Annual_Rt":"$101,486.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6189},"geometry":null},{"type":"Feature","id":6190,"properties":{"Name":"Bailey,John Robinson","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Business Systems Supervisor","Annual_Rt":"$93,692.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6190},"geometry":null},{"type":"Feature","id":6191,"properties":{"Name":"Clontz,Susan N","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"GIS Analyst","Annual_Rt":"$65,944.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6191},"geometry":null},{"type":"Feature","id":6192,"properties":{"Name":"Johnson,James David","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Software Developer Senior","Annual_Rt":"$102,484.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6192},"geometry":null},{"type":"Feature","id":6193,"properties":{"Name":"Keyeux,Jean Francois","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Software Developer Senior","Annual_Rt":"$92,820.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6193},"geometry":null},{"type":"Feature","id":6194,"properties":{"Name":"Groce,Douglas N","Unit":"Utilities","Dept":"Utility Business Systems (IT)","Job_Title":"Sr Business Systems Manager","Annual_Rt":"$108,622.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6194},"geometry":null},{"type":"Feature","id":6195,"properties":{"Name":"Gilchrist,Victor R","Unit":"Utilities","Dept":"Utility Catawba Trt Plant","Job_Title":"Pump Station Technician","Annual_Rt":"$41,354.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6195},"geometry":null},{"type":"Feature","id":6196,"properties":{"Name":"Talton,James Olin","Unit":"Utilities","Dept":"Utility Catawba Trt Plant","Job_Title":"Pump Station Technician","Annual_Rt":"$38,148.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6196},"geometry":null},{"type":"Feature","id":6197,"properties":{"Name":"Wright Jr,BT","Unit":"Utilities","Dept":"Utility Catawba Trt Plant","Job_Title":"Pump Station Technician","Annual_Rt":"$43,100.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6197},"geometry":null},{"type":"Feature","id":6198,"properties":{"Name":"Graham,Robert L","Unit":"Utilities","Dept":"Utility Catawba Trt Plant","Job_Title":"Pumping Station Supervisor","Annual_Rt":"$60,770.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6198},"geometry":null},{"type":"Feature","id":6199,"properties":{"Name":"Carver,Timothy W","Unit":"Utilities","Dept":"Utility Catawba Trt Plant","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$38,550.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6199},"geometry":null},{"type":"Feature","id":6200,"properties":{"Name":"Clark,Robert K","Unit":"Utilities","Dept":"Utility Catawba Trt Plant","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$46,998.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6200},"geometry":null},{"type":"Feature","id":6201,"properties":{"Name":"Edwards,Trevor L.","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Administrative Officer I","Annual_Rt":"$40,730.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6201},"geometry":null},{"type":"Feature","id":6202,"properties":{"Name":"Byers,Tamara Lynn","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Administrative Officer II","Annual_Rt":"$51,184.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6202},"geometry":null},{"type":"Feature","id":6203,"properties":{"Name":"Harrison,Gregory M","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Administrative Officer II","Annual_Rt":"$48,084.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6203},"geometry":null},{"type":"Feature","id":6204,"properties":{"Name":"Robinson,Sheena Patrick","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Administrative Officer II","Annual_Rt":"$51,745.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6204},"geometry":null},{"type":"Feature","id":6205,"properties":{"Name":"Solberg,Christen M","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer Service Supervisor","Annual_Rt":"$47,146.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6205},"geometry":null},{"type":"Feature","id":6206,"properties":{"Name":"Cloud,Sharon Delores","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Serv Asst Sr","Annual_Rt":"$38,629.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6206},"geometry":null},{"type":"Feature","id":6207,"properties":{"Name":"Jeffries Jr,Larry Arnold","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Serv Asst Sr","Annual_Rt":"$34,782.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6207},"geometry":null},{"type":"Feature","id":6208,"properties":{"Name":"Smith,Cassandra Y","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Serv Asst Sr","Annual_Rt":"$45,417.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6208},"geometry":null},{"type":"Feature","id":6209,"properties":{"Name":"Young,Margarett Ann","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Serv Asst Sr","Annual_Rt":"$35,697.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6209},"geometry":null},{"type":"Feature","id":6210,"properties":{"Name":"Chisholm,Roderick D","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$36,385.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6210},"geometry":null},{"type":"Feature","id":6211,"properties":{"Name":"Davis,Regina Sessoms","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$30,809.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6211},"geometry":null},{"type":"Feature","id":6212,"properties":{"Name":"Gaugler,Daniel Curtis","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,716.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6212},"geometry":null},{"type":"Feature","id":6213,"properties":{"Name":"Jefferson,Kevin Sean","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$31,426.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6213},"geometry":null},{"type":"Feature","id":6214,"properties":{"Name":"Martin,Febee","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$33,364.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6214},"geometry":null},{"type":"Feature","id":6215,"properties":{"Name":"Miller,Rita Campbell","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$39,680.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6215},"geometry":null},{"type":"Feature","id":6216,"properties":{"Name":"Sifford,Nahshun Dedrick","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$35,920.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6216},"geometry":null},{"type":"Feature","id":6217,"properties":{"Name":"Singleton,Joyce Marie","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Serv. Assist","Annual_Rt":"$33,863.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6217},"geometry":null},{"type":"Feature","id":6218,"properties":{"Name":"Adams,Eric A","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$41,533.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6218},"geometry":null},{"type":"Feature","id":6219,"properties":{"Name":"Belin,Eleanora Leach","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$41,533.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6219},"geometry":null},{"type":"Feature","id":6220,"properties":{"Name":"Black,Sophette L.","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$41,533.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6220},"geometry":null},{"type":"Feature","id":6221,"properties":{"Name":"Phillips,Kenneth L","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Customer/Revenue Service Spec.","Annual_Rt":"$41,533.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6221},"geometry":null},{"type":"Feature","id":6222,"properties":{"Name":"Miller,Kelvin Lorenzo","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Field Operations Supervisor","Annual_Rt":"$52,419.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6222},"geometry":null},{"type":"Feature","id":6223,"properties":{"Name":"Mobley,Darwin J.","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Field Operations Supervisor","Annual_Rt":"$52,419.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6223},"geometry":null},{"type":"Feature","id":6224,"properties":{"Name":"Sloan Jr,Robert Lee","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Indust Meter Repair Crew Chief","Annual_Rt":"$42,948.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6224},"geometry":null},{"type":"Feature","id":6225,"properties":{"Name":"Clyburn Jr,Theron G","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Indust Meter Repair Technician","Annual_Rt":"$35,850.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6225},"geometry":null},{"type":"Feature","id":6226,"properties":{"Name":"Lackey,Timothy Wayne","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Indust Meter Repair Technician","Annual_Rt":"$38,031.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6226},"geometry":null},{"type":"Feature","id":6227,"properties":{"Name":"Mack,Maurice Allen","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Indust Meter Repair Technician","Annual_Rt":"$34,458.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6227},"geometry":null},{"type":"Feature","id":6228,"properties":{"Name":"Scott,Michael A","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Indust Meter Repair Technician","Annual_Rt":"$34,267.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6228},"geometry":null},{"type":"Feature","id":6229,"properties":{"Name":"Ware,James","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Indust Meter Repair Technician","Annual_Rt":"$34,092.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6229},"geometry":null},{"type":"Feature","id":6230,"properties":{"Name":"Zimmerman,Dexter D","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Indust Meter Repair Technician","Annual_Rt":"$35,314.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6230},"geometry":null},{"type":"Feature","id":6231,"properties":{"Name":"Perez,Marcos","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Labor Crew Chief II","Annual_Rt":"$48,887.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6231},"geometry":null},{"type":"Feature","id":6232,"properties":{"Name":"Pernie II,David Gilbert","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6232},"geometry":null},{"type":"Feature","id":6233,"properties":{"Name":"Santos,Benjamin","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6233},"geometry":null},{"type":"Feature","id":6234,"properties":{"Name":"Stanback,Tabatha M","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6234},"geometry":null},{"type":"Feature","id":6235,"properties":{"Name":"Klein,Maeneen E.","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Management Analyst Senior","Annual_Rt":"$67,844.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6235},"geometry":null},{"type":"Feature","id":6236,"properties":{"Name":"Harris,James S","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Meter Services Supervisor","Annual_Rt":"$69,925.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6236},"geometry":null},{"type":"Feature","id":6237,"properties":{"Name":"Long,Brian W","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Meter Services Supervisor","Annual_Rt":"$52,419.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6237},"geometry":null},{"type":"Feature","id":6238,"properties":{"Name":"Arnold,Gail T","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Office Assistant V","Annual_Rt":"$43,749.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6238},"geometry":null},{"type":"Feature","id":6239,"properties":{"Name":"Seegars,Yashica M.","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Office Assistant V","Annual_Rt":"$38,427.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6239},"geometry":null},{"type":"Feature","id":6240,"properties":{"Name":"Chaney Jr,Samuel L.","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Operations Supervisor","Annual_Rt":"$64,633.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6240},"geometry":null},{"type":"Feature","id":6241,"properties":{"Name":"Delzell,Barry L.","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Senior Engineer","Annual_Rt":"$74,119.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6241},"geometry":null},{"type":"Feature","id":6242,"properties":{"Name":"Cochran,Qwann Sharlice","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Sr. Water Service Technician","Annual_Rt":"$33,643.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6242},"geometry":null},{"type":"Feature","id":6243,"properties":{"Name":"Johnson,Corey J.","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Sr. Water Service Technician","Annual_Rt":"$34,315.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6243},"geometry":null},{"type":"Feature","id":6244,"properties":{"Name":"McIllwaine,Jonta Markese","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Sr. Water Service Technician","Annual_Rt":"$34,315.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6244},"geometry":null},{"type":"Feature","id":6245,"properties":{"Name":"Pichardo De La Cruz,Hanniel R","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Sr. Water Service Technician","Annual_Rt":"$35,007.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6245},"geometry":null},{"type":"Feature","id":6246,"properties":{"Name":"Smith,Devere Bentley","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Sr. Water Service Technician","Annual_Rt":"$33,643.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6246},"geometry":null},{"type":"Feature","id":6247,"properties":{"Name":"Staley,Larry D","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Sr. Water Service Technician","Annual_Rt":"$39,665.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6247},"geometry":null},{"type":"Feature","id":6248,"properties":{"Name":"Dixon,Antoinette G","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Training Representative","Annual_Rt":"$50,695.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6248},"geometry":null},{"type":"Feature","id":6249,"properties":{"Name":"Miller,Steven K","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Utilities Customer Service Mgr","Annual_Rt":"$95,403.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6249},"geometry":null},{"type":"Feature","id":6250,"properties":{"Name":"Behrendt,Jon C","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Utilities Operations Manager","Annual_Rt":"$87,614.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6250},"geometry":null},{"type":"Feature","id":6251,"properties":{"Name":"Goodson,Margaret E.","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Utilities Services Tech","Annual_Rt":"$37,424.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6251},"geometry":null},{"type":"Feature","id":6252,"properties":{"Name":"Hinson,Andrew Gad","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Meter Repair Technician","Annual_Rt":"$31,689.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6252},"geometry":null},{"type":"Feature","id":6253,"properties":{"Name":"Knox,Tenny Jerome","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Meter Repair Technician","Annual_Rt":"$31,596.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6253},"geometry":null},{"type":"Feature","id":6254,"properties":{"Name":"Nichols,Robert N","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Meter Repair Technician","Annual_Rt":"$34,287.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6254},"geometry":null},{"type":"Feature","id":6255,"properties":{"Name":"Ouzts,Ronald E","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Meter Repair Technician","Annual_Rt":"$30,961.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6255},"geometry":null},{"type":"Feature","id":6256,"properties":{"Name":"Quick,Charles Demario","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Meter Repair Technician","Annual_Rt":"$30,961.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6256},"geometry":null},{"type":"Feature","id":6257,"properties":{"Name":"Shaw,William Scott","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Meter Repair Technician","Annual_Rt":"$34,244.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6257},"geometry":null},{"type":"Feature","id":6258,"properties":{"Name":"Turner,Edward","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Meter Repair Technician","Annual_Rt":"$39,174.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6258},"geometry":null},{"type":"Feature","id":6259,"properties":{"Name":"Alexander,Gary B","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$32,444.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6259},"geometry":null},{"type":"Feature","id":6260,"properties":{"Name":"Barbee,Malina R","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$30,972.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6260},"geometry":null},{"type":"Feature","id":6261,"properties":{"Name":"Bell,Demetrius A.","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,839.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6261},"geometry":null},{"type":"Feature","id":6262,"properties":{"Name":"Brooks,Moses K","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,839.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6262},"geometry":null},{"type":"Feature","id":6263,"properties":{"Name":"Buchanan,Phillip","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,254.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6263},"geometry":null},{"type":"Feature","id":6264,"properties":{"Name":"Cloud,Demyrio Laron","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,254.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6264},"geometry":null},{"type":"Feature","id":6265,"properties":{"Name":"Galarreta,Pedro Eduardo","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,254.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6265},"geometry":null},{"type":"Feature","id":6266,"properties":{"Name":"Gray,Morris Dolleh","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,960.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6266},"geometry":null},{"type":"Feature","id":6267,"properties":{"Name":"Gwaltney,Marcus Dean","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$31,261.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6267},"geometry":null},{"type":"Feature","id":6268,"properties":{"Name":"Herbert,Cameron Andrew","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$30,611.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6268},"geometry":null},{"type":"Feature","id":6269,"properties":{"Name":"Jackson,LaVonne Denise","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,839.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6269},"geometry":null},{"type":"Feature","id":6270,"properties":{"Name":"Kanu,Allieu Shiek","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$30,236.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6270},"geometry":null},{"type":"Feature","id":6271,"properties":{"Name":"Keaton,Frank Colla","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,254.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6271},"geometry":null},{"type":"Feature","id":6272,"properties":{"Name":"Lanave,Laurence Victor","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,254.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6272},"geometry":null},{"type":"Feature","id":6273,"properties":{"Name":"Lorth,Don","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$31,649.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6273},"geometry":null},{"type":"Feature","id":6274,"properties":{"Name":"McCombs,Warren","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,254.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6274},"geometry":null},{"type":"Feature","id":6275,"properties":{"Name":"McIlwain,Michelle R","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$32,486.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6275},"geometry":null},{"type":"Feature","id":6276,"properties":{"Name":"Moore,Michelle","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$31,720.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6276},"geometry":null},{"type":"Feature","id":6277,"properties":{"Name":"Murray,Brishen Antoan","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,839.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6277},"geometry":null},{"type":"Feature","id":6278,"properties":{"Name":"Nylekoyah,Emmanuel G.","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$30,309.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6278},"geometry":null},{"type":"Feature","id":6279,"properties":{"Name":"Paschal,Kevin","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,839.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6279},"geometry":null},{"type":"Feature","id":6280,"properties":{"Name":"Proffitt,Clara W","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,839.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6280},"geometry":null},{"type":"Feature","id":6281,"properties":{"Name":"Roberts,Seh Jerome","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,839.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6281},"geometry":null},{"type":"Feature","id":6282,"properties":{"Name":"Schwab,Wesley Alexander","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,254.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6282},"geometry":null},{"type":"Feature","id":6283,"properties":{"Name":"Shipman,David O.","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,434.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6283},"geometry":null},{"type":"Feature","id":6284,"properties":{"Name":"Smith,Samuel A","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$30,952.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6284},"geometry":null},{"type":"Feature","id":6285,"properties":{"Name":"Smoke,Thomas Daniel Graef","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,254.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6285},"geometry":null},{"type":"Feature","id":6286,"properties":{"Name":"Stoute,Peter Hallam","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$31,720.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6286},"geometry":null},{"type":"Feature","id":6287,"properties":{"Name":"Tolson,Antonio James","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,254.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6287},"geometry":null},{"type":"Feature","id":6288,"properties":{"Name":"Wahabodeen,Shoaib Ahmed","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,254.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6288},"geometry":null},{"type":"Feature","id":6289,"properties":{"Name":"Walker,Veronica R.","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,839.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6289},"geometry":null},{"type":"Feature","id":6290,"properties":{"Name":"Washington,Carl","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,254.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6290},"geometry":null},{"type":"Feature","id":6291,"properties":{"Name":"Wasileff,Guillermo Angel","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,254.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6291},"geometry":null},{"type":"Feature","id":6292,"properties":{"Name":"Webster Jr,Robert D","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$41,642.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6292},"geometry":null},{"type":"Feature","id":6293,"properties":{"Name":"Whitener,Jennifer Lynn","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,839.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6293},"geometry":null},{"type":"Feature","id":6294,"properties":{"Name":"Williams,Keith Clanderous","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$29,254.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6294},"geometry":null},{"type":"Feature","id":6295,"properties":{"Name":"Zepu,Isaac W","Unit":"Utilities","Dept":"Utility Customer Service-Admin","Job_Title":"Water Service Technician","Annual_Rt":"$31,039.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6295},"geometry":null},{"type":"Feature","id":6296,"properties":{"Name":"Berti,Matthew J","Unit":"Utilities","Dept":"Utility Dukes WTP","Job_Title":"Water Treatment Plant Opr A","Annual_Rt":"$44,625.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6296},"geometry":null},{"type":"Feature","id":6297,"properties":{"Name":"McEver,Thomas E","Unit":"Utilities","Dept":"Utility Dukes WTP","Job_Title":"Water Treatment Plant Opr A","Annual_Rt":"$56,280.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6297},"geometry":null},{"type":"Feature","id":6298,"properties":{"Name":"Rice,Latoya Nicole","Unit":"Utilities","Dept":"Utility Dukes WTP","Job_Title":"Water Treatment Plant Opr A","Annual_Rt":"$44,625.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6298},"geometry":null},{"type":"Feature","id":6299,"properties":{"Name":"Strother,George G","Unit":"Utilities","Dept":"Utility Dukes WTP","Job_Title":"Water Treatment Plant Opr A","Annual_Rt":"$49,111.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6299},"geometry":null},{"type":"Feature","id":6300,"properties":{"Name":"Wagner,Paul Thomas","Unit":"Utilities","Dept":"Utility Dukes WTP","Job_Title":"Water Treatment Plant Opr A","Annual_Rt":"$47,248.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6300},"geometry":null},{"type":"Feature","id":6301,"properties":{"Name":"Walker,William James","Unit":"Utilities","Dept":"Utility Dukes WTP","Job_Title":"Water Treatment Plant Opr A","Annual_Rt":"$45,822.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6301},"geometry":null},{"type":"Feature","id":6302,"properties":{"Name":"Branch,Kendra N","Unit":"Utilities","Dept":"Utility Dukes WTP","Job_Title":"Water Treatment Plant Opr C","Annual_Rt":"$38,015.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6302},"geometry":null},{"type":"Feature","id":6303,"properties":{"Name":"Banick,David Michael","Unit":"Utilities","Dept":"Utility Dukes WTP","Job_Title":"Water Treatment Plant Supv","Annual_Rt":"$60,650.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6303},"geometry":null},{"type":"Feature","id":6304,"properties":{"Name":"Legette,Crystal R","Unit":"Utilities","Dept":"Utility EMD Administration","Job_Title":"Administrative Officer II","Annual_Rt":"$48,084.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6304},"geometry":null},{"type":"Feature","id":6305,"properties":{"Name":"Murphy III,John M","Unit":"Utilities","Dept":"Utility EMD Administration","Job_Title":"Management Analyst","Annual_Rt":"$72,748.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6305},"geometry":null},{"type":"Feature","id":6306,"properties":{"Name":"Macomber,Maggie A","Unit":"Utilities","Dept":"Utility EMD Administration","Job_Title":"Senior Engineer","Annual_Rt":"$76,177.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6306},"geometry":null},{"type":"Feature","id":6307,"properties":{"Name":"Jarrell,Jacqueline A","Unit":"Utilities","Dept":"Utility EMD Administration","Job_Title":"Utilities Manager","Annual_Rt":"$113,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6307},"geometry":null},{"type":"Feature","id":6308,"properties":{"Name":"Creech,Jean Gaty","Unit":"Utilities","Dept":"Utility EMD Administration","Job_Title":"Utilities Residuals Coord","Annual_Rt":"$59,037.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6308},"geometry":null},{"type":"Feature","id":6309,"properties":{"Name":"Padgett,Dawn K","Unit":"Utilities","Dept":"Utility EMD Administration","Job_Title":"Water Quality Program Admin","Annual_Rt":null,"Hrly_Rate":"$41.42 ","RegTemp":"T","Full/Part":"P","OBJECTID":6309},"geometry":null},{"type":"Feature","id":6310,"properties":{"Name":"Sypolt,Shannon S.","Unit":"Utilities","Dept":"Utility EMD Administration","Job_Title":"Water Quality Program Admin","Annual_Rt":"$68,688.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6310},"geometry":null},{"type":"Feature","id":6311,"properties":{"Name":"Nunez,Matthew Hall","Unit":"Utilities","Dept":"Utility EMD Administration","Job_Title":"Water Quality Program Speciali","Annual_Rt":"$58,360.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6311},"geometry":null},{"type":"Feature","id":6312,"properties":{"Name":"Bonfiglio,Caitlin R","Unit":"Utilities","Dept":"Utility EMD Administration","Job_Title":"Youth Intern","Annual_Rt":null,"Hrly_Rate":"$12.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":6312},"geometry":null},{"type":"Feature","id":6313,"properties":{"Name":"Hunnicutt,Travis Scott","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Chief Electrical Engineer","Annual_Rt":"$92,083.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6313},"geometry":null},{"type":"Feature","id":6314,"properties":{"Name":"Hair,Brian M","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Electrical Engineer","Annual_Rt":"$75,500.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6314},"geometry":null},{"type":"Feature","id":6315,"properties":{"Name":"Campbell,Robert A.","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Electrical Engineer Sr","Annual_Rt":"$85,602.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6315},"geometry":null},{"type":"Feature","id":6316,"properties":{"Name":"Grinage,Adina J","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Office Assistant IV","Annual_Rt":"$32,333.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6316},"geometry":null},{"type":"Feature","id":6317,"properties":{"Name":"Fritts,Robert E.","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Maint Mgr","Annual_Rt":"$67,217.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6317},"geometry":null},{"type":"Feature","id":6318,"properties":{"Name":"Ellis,Casey J","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Maint Supv","Annual_Rt":"$55,996.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6318},"geometry":null},{"type":"Feature","id":6319,"properties":{"Name":"Frederick,Mitchell C","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Maint Supv","Annual_Rt":"$57,945.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6319},"geometry":null},{"type":"Feature","id":6320,"properties":{"Name":"Lewis,Henry M","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Maint Supv","Annual_Rt":"$65,726.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6320},"geometry":null},{"type":"Feature","id":6321,"properties":{"Name":"Taylor,William Ernie","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Maint Supv","Annual_Rt":"$58,775.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6321},"geometry":null},{"type":"Feature","id":6322,"properties":{"Name":"Webb,Timothy Chad","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Maint Supv","Annual_Rt":"$55,996.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6322},"geometry":null},{"type":"Feature","id":6323,"properties":{"Name":"Aiken,Michael Patrick","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$39,436.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6323},"geometry":null},{"type":"Feature","id":6324,"properties":{"Name":"Bailey,Glenn Grant","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$39,436.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6324},"geometry":null},{"type":"Feature","id":6325,"properties":{"Name":"Cox,David M","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$54,937.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6325},"geometry":null},{"type":"Feature","id":6326,"properties":{"Name":"Frost Jr,Daniel Richard","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$38,663.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6326},"geometry":null},{"type":"Feature","id":6327,"properties":{"Name":"Messer,Clifton Wayne","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$39,436.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6327},"geometry":null},{"type":"Feature","id":6328,"properties":{"Name":"OLeary,Travis Ryan","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$38,663.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6328},"geometry":null},{"type":"Feature","id":6329,"properties":{"Name":"Phillips,Emmett Benedict","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$39,436.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6329},"geometry":null},{"type":"Feature","id":6330,"properties":{"Name":"Reese III,Jackie Leonard","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$39,436.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6330},"geometry":null},{"type":"Feature","id":6331,"properties":{"Name":"Silvers,Benjamin Willis","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$39,436.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6331},"geometry":null},{"type":"Feature","id":6332,"properties":{"Name":"Stegall Jr,James Larry","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$39,436.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6332},"geometry":null},{"type":"Feature","id":6333,"properties":{"Name":"Taylor,Andy Ray","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$39,436.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6333},"geometry":null},{"type":"Feature","id":6334,"properties":{"Name":"Wallace,Ronald E.","Unit":"Utilities","Dept":"Utility EMD Maintenance","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$42,591.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6334},"geometry":null},{"type":"Feature","id":6335,"properties":{"Name":"Bromirski,Jason Robert","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Construction Inspector","Annual_Rt":"$43,729.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6335},"geometry":null},{"type":"Feature","id":6336,"properties":{"Name":"Clements,Marcus Dwayne","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Construction Inspector","Annual_Rt":"$46,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6336},"geometry":null},{"type":"Feature","id":6337,"properties":{"Name":"Leach,Tammy Lin","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Construction Inspector","Annual_Rt":"$45,645.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6337},"geometry":null},{"type":"Feature","id":6338,"properties":{"Name":"Roosen,Steven G","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Construction Inspector","Annual_Rt":"$57,655.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6338},"geometry":null},{"type":"Feature","id":6339,"properties":{"Name":"Swann,Steve M","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Construction Inspector","Annual_Rt":"$57,877.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6339},"geometry":null},{"type":"Feature","id":6340,"properties":{"Name":"Watson,Reginald D","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Construction Inspector","Annual_Rt":"$54,282.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6340},"geometry":null},{"type":"Feature","id":6341,"properties":{"Name":"Lopina,Philip J .","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Construction Supervisor","Annual_Rt":"$59,058.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6341},"geometry":null},{"type":"Feature","id":6342,"properties":{"Name":"Grainger,James A","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Drafting Technician","Annual_Rt":"$44,144.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6342},"geometry":null},{"type":"Feature","id":6343,"properties":{"Name":"Mayes,Cynthia L","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Drafting Technician","Annual_Rt":"$39,778.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6343},"geometry":null},{"type":"Feature","id":6344,"properties":{"Name":"Medlin,Renee Amber","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Drafting Technician","Annual_Rt":"$43,860.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6344},"geometry":null},{"type":"Feature","id":6345,"properties":{"Name":"Statham,Jerry W","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Drafting Technician","Annual_Rt":"$43,872.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6345},"geometry":null},{"type":"Feature","id":6346,"properties":{"Name":"Williams,Beth J.","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Drafting Technician","Annual_Rt":"$46,973.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6346},"geometry":null},{"type":"Feature","id":6347,"properties":{"Name":"OLeary,Kelly J.","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Engineering Division Manager","Annual_Rt":"$95,611.74 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6347},"geometry":null},{"type":"Feature","id":6348,"properties":{"Name":"Battle,Marvin J","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$62,980.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6348},"geometry":null},{"type":"Feature","id":6349,"properties":{"Name":"Buchanan,Stephen G.","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$62,418.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6349},"geometry":null},{"type":"Feature","id":6350,"properties":{"Name":"Ingle,Richard A","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$55,618.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6350},"geometry":null},{"type":"Feature","id":6351,"properties":{"Name":"Rich Jr,Drexel A","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$71,555.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6351},"geometry":null},{"type":"Feature","id":6352,"properties":{"Name":"Sechler,Erich Michael","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"GIS Analyst","Annual_Rt":"$56,140.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6352},"geometry":null},{"type":"Feature","id":6353,"properties":{"Name":"Williams,David Donelson","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"GIS Analyst","Annual_Rt":"$56,140.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6353},"geometry":null},{"type":"Feature","id":6354,"properties":{"Name":"Hill,Aaron R","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"GIS Technician","Annual_Rt":"$45,859.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6354},"geometry":null},{"type":"Feature","id":6355,"properties":{"Name":"Johnson,Mary Lauren","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"GIS Technician","Annual_Rt":"$42,827.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6355},"geometry":null},{"type":"Feature","id":6356,"properties":{"Name":"Nichols,Eli","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"GIS Technician","Annual_Rt":"$40,800.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6356},"geometry":null},{"type":"Feature","id":6357,"properties":{"Name":"Abouibrahim,Sandra","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$12.75 ","RegTemp":"T","Full/Part":"P","OBJECTID":6357},"geometry":null},{"type":"Feature","id":6358,"properties":{"Name":"Boone,Jeffrey A.","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$78,540.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6358},"geometry":null},{"type":"Feature","id":6359,"properties":{"Name":"Ennis,Matthew F.","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$74,582.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6359},"geometry":null},{"type":"Feature","id":6360,"properties":{"Name":"Jarrell Jr,Herman Arnold","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$85,944.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6360},"geometry":null},{"type":"Feature","id":6361,"properties":{"Name":"Anzola,Guillermo DeJesus","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Survey Party Chief","Annual_Rt":"$51,187.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6361},"geometry":null},{"type":"Feature","id":6362,"properties":{"Name":"Gooch,Marcus L.","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Survey Party Chief","Annual_Rt":"$46,776.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6362},"geometry":null},{"type":"Feature","id":6363,"properties":{"Name":"Jarrett,Eric K","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Survey Party Chief","Annual_Rt":"$51,007.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6363},"geometry":null},{"type":"Feature","id":6364,"properties":{"Name":"Walker,John S","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Survey Party Chief","Annual_Rt":"$49,164.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6364},"geometry":null},{"type":"Feature","id":6365,"properties":{"Name":"Pace Jr,George L","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Survey Supervisor","Annual_Rt":"$69,211.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6365},"geometry":null},{"type":"Feature","id":6366,"properties":{"Name":"Mason,Martin J","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Survey Technician","Annual_Rt":"$37,094.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6366},"geometry":null},{"type":"Feature","id":6367,"properties":{"Name":"Morris,Willie J","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Survey Technician","Annual_Rt":"$43,044.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6367},"geometry":null},{"type":"Feature","id":6368,"properties":{"Name":"Schrum,Jedediah Brant","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Survey Technician","Annual_Rt":"$36,210.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6368},"geometry":null},{"type":"Feature","id":6369,"properties":{"Name":"Wallace,Gonzo Rico","Unit":"Utilities","Dept":"Utility Eng-Design&Constr","Job_Title":"Survey Technician","Annual_Rt":"$39,208.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6369},"geometry":null},{"type":"Feature","id":6370,"properties":{"Name":"Love,Frederica E","Unit":"Utilities","Dept":"Utility Engineer-Contracts","Job_Title":"Administrative Officer II","Annual_Rt":"$57,154.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6370},"geometry":null},{"type":"Feature","id":6371,"properties":{"Name":"Adams,Rebecca B.","Unit":"Utilities","Dept":"Utility Engineer-Contracts","Job_Title":"Contract Technician","Annual_Rt":"$42,740.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6371},"geometry":null},{"type":"Feature","id":6372,"properties":{"Name":"Jones,Richard D","Unit":"Utilities","Dept":"Utility Engineer-Contracts","Job_Title":"Engineering Assistant","Annual_Rt":"$58,836.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6372},"geometry":null},{"type":"Feature","id":6373,"properties":{"Name":"Whiteside,Lydia Brooks","Unit":"Utilities","Dept":"Utility Engineering-Admin","Job_Title":"Administrative Officer I","Annual_Rt":"$45,798.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6373},"geometry":null},{"type":"Feature","id":6374,"properties":{"Name":"Baldwin,Karen Lynn","Unit":"Utilities","Dept":"Utility Engineering-Admin","Job_Title":"Administrative Officer III","Annual_Rt":"$57,500.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6374},"geometry":null},{"type":"Feature","id":6375,"properties":{"Name":"Wilson,Joseph C","Unit":"Utilities","Dept":"Utility Engineering-Admin","Job_Title":"Chief Engineer-Utilities","Annual_Rt":"$110,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6375},"geometry":null},{"type":"Feature","id":6376,"properties":{"Name":"Czerr,David W.","Unit":"Utilities","Dept":"Utility Engineer-Planning","Job_Title":"Engineering Program Manager","Annual_Rt":"$84,395.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6376},"geometry":null},{"type":"Feature","id":6377,"properties":{"Name":"Burgess,Micah Reid","Unit":"Utilities","Dept":"Utility Engineer-Planning","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$62,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6377},"geometry":null},{"type":"Feature","id":6378,"properties":{"Name":"Sinha,Bhavana","Unit":"Utilities","Dept":"Utility Engineer-Planning","Job_Title":"Engineering Project Manager","Annual_Rt":"$72,547.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6378},"geometry":null},{"type":"Feature","id":6379,"properties":{"Name":"Subedi,Praja","Unit":"Utilities","Dept":"Utility Engineer-Planning","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$12.75 ","RegTemp":"T","Full/Part":"P","OBJECTID":6379},"geometry":null},{"type":"Feature","id":6380,"properties":{"Name":"Bedford,Matthew Carl","Unit":"Utilities","Dept":"Utility Engineer-Planning","Job_Title":"Planning/Design Engineer","Annual_Rt":"$55,896.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6380},"geometry":null},{"type":"Feature","id":6381,"properties":{"Name":"Brunson,Allen Doyle","Unit":"Utilities","Dept":"Utility Engineer-Planning","Job_Title":"Senior Engineer","Annual_Rt":"$73,440.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6381},"geometry":null},{"type":"Feature","id":6382,"properties":{"Name":"Hall,Ronald","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Construction Inspector","Annual_Rt":"$48,447.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6382},"geometry":null},{"type":"Feature","id":6383,"properties":{"Name":"Harris,Mark Jeffrey","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Construction Inspector","Annual_Rt":"$53,125.32 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6383},"geometry":null},{"type":"Feature","id":6384,"properties":{"Name":"Linkous,Lee D","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Construction Inspector","Annual_Rt":"$48,202.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6384},"geometry":null},{"type":"Feature","id":6385,"properties":{"Name":"Pluchinsky,Charles E","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Construction Inspector","Annual_Rt":"$54,095.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6385},"geometry":null},{"type":"Feature","id":6386,"properties":{"Name":"Saunders,Christopher K","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Construction Inspector","Annual_Rt":"$45,915.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6386},"geometry":null},{"type":"Feature","id":6387,"properties":{"Name":"Atkinson,J Reed","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Construction Supervisor","Annual_Rt":"$71,581.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6387},"geometry":null},{"type":"Feature","id":6388,"properties":{"Name":"Smith,Matthew C","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Construction Supervisor","Annual_Rt":"$60,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6388},"geometry":null},{"type":"Feature","id":6389,"properties":{"Name":"Carr,Cynthia E","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Donated Projects Manager","Annual_Rt":null,"Hrly_Rate":"$65.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":6389},"geometry":null},{"type":"Feature","id":6390,"properties":{"Name":"Banner,Gwendolyn W","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Engineering Assistant","Annual_Rt":"$47,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6390},"geometry":null},{"type":"Feature","id":6391,"properties":{"Name":"Gross,Barbara L","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Engineering Assistant","Annual_Rt":"$53,519.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6391},"geometry":null},{"type":"Feature","id":6392,"properties":{"Name":"Hensley,Margaret M","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Engineering Assistant","Annual_Rt":"$54,521.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6392},"geometry":null},{"type":"Feature","id":6393,"properties":{"Name":"Hite,Steven Owen","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Engineering Assistant","Annual_Rt":"$46,272.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6393},"geometry":null},{"type":"Feature","id":6394,"properties":{"Name":"Johnson,Vorecia S","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Engineering Assistant","Annual_Rt":"$51,857.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6394},"geometry":null},{"type":"Feature","id":6395,"properties":{"Name":"Bunton,Frederick D","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Plan Review Engineer","Annual_Rt":"$60,013.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6395},"geometry":null},{"type":"Feature","id":6396,"properties":{"Name":"Jarrett,Jason L.","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Plan Review Engineer","Annual_Rt":"$59,444.33 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6396},"geometry":null},{"type":"Feature","id":6397,"properties":{"Name":"Moody,Roger D","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Senior Engineer","Annual_Rt":"$89,308.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6397},"geometry":null},{"type":"Feature","id":6398,"properties":{"Name":"Bonner,Tanisha Michelle","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Utilities Services Tech","Annual_Rt":"$37,424.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6398},"geometry":null},{"type":"Feature","id":6399,"properties":{"Name":"Montgomery,Geneva C","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Utilities Services Tech","Annual_Rt":"$43,946.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6399},"geometry":null},{"type":"Feature","id":6400,"properties":{"Name":"Paige,Catherine Eudy","Unit":"Utilities","Dept":"Utility Eng-Install & Dev Svcs","Job_Title":"Utilities Services Tech","Annual_Rt":"$38,020.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6400},"geometry":null},{"type":"Feature","id":6401,"properties":{"Name":"Beck,Roger B.","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Chief Construction Inspector","Annual_Rt":"$54,922.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6401},"geometry":null},{"type":"Feature","id":6402,"properties":{"Name":"List Jr,Gilbert D","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Chief Construction Inspector","Annual_Rt":"$63,054.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6402},"geometry":null},{"type":"Feature","id":6403,"properties":{"Name":"Brock,Michael G","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Construction Inspector","Annual_Rt":"$46,108.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6403},"geometry":null},{"type":"Feature","id":6404,"properties":{"Name":"Griffith,Jason K","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Construction Inspector","Annual_Rt":"$57,498.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6404},"geometry":null},{"type":"Feature","id":6405,"properties":{"Name":"ONeal,Erick W.","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Construction Inspector","Annual_Rt":"$47,534.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6405},"geometry":null},{"type":"Feature","id":6406,"properties":{"Name":"Twyman,Bruce E","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Construction Inspector","Annual_Rt":"$46,865.08 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6406},"geometry":null},{"type":"Feature","id":6407,"properties":{"Name":"Williams,Michael S","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Construction Inspector","Annual_Rt":"$51,917.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6407},"geometry":null},{"type":"Feature","id":6408,"properties":{"Name":"Bliss,Charles M","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Engineering Division Manager","Annual_Rt":"$96,990.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6408},"geometry":null},{"type":"Feature","id":6409,"properties":{"Name":"Taylor,Kelly B.","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$62,417.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6409},"geometry":null},{"type":"Feature","id":6410,"properties":{"Name":"Bartlett,Nicole Litton","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Engineering Project Manager","Annual_Rt":"$72,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6410},"geometry":null},{"type":"Feature","id":6411,"properties":{"Name":"Fuller,Dalton Jarred Glenn","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Engineering Project Manager","Annual_Rt":"$67,320.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6411},"geometry":null},{"type":"Feature","id":6412,"properties":{"Name":"Hunter,Walter F","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Engineering Project Manager","Annual_Rt":"$74,150.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6412},"geometry":null},{"type":"Feature","id":6413,"properties":{"Name":"Hall,Dale R","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Facilities Services Coordinato","Annual_Rt":"$59,783.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6413},"geometry":null},{"type":"Feature","id":6414,"properties":{"Name":"Bentley,Christopher","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$12.75 ","RegTemp":"T","Full/Part":"P","OBJECTID":6414},"geometry":null},{"type":"Feature","id":6415,"properties":{"Name":"Golluru,Bhargavi","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$12.75 ","RegTemp":"T","Full/Part":"P","OBJECTID":6415},"geometry":null},{"type":"Feature","id":6416,"properties":{"Name":"McClanahan,Jeffrey","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Intern","Annual_Rt":null,"Hrly_Rate":"$12.75 ","RegTemp":"T","Full/Part":"P","OBJECTID":6416},"geometry":null},{"type":"Feature","id":6417,"properties":{"Name":"Brant,George E","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$78,996.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6417},"geometry":null},{"type":"Feature","id":6418,"properties":{"Name":"Brown III,Ethan Allen","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$86,751.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6418},"geometry":null},{"type":"Feature","id":6419,"properties":{"Name":"Deal,William M","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$80,038.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6419},"geometry":null},{"type":"Feature","id":6420,"properties":{"Name":"McLelland,Juliette L","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$87,275.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6420},"geometry":null},{"type":"Feature","id":6421,"properties":{"Name":"Vershel,Amy R","Unit":"Utilities","Dept":"Utility Eng-Project Mgmt","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$80,773.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6421},"geometry":null},{"type":"Feature","id":6422,"properties":{"Name":"Beal,Perry D","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Chief Construction Inspector","Annual_Rt":"$69,225.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6422},"geometry":null},{"type":"Feature","id":6423,"properties":{"Name":"Reeves,Michael J.","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Chief Construction Inspector","Annual_Rt":"$63,387.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6423},"geometry":null},{"type":"Feature","id":6424,"properties":{"Name":"Antio,James J","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Construction Inspector","Annual_Rt":"$49,210.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6424},"geometry":null},{"type":"Feature","id":6425,"properties":{"Name":"Bowman,Gary R","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Construction Inspector","Annual_Rt":"$54,270.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6425},"geometry":null},{"type":"Feature","id":6426,"properties":{"Name":"Gass,Travis McLean","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Construction Inspector","Annual_Rt":"$46,139.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6426},"geometry":null},{"type":"Feature","id":6427,"properties":{"Name":"Hillman,Michael Henry","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Construction Inspector","Annual_Rt":"$53,473.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6427},"geometry":null},{"type":"Feature","id":6428,"properties":{"Name":"Klyn,Klaas J","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Construction Inspector","Annual_Rt":"$50,141.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6428},"geometry":null},{"type":"Feature","id":6429,"properties":{"Name":"Carter,Angel Nicole Collins","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Engineering Assistant","Annual_Rt":"$47,761.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6429},"geometry":null},{"type":"Feature","id":6430,"properties":{"Name":"Clark,Scott E","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Engineering Assistant","Annual_Rt":"$48,892.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6430},"geometry":null},{"type":"Feature","id":6431,"properties":{"Name":"Weathers,Ronald C.","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Engineering Division Manager","Annual_Rt":"$106,242.37 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6431},"geometry":null},{"type":"Feature","id":6432,"properties":{"Name":"Shirley,Keith J","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Engineering Program Manager","Annual_Rt":"$92,138.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6432},"geometry":null},{"type":"Feature","id":6433,"properties":{"Name":"Rice,William D","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$62,416.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6433},"geometry":null},{"type":"Feature","id":6434,"properties":{"Name":"Wilks,Rayford B","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Engineering Project Coordinato","Annual_Rt":"$62,417.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6434},"geometry":null},{"type":"Feature","id":6435,"properties":{"Name":"Allen,Christopher C.","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Engineering Project Manager","Annual_Rt":"$70,406.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6435},"geometry":null},{"type":"Feature","id":6436,"properties":{"Name":"Pate,Brian David","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Engineering Project Manager","Annual_Rt":"$68,402.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6436},"geometry":null},{"type":"Feature","id":6437,"properties":{"Name":"Wirth,Michael A.","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Engineering Project Manager","Annual_Rt":"$72,420.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6437},"geometry":null},{"type":"Feature","id":6438,"properties":{"Name":"Brunnick,Wayne A","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$80,038.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6438},"geometry":null},{"type":"Feature","id":6439,"properties":{"Name":"Cowherd,Charles N","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$81,541.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6439},"geometry":null},{"type":"Feature","id":6440,"properties":{"Name":"Eller,William C","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$84,892.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6440},"geometry":null},{"type":"Feature","id":6441,"properties":{"Name":"Kirivong,Rotthachack","Unit":"Utilities","Dept":"Utility Eng-Rehab-Ops Support","Job_Title":"Senior Engineering Project Mgr","Annual_Rt":"$77,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6441},"geometry":null},{"type":"Feature","id":6442,"properties":{"Name":"Erwin,Charles L","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Administrative Officer I","Annual_Rt":"$50,154.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6442},"geometry":null},{"type":"Feature","id":6443,"properties":{"Name":"Johnson,Carol T","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Administrative Officer I","Annual_Rt":"$42,696.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6443},"geometry":null},{"type":"Feature","id":6444,"properties":{"Name":"Meadows,Anthony Deshea","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Administrative Officer I","Annual_Rt":"$40,730.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6444},"geometry":null},{"type":"Feature","id":6445,"properties":{"Name":"Cassells,Harvey T","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Administrative Officer II","Annual_Rt":null,"Hrly_Rate":"$25.00 ","RegTemp":"T","Full/Part":"P","OBJECTID":6445},"geometry":null},{"type":"Feature","id":6446,"properties":{"Name":"Martin,Nora Francesca","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Administrative Officer III","Annual_Rt":"$60,000.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6446},"geometry":null},{"type":"Feature","id":6447,"properties":{"Name":"Wilson,Sandra S","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Administrative Officer III","Annual_Rt":"$56,499.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6447},"geometry":null},{"type":"Feature","id":6448,"properties":{"Name":"Davidson,James C","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Construction Inspector","Annual_Rt":"$53,682.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6448},"geometry":null},{"type":"Feature","id":6449,"properties":{"Name":"Beam,Jonathan David","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Engineering Services Supv","Annual_Rt":"$50,614.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6449},"geometry":null},{"type":"Feature","id":6450,"properties":{"Name":"Agner,Daniel James","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Environmental Program Inspecto","Annual_Rt":"$43,419.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6450},"geometry":null},{"type":"Feature","id":6451,"properties":{"Name":"Christman,Robert Matthew","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Environmental Program Inspecto","Annual_Rt":"$42,567.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6451},"geometry":null},{"type":"Feature","id":6452,"properties":{"Name":"Glaze,Delmar R","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Environmental Program Inspecto","Annual_Rt":"$43,419.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6452},"geometry":null},{"type":"Feature","id":6453,"properties":{"Name":"Patterson,Roxie A","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Management Analyst","Annual_Rt":"$61,200.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6453},"geometry":null},{"type":"Feature","id":6454,"properties":{"Name":"Canty,Luwania Y","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Office Assistant IV","Annual_Rt":"$31,618.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6454},"geometry":null},{"type":"Feature","id":6455,"properties":{"Name":"Fallie,Margaret Denise","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Office Assistant IV","Annual_Rt":"$31,618.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6455},"geometry":null},{"type":"Feature","id":6456,"properties":{"Name":"Gibson,Sharon E.","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Office Assistant IV","Annual_Rt":"$31,618.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6456},"geometry":null},{"type":"Feature","id":6457,"properties":{"Name":"Oliver,Kimberly Yvonne","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Office Assistant IV","Annual_Rt":"$31,618.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6457},"geometry":null},{"type":"Feature","id":6458,"properties":{"Name":"Fishburne,John Franklin","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Senior Engineer","Annual_Rt":"$81,875.06 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6458},"geometry":null},{"type":"Feature","id":6459,"properties":{"Name":"Broome Jr,William T","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Service Dispatcher","Annual_Rt":"$37,665.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6459},"geometry":null},{"type":"Feature","id":6460,"properties":{"Name":"Collins,Maurice Damon","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Service Dispatcher","Annual_Rt":"$31,830.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6460},"geometry":null},{"type":"Feature","id":6461,"properties":{"Name":"Gray,Lester B","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Service Dispatcher","Annual_Rt":"$39,156.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6461},"geometry":null},{"type":"Feature","id":6462,"properties":{"Name":"Lee,Shuhurah Wallace","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Service Dispatcher","Annual_Rt":"$30,658.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6462},"geometry":null},{"type":"Feature","id":6463,"properties":{"Name":"Moody Jr,Fred J","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Service Dispatcher","Annual_Rt":"$30,422.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6463},"geometry":null},{"type":"Feature","id":6464,"properties":{"Name":"Lee,Angela C","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Utilities Manager","Annual_Rt":"$120,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6464},"geometry":null},{"type":"Feature","id":6465,"properties":{"Name":"Sanders,Marion C","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Utilities Operations Manager","Annual_Rt":"$76,700.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6465},"geometry":null},{"type":"Feature","id":6466,"properties":{"Name":"Ross,Carolyn Elizabeth","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Utilities Services Manager","Annual_Rt":"$77,197.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6466},"geometry":null},{"type":"Feature","id":6467,"properties":{"Name":"Beamer,Barry E","Unit":"Utilities","Dept":"Utility Field Operations Admin","Job_Title":"Water Quality Program Admin","Annual_Rt":"$91,551.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6467},"geometry":null},{"type":"Feature","id":6468,"properties":{"Name":"Curry,Reginald E","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Building Maintenance Asst","Annual_Rt":"$31,179.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6468},"geometry":null},{"type":"Feature","id":6469,"properties":{"Name":"Simpson,Bobby D","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Laborer","Annual_Rt":"$25,061.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6469},"geometry":null},{"type":"Feature","id":6470,"properties":{"Name":"Draughn,Samuel L","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Treatment Operations Coord.","Annual_Rt":"$60,696.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6470},"geometry":null},{"type":"Feature","id":6471,"properties":{"Name":"Carman,David S","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Water Chf Treatment Plant Op","Annual_Rt":"$52,010.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6471},"geometry":null},{"type":"Feature","id":6472,"properties":{"Name":"Duckworth,Donna Jean","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Water Chf Treatment Plant Op","Annual_Rt":"$48,120.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6472},"geometry":null},{"type":"Feature","id":6473,"properties":{"Name":"McBride,John W","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Water Chf Treatment Plant Op","Annual_Rt":"$51,487.90 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6473},"geometry":null},{"type":"Feature","id":6474,"properties":{"Name":"Nation,Stephen E","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Water Chf Treatment Plant Op","Annual_Rt":"$57,285.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6474},"geometry":null},{"type":"Feature","id":6475,"properties":{"Name":"Smith,Culbert Preston","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Water Chf Treatment Plant Op","Annual_Rt":"$50,996.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6475},"geometry":null},{"type":"Feature","id":6476,"properties":{"Name":"Childers,Kenneth D","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Water Treatment Plant Opr A","Annual_Rt":"$49,094.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6476},"geometry":null},{"type":"Feature","id":6477,"properties":{"Name":"McDaniel,James E","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Water Treatment Plant Opr A","Annual_Rt":"$44,671.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6477},"geometry":null},{"type":"Feature","id":6478,"properties":{"Name":"Caudill Jr,Michael Allen","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Water Treatment Plant Opr B","Annual_Rt":"$38,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6478},"geometry":null},{"type":"Feature","id":6479,"properties":{"Name":"Del Valle,Kristina","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Water Treatment Plant Opr B","Annual_Rt":"$38,345.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6479},"geometry":null},{"type":"Feature","id":6480,"properties":{"Name":"Nguyen,Trinh Ngoc","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Water Treatment Plant Opr B","Annual_Rt":"$39,704.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6480},"geometry":null},{"type":"Feature","id":6481,"properties":{"Name":"Hines,Preston Garrett","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Water Treatment Plant Opr C","Annual_Rt":"$34,717.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6481},"geometry":null},{"type":"Feature","id":6482,"properties":{"Name":"Ike Jr,William Jacob","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Water Treatment Plant Opr C","Annual_Rt":"$34,717.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6482},"geometry":null},{"type":"Feature","id":6483,"properties":{"Name":"Crowe,Terry W","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"Water Treatment Plant Supv Sr","Annual_Rt":"$71,400.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6483},"geometry":null},{"type":"Feature","id":6484,"properties":{"Name":"Branch,Nathaniel Matthew","Unit":"Utilities","Dept":"Utility Franklin Plant","Job_Title":"WW Treatment Plant Op II","Annual_Rt":"$32,850.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6484},"geometry":null},{"type":"Feature","id":6485,"properties":{"Name":"Carter,Brenda Fields","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Administrative Officer I","Annual_Rt":"$40,730.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6485},"geometry":null},{"type":"Feature","id":6486,"properties":{"Name":"Breedlove,Keith Andrew","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Equipment Operator II","Annual_Rt":"$35,989.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6486},"geometry":null},{"type":"Feature","id":6487,"properties":{"Name":"Auman,Michael T","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Equipment Operator III","Annual_Rt":"$36,709.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6487},"geometry":null},{"type":"Feature","id":6488,"properties":{"Name":"Dixon,Kelly W","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Field Operations Supervisor","Annual_Rt":"$55,594.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6488},"geometry":null},{"type":"Feature","id":6489,"properties":{"Name":"Edwards,Terrence M","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Field Operations Supervisor","Annual_Rt":"$51,373.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6489},"geometry":null},{"type":"Feature","id":6490,"properties":{"Name":"Gleaton,Orantes A","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Field Operations Supervisor","Annual_Rt":"$52,419.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6490},"geometry":null},{"type":"Feature","id":6491,"properties":{"Name":"Harrison,Lewis Bryan","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Field Operations Supervisor","Annual_Rt":"$52,601.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6491},"geometry":null},{"type":"Feature","id":6492,"properties":{"Name":"St. Laurent,David Robert","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Field Operations Supervisor","Annual_Rt":"$52,419.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6492},"geometry":null},{"type":"Feature","id":6493,"properties":{"Name":"Al,Tomas Yabez","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$39,734.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6493},"geometry":null},{"type":"Feature","id":6494,"properties":{"Name":"Davis,Gerome T","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$45,316.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6494},"geometry":null},{"type":"Feature","id":6495,"properties":{"Name":"King,Terry Antwain","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,936.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6495},"geometry":null},{"type":"Feature","id":6496,"properties":{"Name":"Massey,Leonard S","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,738.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6496},"geometry":null},{"type":"Feature","id":6497,"properties":{"Name":"Myers,Simeon Uriah","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$40,420.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6497},"geometry":null},{"type":"Feature","id":6498,"properties":{"Name":"Rios,Domingo","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6498},"geometry":null},{"type":"Feature","id":6499,"properties":{"Name":"Rivers,Michael Alexander","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,143.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6499},"geometry":null},{"type":"Feature","id":6500,"properties":{"Name":"Rowe,William Author","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6500},"geometry":null},{"type":"Feature","id":6501,"properties":{"Name":"Weeks,Steve C","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6501},"geometry":null},{"type":"Feature","id":6502,"properties":{"Name":"Broaddus,Bobby L","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Laborer","Annual_Rt":"$32,587.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6502},"geometry":null},{"type":"Feature","id":6503,"properties":{"Name":"Layton,Robert Roy","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Laborer","Annual_Rt":"$26,348.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6503},"geometry":null},{"type":"Feature","id":6504,"properties":{"Name":"Bumgarner,John David","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Operations Supervisor","Annual_Rt":"$66,300.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6504},"geometry":null},{"type":"Feature","id":6505,"properties":{"Name":"Keaton,Don M","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Stores Supervisor","Annual_Rt":"$45,331.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6505},"geometry":null},{"type":"Feature","id":6506,"properties":{"Name":"Byrd,Victor E","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Planner Scheduler","Annual_Rt":"$50,664.57 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6506},"geometry":null},{"type":"Feature","id":6507,"properties":{"Name":"Walls,Flemming O","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Planner Scheduler","Annual_Rt":"$59,551.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6507},"geometry":null},{"type":"Feature","id":6508,"properties":{"Name":"Adams,Daniel Lamont","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$32,875.25 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6508},"geometry":null},{"type":"Feature","id":6509,"properties":{"Name":"Belle,Kim S","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,614.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6509},"geometry":null},{"type":"Feature","id":6510,"properties":{"Name":"Byrd,Michael Anthony","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6510},"geometry":null},{"type":"Feature","id":6511,"properties":{"Name":"Carter,Stan C","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$38,175.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6511},"geometry":null},{"type":"Feature","id":6512,"properties":{"Name":"Chisholm,Isiah","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6512},"geometry":null},{"type":"Feature","id":6513,"properties":{"Name":"England,Angela","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6513},"geometry":null},{"type":"Feature","id":6514,"properties":{"Name":"Evans,Bryan J","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$46,486.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6514},"geometry":null},{"type":"Feature","id":6515,"properties":{"Name":"Gilmore,Davarea Latravis","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6515},"geometry":null},{"type":"Feature","id":6516,"properties":{"Name":"Green,Joseph T","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$33,230.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6516},"geometry":null},{"type":"Feature","id":6517,"properties":{"Name":"Gregory,Steven Anthony","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$33,722.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6517},"geometry":null},{"type":"Feature","id":6518,"properties":{"Name":"John,Enoch Joel","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6518},"geometry":null},{"type":"Feature","id":6519,"properties":{"Name":"Jones,Alfonso D","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6519},"geometry":null},{"type":"Feature","id":6520,"properties":{"Name":"Jones,Eric A","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6520},"geometry":null},{"type":"Feature","id":6521,"properties":{"Name":"Logan,Johnny Lee","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$37,915.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6521},"geometry":null},{"type":"Feature","id":6522,"properties":{"Name":"McInnis,Wilbar B","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$38,059.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6522},"geometry":null},{"type":"Feature","id":6523,"properties":{"Name":"Mills,Michael Corey","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6523},"geometry":null},{"type":"Feature","id":6524,"properties":{"Name":"ODell Jr,Gordon J","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$34,961.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6524},"geometry":null},{"type":"Feature","id":6525,"properties":{"Name":"Richardson Jr,Harry J","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6525},"geometry":null},{"type":"Feature","id":6526,"properties":{"Name":"Robbins,Daniel Christopher","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$29,554.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6526},"geometry":null},{"type":"Feature","id":6527,"properties":{"Name":"Seegars,Chavis Drakkar","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$29,554.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6527},"geometry":null},{"type":"Feature","id":6528,"properties":{"Name":"Shirley,Fredrick Dewayne","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6528},"geometry":null},{"type":"Feature","id":6529,"properties":{"Name":"Singleton Jr,Charles","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$32,468.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6529},"geometry":null},{"type":"Feature","id":6530,"properties":{"Name":"Spencer Jr,Joe","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$37,455.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6530},"geometry":null},{"type":"Feature","id":6531,"properties":{"Name":"Walker,Benjamin Ellis","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$29,554.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6531},"geometry":null},{"type":"Feature","id":6532,"properties":{"Name":"Westbrook,Reginald Eugene","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$29,554.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6532},"geometry":null},{"type":"Feature","id":6533,"properties":{"Name":"Brown,Bruce A.","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,461.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6533},"geometry":null},{"type":"Feature","id":6534,"properties":{"Name":"Cain Jr,Leonard","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$28,912.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6534},"geometry":null},{"type":"Feature","id":6535,"properties":{"Name":"Chapman,Myron Demone","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6535},"geometry":null},{"type":"Feature","id":6536,"properties":{"Name":"Dovell,David Alexander","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6536},"geometry":null},{"type":"Feature","id":6537,"properties":{"Name":"Edwards,Steven","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,348.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6537},"geometry":null},{"type":"Feature","id":6538,"properties":{"Name":"Garlins III,Jimmy Leon","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6538},"geometry":null},{"type":"Feature","id":6539,"properties":{"Name":"Jackson,Pravis D","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$39,338.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6539},"geometry":null},{"type":"Feature","id":6540,"properties":{"Name":"McIlwain,Aaron","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6540},"geometry":null},{"type":"Feature","id":6541,"properties":{"Name":"McLaughlin,Joseph Henry","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6541},"geometry":null},{"type":"Feature","id":6542,"properties":{"Name":"Miller Jr,Bobby","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6542},"geometry":null},{"type":"Feature","id":6543,"properties":{"Name":"Nesmith III,Willie","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6543},"geometry":null},{"type":"Feature","id":6544,"properties":{"Name":"Norman,Michael Eugene","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,461.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6544},"geometry":null},{"type":"Feature","id":6545,"properties":{"Name":"Salter,Cedric Dwayne","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,461.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6545},"geometry":null},{"type":"Feature","id":6546,"properties":{"Name":"Sanders,Tony V","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$31,758.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6546},"geometry":null},{"type":"Feature","id":6547,"properties":{"Name":"Spriggs Sr,Eugene Edward","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,461.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6547},"geometry":null},{"type":"Feature","id":6548,"properties":{"Name":"Timmons,William Louis","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6548},"geometry":null},{"type":"Feature","id":6549,"properties":{"Name":"Turner,Merlin Wayne","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6549},"geometry":null},{"type":"Feature","id":6550,"properties":{"Name":"Worthy Sr,Antonio Miguel","Unit":"Utilities","Dept":"Utility General Commerce Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6550},"geometry":null},{"type":"Feature","id":6551,"properties":{"Name":"Chambers,Lis M.","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Administrative Officer I","Annual_Rt":"$40,730.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6551},"geometry":null},{"type":"Feature","id":6552,"properties":{"Name":"Sanders,Matthew R","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Equipment Operator II","Annual_Rt":"$36,542.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6552},"geometry":null},{"type":"Feature","id":6553,"properties":{"Name":"Richardson,Jamie","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Equipment Operator III","Annual_Rt":"$35,989.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6553},"geometry":null},{"type":"Feature","id":6554,"properties":{"Name":"Stanley,Philip James","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Field Operations Supervisor","Annual_Rt":"$52,419.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6554},"geometry":null},{"type":"Feature","id":6555,"properties":{"Name":"Zeigler,Justin John","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Field Operations Supervisor","Annual_Rt":"$52,419.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6555},"geometry":null},{"type":"Feature","id":6556,"properties":{"Name":"Decker,Robert E","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$42,839.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6556},"geometry":null},{"type":"Feature","id":6557,"properties":{"Name":"Thompson,Jontavius","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6557},"geometry":null},{"type":"Feature","id":6558,"properties":{"Name":"Hall,Trent P","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Operations Supervisor","Annual_Rt":"$64,633.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6558},"geometry":null},{"type":"Feature","id":6559,"properties":{"Name":"Howell,Robert Allen","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Storekeeper","Annual_Rt":"$31,042.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6559},"geometry":null},{"type":"Feature","id":6560,"properties":{"Name":"Perry,Kenneth E","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Survey Technician","Annual_Rt":"$35,544.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6560},"geometry":null},{"type":"Feature","id":6561,"properties":{"Name":"Weaner,William A","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Survey Technician","Annual_Rt":"$40,026.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6561},"geometry":null},{"type":"Feature","id":6562,"properties":{"Name":"Wrobleski,Steven J","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Planner Scheduler","Annual_Rt":"$57,822.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6562},"geometry":null},{"type":"Feature","id":6563,"properties":{"Name":"Armstrong,Barbara R","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6563},"geometry":null},{"type":"Feature","id":6564,"properties":{"Name":"Foxworth,David L","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$45,075.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6564},"geometry":null},{"type":"Feature","id":6565,"properties":{"Name":"Garvin,Davion A","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,191.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6565},"geometry":null},{"type":"Feature","id":6566,"properties":{"Name":"Goines,Sean Ambrose","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$30,749.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6566},"geometry":null},{"type":"Feature","id":6567,"properties":{"Name":"Hasan,Paul A","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$32,920.03 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6567},"geometry":null},{"type":"Feature","id":6568,"properties":{"Name":"Hess,Bruce D","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$38,278.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6568},"geometry":null},{"type":"Feature","id":6569,"properties":{"Name":"Howey III,Ben F","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$40,755.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6569},"geometry":null},{"type":"Feature","id":6570,"properties":{"Name":"Loidhamer,Scott David","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6570},"geometry":null},{"type":"Feature","id":6571,"properties":{"Name":"McGinn,Benjamin L","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$34,556.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6571},"geometry":null},{"type":"Feature","id":6572,"properties":{"Name":"Robinson,Shelton R","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$34,597.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6572},"geometry":null},{"type":"Feature","id":6573,"properties":{"Name":"Bailey,Tracy Eugene","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6573},"geometry":null},{"type":"Feature","id":6574,"properties":{"Name":"Garrett,Corithian","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6574},"geometry":null},{"type":"Feature","id":6575,"properties":{"Name":"Hall,Gerald Anthony","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6575},"geometry":null},{"type":"Feature","id":6576,"properties":{"Name":"Hutchinson,Nigel T","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,801.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6576},"geometry":null},{"type":"Feature","id":6577,"properties":{"Name":"Laster,Nicolas L","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6577},"geometry":null},{"type":"Feature","id":6578,"properties":{"Name":"Peoples,Brandon","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6578},"geometry":null},{"type":"Feature","id":6579,"properties":{"Name":"Rodgers,Kevin Mitchell","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6579},"geometry":null},{"type":"Feature","id":6580,"properties":{"Name":"Taylor,Antran M","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6580},"geometry":null},{"type":"Feature","id":6581,"properties":{"Name":"Ware,James Michael","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6581},"geometry":null},{"type":"Feature","id":6582,"properties":{"Name":"Warner,Mark Roger","Unit":"Utilities","Dept":"Utility Huntersville Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6582},"geometry":null},{"type":"Feature","id":6583,"properties":{"Name":"Roberts,Michael R","Unit":"Utilities","Dept":"Utility InstrumentControl&Elec","Job_Title":"Chief Electrical Engineer","Annual_Rt":"$107,964.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6583},"geometry":null},{"type":"Feature","id":6584,"properties":{"Name":"Queen,Mike A.","Unit":"Utilities","Dept":"Utility InstrumentControl&Elec","Job_Title":"Electrical Engineer Sr","Annual_Rt":"$96,442.31 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6584},"geometry":null},{"type":"Feature","id":6585,"properties":{"Name":"Beaver,Brian Keith","Unit":"Utilities","Dept":"Utility InstrumentControl&Elec","Job_Title":"Instrument Technician","Annual_Rt":"$55,980.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6585},"geometry":null},{"type":"Feature","id":6586,"properties":{"Name":"Broadway,Mark D","Unit":"Utilities","Dept":"Utility InstrumentControl&Elec","Job_Title":"Instrument Technician","Annual_Rt":"$55,299.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6586},"geometry":null},{"type":"Feature","id":6587,"properties":{"Name":"Smith,Curtis G","Unit":"Utilities","Dept":"Utility InstrumentControl&Elec","Job_Title":"Instrument Technician","Annual_Rt":"$52,182.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6587},"geometry":null},{"type":"Feature","id":6588,"properties":{"Name":"Straite,David","Unit":"Utilities","Dept":"Utility InstrumentControl&Elec","Job_Title":"Instrument Technician","Annual_Rt":"$57,575.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6588},"geometry":null},{"type":"Feature","id":6589,"properties":{"Name":"Walters,David W","Unit":"Utilities","Dept":"Utility InstrumentControl&Elec","Job_Title":"Instruments & Controls Supv","Annual_Rt":"$62,985.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6589},"geometry":null},{"type":"Feature","id":6590,"properties":{"Name":"Stroud,Frank S","Unit":"Utilities","Dept":"Utility InstrumentControl&Elec","Job_Title":"Technical Systems Specialist","Annual_Rt":"$66,231.09 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6590},"geometry":null},{"type":"Feature","id":6591,"properties":{"Name":"Nortz,Scott J","Unit":"Utilities","Dept":"Utility InstrumentControl&Elec","Job_Title":"Treatment Plant Electrician","Annual_Rt":"$52,077.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6591},"geometry":null},{"type":"Feature","id":6592,"properties":{"Name":"Alicea-Rivera,Jose L.","Unit":"Utilities","Dept":"Utility Irwin Creek Plt OPS","Job_Title":"Equipment Operator I","Annual_Rt":"$29,589.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6592},"geometry":null},{"type":"Feature","id":6593,"properties":{"Name":"Eudy,Henry Harrison","Unit":"Utilities","Dept":"Utility Irwin Creek Plt OPS","Job_Title":"WW Chf Treatment Plant Op","Annual_Rt":"$53,088.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6593},"geometry":null},{"type":"Feature","id":6594,"properties":{"Name":"Cook Jr,Raymond Dwight","Unit":"Utilities","Dept":"Utility Irwin Creek Plt OPS","Job_Title":"WW Treatment Plant Op III","Annual_Rt":"$42,133.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6594},"geometry":null},{"type":"Feature","id":6595,"properties":{"Name":"Holmes,Marcia Jayne","Unit":"Utilities","Dept":"Utility Irwin Creek Plt OPS","Job_Title":"WW Treatment Plant Op III","Annual_Rt":"$42,133.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6595},"geometry":null},{"type":"Feature","id":6596,"properties":{"Name":"Bailey,Dollie A. E.","Unit":"Utilities","Dept":"Utility Irwin Creek Plt OPS","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6596},"geometry":null},{"type":"Feature","id":6597,"properties":{"Name":"Barnes,Cameron Justin","Unit":"Utilities","Dept":"Utility Irwin Creek Plt OPS","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$44,389.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6597},"geometry":null},{"type":"Feature","id":6598,"properties":{"Name":"Cannie,Justice S","Unit":"Utilities","Dept":"Utility Irwin Creek Plt OPS","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6598},"geometry":null},{"type":"Feature","id":6599,"properties":{"Name":"Graham III,Lewis Alexander","Unit":"Utilities","Dept":"Utility Irwin Creek Plt OPS","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6599},"geometry":null},{"type":"Feature","id":6600,"properties":{"Name":"Hill,Betsy Lee","Unit":"Utilities","Dept":"Utility Irwin Creek Plt OPS","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$49,602.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6600},"geometry":null},{"type":"Feature","id":6601,"properties":{"Name":"Mathis,John Robert","Unit":"Utilities","Dept":"Utility Irwin Creek Plt OPS","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6601},"geometry":null},{"type":"Feature","id":6602,"properties":{"Name":"Schmidt III,Rudolph Carl","Unit":"Utilities","Dept":"Utility Irwin Creek Plt OPS","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6602},"geometry":null},{"type":"Feature","id":6603,"properties":{"Name":"Lingerfelt,Michael Ray","Unit":"Utilities","Dept":"Utility Irwin Creek Plt OPS","Job_Title":"WW Treatment Plant Supv","Annual_Rt":"$64,275.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6603},"geometry":null},{"type":"Feature","id":6604,"properties":{"Name":"Lyles,Sheila Marie","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Administrative Officer I","Annual_Rt":"$40,839.78 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6604},"geometry":null},{"type":"Feature","id":6605,"properties":{"Name":"Hutson,Rhonda L","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Lab Quality Assurance Admin","Annual_Rt":"$75,440.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6605},"geometry":null},{"type":"Feature","id":6606,"properties":{"Name":"Austin,Samantha Dellinger","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Lab Quality Assurance Analyst","Annual_Rt":"$59,959.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6606},"geometry":null},{"type":"Feature","id":6607,"properties":{"Name":"Bradley,Michelle Lea","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst II","Annual_Rt":"$51,890.44 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6607},"geometry":null},{"type":"Feature","id":6608,"properties":{"Name":"Brown,Robert Derrek","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst II","Annual_Rt":"$46,792.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6608},"geometry":null},{"type":"Feature","id":6609,"properties":{"Name":"Broyles,Hali","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst II","Annual_Rt":"$45,454.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6609},"geometry":null},{"type":"Feature","id":6610,"properties":{"Name":"Campbell,Maria Simone","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst II","Annual_Rt":"$46,363.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6610},"geometry":null},{"type":"Feature","id":6611,"properties":{"Name":"Gibson,Cody James","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst II","Annual_Rt":"$46,363.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6611},"geometry":null},{"type":"Feature","id":6612,"properties":{"Name":"Gortney,Kim Truc Tran","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst II","Annual_Rt":"$45,454.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6612},"geometry":null},{"type":"Feature","id":6613,"properties":{"Name":"Landreth,Michelle L.","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst II","Annual_Rt":"$50,898.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6613},"geometry":null},{"type":"Feature","id":6614,"properties":{"Name":"Lofton,Christie Kearney","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst II","Annual_Rt":"$46,363.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6614},"geometry":null},{"type":"Feature","id":6615,"properties":{"Name":"Lott,Craig Carlisle","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst II","Annual_Rt":"$48,128.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6615},"geometry":null},{"type":"Feature","id":6616,"properties":{"Name":"Norman,Kaylynn","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst II","Annual_Rt":"$46,540.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6616},"geometry":null},{"type":"Feature","id":6617,"properties":{"Name":"Richardson,Natalie V","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst II","Annual_Rt":"$53,202.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6617},"geometry":null},{"type":"Feature","id":6618,"properties":{"Name":"Tatum,Stefanie Kinney","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst II","Annual_Rt":"$46,363.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6618},"geometry":null},{"type":"Feature","id":6619,"properties":{"Name":"Vogel,Terriann C","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst II","Annual_Rt":"$46,363.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6619},"geometry":null},{"type":"Feature","id":6620,"properties":{"Name":"Cashion,Wendy M.","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst III","Annual_Rt":"$53,787.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6620},"geometry":null},{"type":"Feature","id":6621,"properties":{"Name":"Ruff,Erik","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Analyst III","Annual_Rt":"$54,284.13 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6621},"geometry":null},{"type":"Feature","id":6622,"properties":{"Name":"Thompson,Myra Zabec","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Manager","Annual_Rt":"$94,547.22 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6622},"geometry":null},{"type":"Feature","id":6623,"properties":{"Name":"Haig,Sheryl","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Supervisor","Annual_Rt":"$61,962.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6623},"geometry":null},{"type":"Feature","id":6624,"properties":{"Name":"Jones,Mary A","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Supervisor","Annual_Rt":"$72,756.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6624},"geometry":null},{"type":"Feature","id":6625,"properties":{"Name":"Kimble,Gina H","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Laboratory Supervisor","Annual_Rt":"$64,321.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6625},"geometry":null},{"type":"Feature","id":6626,"properties":{"Name":"Newell,Eric W","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Utilities Services Manager","Annual_Rt":"$67,934.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6626},"geometry":null},{"type":"Feature","id":6627,"properties":{"Name":"Brown,Kristen G","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Water Quality Program Speciali","Annual_Rt":"$57,240.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6627},"geometry":null},{"type":"Feature","id":6628,"properties":{"Name":"Bryant,David","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Water Quality Technician","Annual_Rt":"$39,944.36 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6628},"geometry":null},{"type":"Feature","id":6629,"properties":{"Name":"Bryne,Shannon Brewer","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Water Quality Technician","Annual_Rt":"$38,148.87 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6629},"geometry":null},{"type":"Feature","id":6630,"properties":{"Name":"Fromm,James H","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Water Quality Technician","Annual_Rt":"$43,911.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6630},"geometry":null},{"type":"Feature","id":6631,"properties":{"Name":"Hewitt,Alvin C","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Water Quality Technician","Annual_Rt":"$40,212.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6631},"geometry":null},{"type":"Feature","id":6632,"properties":{"Name":"Howard,William B","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Water Quality Technician","Annual_Rt":"$43,313.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6632},"geometry":null},{"type":"Feature","id":6633,"properties":{"Name":"Lescott,Terry","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Water Quality Technician","Annual_Rt":"$38,824.50 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6633},"geometry":null},{"type":"Feature","id":6634,"properties":{"Name":"Sekerak,Christopher Michael","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Water Quality Technician","Annual_Rt":null,"Hrly_Rate":"$27.50 ","RegTemp":"T","Full/Part":"P","OBJECTID":6634},"geometry":null},{"type":"Feature","id":6635,"properties":{"Name":"Carter,Christopher Hart","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Water Quality Technician Ld","Annual_Rt":"$39,559.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6635},"geometry":null},{"type":"Feature","id":6636,"properties":{"Name":"Hudson Jr,Eugene Lavarne","Unit":"Utilities","Dept":"Utility Lab Svc-Operations","Job_Title":"Water Quality Technician Sr","Annual_Rt":"$39,508.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6636},"geometry":null},{"type":"Feature","id":6637,"properties":{"Name":"Canipe,Donald Lloyd","Unit":"Utilities","Dept":"Utility Locates","Job_Title":"Field Operations Supervisor","Annual_Rt":"$52,601.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6637},"geometry":null},{"type":"Feature","id":6638,"properties":{"Name":"Arango,Jorge R","Unit":"Utilities","Dept":"Utility Locates","Job_Title":"Survey Technician","Annual_Rt":"$33,326.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6638},"geometry":null},{"type":"Feature","id":6639,"properties":{"Name":"Durham,Ronald E.","Unit":"Utilities","Dept":"Utility Locates","Job_Title":"Survey Technician","Annual_Rt":"$36,347.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6639},"geometry":null},{"type":"Feature","id":6640,"properties":{"Name":"Faulk II,Ronald Chester","Unit":"Utilities","Dept":"Utility Locates","Job_Title":"Survey Technician","Annual_Rt":"$33,993.23 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6640},"geometry":null},{"type":"Feature","id":6641,"properties":{"Name":"Hill Sr,Byron Keith","Unit":"Utilities","Dept":"Utility Locates","Job_Title":"Survey Technician","Annual_Rt":"$33,993.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6641},"geometry":null},{"type":"Feature","id":6642,"properties":{"Name":"McLemore,Michael Ian","Unit":"Utilities","Dept":"Utility Locates","Job_Title":"Survey Technician","Annual_Rt":"$33,326.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6642},"geometry":null},{"type":"Feature","id":6643,"properties":{"Name":"Pellicone,Zachary Ryan","Unit":"Utilities","Dept":"Utility Locates","Job_Title":"Survey Technician","Annual_Rt":"$33,326.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6643},"geometry":null},{"type":"Feature","id":6644,"properties":{"Name":"Pendergrass,Johnny E.","Unit":"Utilities","Dept":"Utility Locates","Job_Title":"Survey Technician","Annual_Rt":"$33,993.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6644},"geometry":null},{"type":"Feature","id":6645,"properties":{"Name":"Saxon,Charles Jarrell","Unit":"Utilities","Dept":"Utility Locates","Job_Title":"Survey Technician","Annual_Rt":"$33,993.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6645},"geometry":null},{"type":"Feature","id":6646,"properties":{"Name":"Springs,Theodore M","Unit":"Utilities","Dept":"Utility Locates","Job_Title":"Survey Technician","Annual_Rt":"$38,112.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6646},"geometry":null},{"type":"Feature","id":6647,"properties":{"Name":"Torres,Jose Antonio","Unit":"Utilities","Dept":"Utility Locates","Job_Title":"Survey Technician","Annual_Rt":"$33,993.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6647},"geometry":null},{"type":"Feature","id":6648,"properties":{"Name":"Nash,Tremaine Trashawn","Unit":"Utilities","Dept":"Utility Mallard Creek Plant","Job_Title":"Equipment Operator I","Annual_Rt":"$29,546.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6648},"geometry":null},{"type":"Feature","id":6649,"properties":{"Name":"Young,Sharon Denise","Unit":"Utilities","Dept":"Utility Mallard Creek Plant","Job_Title":"Office Assistant IV","Annual_Rt":"$31,620.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6649},"geometry":null},{"type":"Feature","id":6650,"properties":{"Name":"Romine,Tara L","Unit":"Utilities","Dept":"Utility Mallard Creek Plant","Job_Title":"WW Chf Treatment Plant Op","Annual_Rt":"$57,227.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6650},"geometry":null},{"type":"Feature","id":6651,"properties":{"Name":"Sharpe,Kimberly Eugenia","Unit":"Utilities","Dept":"Utility Mallard Creek Plant","Job_Title":"WW Treatment Plant Op I","Annual_Rt":"$33,607.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6651},"geometry":null},{"type":"Feature","id":6652,"properties":{"Name":"Stewart,James Donnell","Unit":"Utilities","Dept":"Utility Mallard Creek Plant","Job_Title":"WW Treatment Plant Op II","Annual_Rt":"$42,133.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6652},"geometry":null},{"type":"Feature","id":6653,"properties":{"Name":"Ayers,Richard","Unit":"Utilities","Dept":"Utility Mallard Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6653},"geometry":null},{"type":"Feature","id":6654,"properties":{"Name":"Bucy,Ralph P","Unit":"Utilities","Dept":"Utility Mallard Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6654},"geometry":null},{"type":"Feature","id":6655,"properties":{"Name":"Conner,Richard Alan","Unit":"Utilities","Dept":"Utility Mallard Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6655},"geometry":null},{"type":"Feature","id":6656,"properties":{"Name":"McIntyre,Michael D.","Unit":"Utilities","Dept":"Utility Mallard Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6656},"geometry":null},{"type":"Feature","id":6657,"properties":{"Name":"Moore,Patrick Gerard","Unit":"Utilities","Dept":"Utility Mallard Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$47,527.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6657},"geometry":null},{"type":"Feature","id":6658,"properties":{"Name":"Nard,Greg D.","Unit":"Utilities","Dept":"Utility Mallard Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6658},"geometry":null},{"type":"Feature","id":6659,"properties":{"Name":"Williams,William McKenzie","Unit":"Utilities","Dept":"Utility Mallard Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6659},"geometry":null},{"type":"Feature","id":6660,"properties":{"Name":"DeWitt,Darrell V","Unit":"Utilities","Dept":"Utility Mallard Creek Plant","Job_Title":"WW Treatment Plant Supv","Annual_Rt":"$66,819.64 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6660},"geometry":null},{"type":"Feature","id":6661,"properties":{"Name":"Frazier,Everett Eugene","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Equipment Operator II","Annual_Rt":"$34,646.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6661},"geometry":null},{"type":"Feature","id":6662,"properties":{"Name":"Elliott,Eric L.","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Equipment Operator III","Annual_Rt":"$35,989.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6662},"geometry":null},{"type":"Feature","id":6663,"properties":{"Name":"Shedd,Jamie Burton","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Equipment Operator III","Annual_Rt":"$36,709.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6663},"geometry":null},{"type":"Feature","id":6664,"properties":{"Name":"Willis,Michael Buford","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Field Operations Supervisor","Annual_Rt":"$52,419.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6664},"geometry":null},{"type":"Feature","id":6665,"properties":{"Name":"Hicklen,Michael Eugene","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6665},"geometry":null},{"type":"Feature","id":6666,"properties":{"Name":"Howie,Michael Angelo","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$43,140.76 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6666},"geometry":null},{"type":"Feature","id":6667,"properties":{"Name":"Lee,Franklin J Barfield","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6667},"geometry":null},{"type":"Feature","id":6668,"properties":{"Name":"Norman,TaTae Lamar","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$40,420.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6668},"geometry":null},{"type":"Feature","id":6669,"properties":{"Name":"Rivers,Don F","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$51,418.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6669},"geometry":null},{"type":"Feature","id":6670,"properties":{"Name":"Williams,Edric Raheem","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6670},"geometry":null},{"type":"Feature","id":6671,"properties":{"Name":"Wofford,William H","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$51,548.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6671},"geometry":null},{"type":"Feature","id":6672,"properties":{"Name":"Woliver,Stephan","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6672},"geometry":null},{"type":"Feature","id":6673,"properties":{"Name":"Jolley,Philip","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Operations Supervisor","Annual_Rt":"$65,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6673},"geometry":null},{"type":"Feature","id":6674,"properties":{"Name":"Huggins,Ira D","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Storekeeper","Annual_Rt":"$34,051.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6674},"geometry":null},{"type":"Feature","id":6675,"properties":{"Name":"Drakeford,Reginald G.","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Survey Technician","Annual_Rt":"$33,993.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6675},"geometry":null},{"type":"Feature","id":6676,"properties":{"Name":"Baker,Rhonda Michelle","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Planner Scheduler","Annual_Rt":"$49,798.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6676},"geometry":null},{"type":"Feature","id":6677,"properties":{"Name":"Williams,James Haywood","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Planner Scheduler","Annual_Rt":"$54,747.89 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6677},"geometry":null},{"type":"Feature","id":6678,"properties":{"Name":"Berry III,Henry Lee","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6678},"geometry":null},{"type":"Feature","id":6679,"properties":{"Name":"Brown,Craig R","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$32,310.91 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6679},"geometry":null},{"type":"Feature","id":6680,"properties":{"Name":"Caldwell,James Ray","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$36,430.84 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6680},"geometry":null},{"type":"Feature","id":6681,"properties":{"Name":"Christian,Anthony","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$35,217.73 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6681},"geometry":null},{"type":"Feature","id":6682,"properties":{"Name":"Ellis,Derek Matthew","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$29,554.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6682},"geometry":null},{"type":"Feature","id":6683,"properties":{"Name":"Holt Jr,Charles Frederick","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$29,554.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6683},"geometry":null},{"type":"Feature","id":6684,"properties":{"Name":"Hurt Jr,James Allen","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$29,554.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6684},"geometry":null},{"type":"Feature","id":6685,"properties":{"Name":"Kashimawo,Muyideen Abedowale","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,191.16 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6685},"geometry":null},{"type":"Feature","id":6686,"properties":{"Name":"Lee,Duperzel A.","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$30,749.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6686},"geometry":null},{"type":"Feature","id":6687,"properties":{"Name":"McClain,Jimmy D.","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$33,250.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6687},"geometry":null},{"type":"Feature","id":6688,"properties":{"Name":"Morrison,Johnny Lee","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,448.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6688},"geometry":null},{"type":"Feature","id":6689,"properties":{"Name":"Pegues Jr,James Clayton","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,377.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6689},"geometry":null},{"type":"Feature","id":6690,"properties":{"Name":"Puckett,Michael Scott","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6690},"geometry":null},{"type":"Feature","id":6691,"properties":{"Name":"Sifford,Charles Elijah","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6691},"geometry":null},{"type":"Feature","id":6692,"properties":{"Name":"Sims,Alonzo Berthorn","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$34,404.93 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6692},"geometry":null},{"type":"Feature","id":6693,"properties":{"Name":"Waddell Jr.,William H","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$39,837.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6693},"geometry":null},{"type":"Feature","id":6694,"properties":{"Name":"Williams Jr,Johnny A","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$30,409.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6694},"geometry":null},{"type":"Feature","id":6695,"properties":{"Name":"Williams,Bernard M","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6695},"geometry":null},{"type":"Feature","id":6696,"properties":{"Name":"Wilson,Christine","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6696},"geometry":null},{"type":"Feature","id":6697,"properties":{"Name":"Anderson,Michael S","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6697},"geometry":null},{"type":"Feature","id":6698,"properties":{"Name":"Brooks,DeAngelo Neko","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,247.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6698},"geometry":null},{"type":"Feature","id":6699,"properties":{"Name":"Butler,Corey T","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,347.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6699},"geometry":null},{"type":"Feature","id":6700,"properties":{"Name":"Gore,Quantrell Emanuel","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6700},"geometry":null},{"type":"Feature","id":6701,"properties":{"Name":"Herman Jr,William Louis","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6701},"geometry":null},{"type":"Feature","id":6702,"properties":{"Name":"Leverett II,Murray Lorenzo","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6702},"geometry":null},{"type":"Feature","id":6703,"properties":{"Name":"Mobley,Scottie","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6703},"geometry":null},{"type":"Feature","id":6704,"properties":{"Name":"Ratliff Jr,Gregory Eric","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,083.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6704},"geometry":null},{"type":"Feature","id":6705,"properties":{"Name":"Simons,Andre Llewllyn","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,461.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6705},"geometry":null},{"type":"Feature","id":6706,"properties":{"Name":"Strong,Shaun Antuanne","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,461.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6706},"geometry":null},{"type":"Feature","id":6707,"properties":{"Name":"van Nurden,Anthony","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,461.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6707},"geometry":null},{"type":"Feature","id":6708,"properties":{"Name":"Williams,Frederick Dwight","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6708},"geometry":null},{"type":"Feature","id":6709,"properties":{"Name":"Wright,Jamarcus Donta","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,083.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6709},"geometry":null},{"type":"Feature","id":6710,"properties":{"Name":"Wynn,Jonathan Manuel","Unit":"Utilities","Dept":"Utility Matthews Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6710},"geometry":null},{"type":"Feature","id":6711,"properties":{"Name":"McKinney,Larry D","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"Centrifuge/Solids Operator","Annual_Rt":"$41,452.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6711},"geometry":null},{"type":"Feature","id":6712,"properties":{"Name":"White,James R","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"Centrifuge/Solids Operator","Annual_Rt":"$47,002.21 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6712},"geometry":null},{"type":"Feature","id":6713,"properties":{"Name":"McLean,Curtis D","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"Equipment Operator I","Annual_Rt":"$29,771.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6713},"geometry":null},{"type":"Feature","id":6714,"properties":{"Name":"Tittle,Rick Alan","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"Equipment Operator I","Annual_Rt":"$29,580.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6714},"geometry":null},{"type":"Feature","id":6715,"properties":{"Name":"Jones,Jasmine D","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"Office Assistant V","Annual_Rt":"$36,742.63 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6715},"geometry":null},{"type":"Feature","id":6716,"properties":{"Name":"Bidetti,Thomas P.","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$38,663.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6716},"geometry":null},{"type":"Feature","id":6717,"properties":{"Name":"Cunningham,Kent L.","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$40,534.83 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6717},"geometry":null},{"type":"Feature","id":6718,"properties":{"Name":"Blount,Jon Christian","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Chf Treatment Plant Op","Annual_Rt":"$52,047.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6718},"geometry":null},{"type":"Feature","id":6719,"properties":{"Name":"Purgason,Keith Allen","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Chf Treatment Plant Op","Annual_Rt":"$54,270.24 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6719},"geometry":null},{"type":"Feature","id":6720,"properties":{"Name":"Connell,Catherine W","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op I","Annual_Rt":"$34,279.67 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6720},"geometry":null},{"type":"Feature","id":6721,"properties":{"Name":"Matias,Daniel Joseph","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op I","Annual_Rt":"$34,624.26 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6721},"geometry":null},{"type":"Feature","id":6722,"properties":{"Name":"Romb,Daniel Edward","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op I","Annual_Rt":"$33,607.52 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6722},"geometry":null},{"type":"Feature","id":6723,"properties":{"Name":"Bevans,Robert M.","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op II","Annual_Rt":"$37,723.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6723},"geometry":null},{"type":"Feature","id":6724,"properties":{"Name":"Knabb,Eric L","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op II","Annual_Rt":"$53,318.70 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6724},"geometry":null},{"type":"Feature","id":6725,"properties":{"Name":"Mullis,Heather","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op II","Annual_Rt":"$39,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6725},"geometry":null},{"type":"Feature","id":6726,"properties":{"Name":"Nance,Jeremy D.","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op II","Annual_Rt":"$39,500.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6726},"geometry":null},{"type":"Feature","id":6727,"properties":{"Name":"Butler,Michael Patrick","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op III","Annual_Rt":"$41,648.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6727},"geometry":null},{"type":"Feature","id":6728,"properties":{"Name":"Smith,Terrell Reid","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op III","Annual_Rt":"$41,648.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6728},"geometry":null},{"type":"Feature","id":6729,"properties":{"Name":"Vazquez,Guillermo","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op III","Annual_Rt":"$42,133.77 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6729},"geometry":null},{"type":"Feature","id":6730,"properties":{"Name":"Aguilera,Jose","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6730},"geometry":null},{"type":"Feature","id":6731,"properties":{"Name":"Curlee,James E.","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$47,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6731},"geometry":null},{"type":"Feature","id":6732,"properties":{"Name":"Ebneth,Andrew","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$46,516.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6732},"geometry":null},{"type":"Feature","id":6733,"properties":{"Name":"Faulkenberry,Roger Dale","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6733},"geometry":null},{"type":"Feature","id":6734,"properties":{"Name":"Killough II,Ney B","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$47,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6734},"geometry":null},{"type":"Feature","id":6735,"properties":{"Name":"McConnell Jr,Robert Glenn","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6735},"geometry":null},{"type":"Feature","id":6736,"properties":{"Name":"Overcash,Barry J","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$48,535.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6736},"geometry":null},{"type":"Feature","id":6737,"properties":{"Name":"Vidal,Edward A","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6737},"geometry":null},{"type":"Feature","id":6738,"properties":{"Name":"Waiters,Patrick A","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$47,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6738},"geometry":null},{"type":"Feature","id":6739,"properties":{"Name":"Neely,Sandy K","Unit":"Utilities","Dept":"Utility McAlpine Creek Plant","Job_Title":"WW Treatment Plant Supv Sr","Annual_Rt":"$90,816.66 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6739},"geometry":null},{"type":"Feature","id":6740,"properties":{"Name":"humes,nicholas alexander","Unit":"Utilities","Dept":"Utility McDowell Creek Plant","Job_Title":"Equipment Operator I","Annual_Rt":"$27,499.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6740},"geometry":null},{"type":"Feature","id":6741,"properties":{"Name":"Wilkinson,Esther Y","Unit":"Utilities","Dept":"Utility McDowell Creek Plant","Job_Title":"Office Assistant IV","Annual_Rt":"$33,657.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6741},"geometry":null},{"type":"Feature","id":6742,"properties":{"Name":"Spinelli,Anthony","Unit":"Utilities","Dept":"Utility McDowell Creek Plant","Job_Title":"WW Chf Treatment Plant Op","Annual_Rt":"$53,088.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6742},"geometry":null},{"type":"Feature","id":6743,"properties":{"Name":"Messmer,Jacob Edward","Unit":"Utilities","Dept":"Utility McDowell Creek Plant","Job_Title":"WW Treatment Plant Op I","Annual_Rt":"$34,000.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6743},"geometry":null},{"type":"Feature","id":6744,"properties":{"Name":"Cunningham,Beth","Unit":"Utilities","Dept":"Utility McDowell Creek Plant","Job_Title":"WW Treatment Plant Op II","Annual_Rt":"$37,723.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6744},"geometry":null},{"type":"Feature","id":6745,"properties":{"Name":"Gheesling,Michael Henry","Unit":"Utilities","Dept":"Utility McDowell Creek Plant","Job_Title":"WW Treatment Plant Op III","Annual_Rt":"$41,648.30 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6745},"geometry":null},{"type":"Feature","id":6746,"properties":{"Name":"Baldwin,Patrick William","Unit":"Utilities","Dept":"Utility McDowell Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$44,879.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6746},"geometry":null},{"type":"Feature","id":6747,"properties":{"Name":"Bolick,Jacob Wayne","Unit":"Utilities","Dept":"Utility McDowell Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6747},"geometry":null},{"type":"Feature","id":6748,"properties":{"Name":"Brown Jr,Donald W","Unit":"Utilities","Dept":"Utility McDowell Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$53,486.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6748},"geometry":null},{"type":"Feature","id":6749,"properties":{"Name":"Dishman,Brian Mack","Unit":"Utilities","Dept":"Utility McDowell Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6749},"geometry":null},{"type":"Feature","id":6750,"properties":{"Name":"Graham,Katie A","Unit":"Utilities","Dept":"Utility McDowell Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6750},"geometry":null},{"type":"Feature","id":6751,"properties":{"Name":"Healy,Johanna R","Unit":"Utilities","Dept":"Utility McDowell Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6751},"geometry":null},{"type":"Feature","id":6752,"properties":{"Name":"Lockler,Steven Joseph","Unit":"Utilities","Dept":"Utility McDowell Creek Plant","Job_Title":"WW Treatment Plant Supv","Annual_Rt":"$64,275.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6752},"geometry":null},{"type":"Feature","id":6753,"properties":{"Name":"Erickson,Bruce R","Unit":"Utilities","Dept":"Utility Procurement","Job_Title":"Contracts Admin Coordinator","Annual_Rt":"$65,216.61 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6753},"geometry":null},{"type":"Feature","id":6754,"properties":{"Name":"Lewis,Adrianne Florence","Unit":"Utilities","Dept":"Utility Procurement","Job_Title":"Contracts Admin Specialist","Annual_Rt":"$58,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6754},"geometry":null},{"type":"Feature","id":6755,"properties":{"Name":"Giboney,Ronald E","Unit":"Utilities","Dept":"Utility Safety Team","Job_Title":"Administrative Officer II","Annual_Rt":"$48,084.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6755},"geometry":null},{"type":"Feature","id":6756,"properties":{"Name":"Haraden,Shawn Bradley","Unit":"Utilities","Dept":"Utility Safety Team","Job_Title":"Safety Coordinator","Annual_Rt":"$57,834.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6756},"geometry":null},{"type":"Feature","id":6757,"properties":{"Name":"Brown,Geraldine A","Unit":"Utilities","Dept":"Utility Safety Team","Job_Title":"Safety Coordinator-Senior","Annual_Rt":"$77,034.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6757},"geometry":null},{"type":"Feature","id":6758,"properties":{"Name":"Lamb,Melanie P","Unit":"Utilities","Dept":"Utility Safety Team","Job_Title":"Safety Supervisor","Annual_Rt":"$79,354.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6758},"geometry":null},{"type":"Feature","id":6759,"properties":{"Name":"Young,Daniel D","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Laborer","Annual_Rt":"$28,310.41 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6759},"geometry":null},{"type":"Feature","id":6760,"properties":{"Name":"Lovell,Tony Carroll","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Lift Station Technician","Annual_Rt":"$36,463.96 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6760},"geometry":null},{"type":"Feature","id":6761,"properties":{"Name":"Maniscalco,Raymond Paul","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Lift Station Technician","Annual_Rt":"$37,193.43 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6761},"geometry":null},{"type":"Feature","id":6762,"properties":{"Name":"Rose,Rickolan Nickardo","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Lift Station Technician","Annual_Rt":"$36,464.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6762},"geometry":null},{"type":"Feature","id":6763,"properties":{"Name":"Sykes,Ronald Roy","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Lift Station Technician","Annual_Rt":"$42,087.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6763},"geometry":null},{"type":"Feature","id":6764,"properties":{"Name":"Donovan,Sally A","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Office Assistant V","Annual_Rt":"$41,881.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6764},"geometry":null},{"type":"Feature","id":6765,"properties":{"Name":"Rosenberger II,Stuart L.","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Operations Supervisor","Annual_Rt":"$63,365.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6765},"geometry":null},{"type":"Feature","id":6766,"properties":{"Name":"Benson,Gary M","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Treatment Plant Electrician","Annual_Rt":"$54,530.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6766},"geometry":null},{"type":"Feature","id":6767,"properties":{"Name":"Johnson,Hobert Lynn","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Treatment Plant Electrician","Annual_Rt":"$46,311.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6767},"geometry":null},{"type":"Feature","id":6768,"properties":{"Name":"Badz,Gerard G","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$51,859.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6768},"geometry":null},{"type":"Feature","id":6769,"properties":{"Name":"Biddlecom,Glenn Robert","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$47,365.11 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6769},"geometry":null},{"type":"Feature","id":6770,"properties":{"Name":"Cossin,Teddy L","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$44,750.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6770},"geometry":null},{"type":"Feature","id":6771,"properties":{"Name":"Evans,William","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$45,908.49 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6771},"geometry":null},{"type":"Feature","id":6772,"properties":{"Name":"James,Antonio","Unit":"Utilities","Dept":"Utility Sewage Lift Zone","Job_Title":"Treatment Plant Mechanic II","Annual_Rt":"$41,975.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6772},"geometry":null},{"type":"Feature","id":6773,"properties":{"Name":"Hunter,Ralph Calvin","Unit":"Utilities","Dept":"Utility Sugar Creek Plant","Job_Title":"Equipment Operator I","Annual_Rt":"$27,500.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6773},"geometry":null},{"type":"Feature","id":6774,"properties":{"Name":"Slachciak,Donna","Unit":"Utilities","Dept":"Utility Sugar Creek Plant","Job_Title":"WW Chf Treatment Plant Op","Annual_Rt":"$53,088.14 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6774},"geometry":null},{"type":"Feature","id":6775,"properties":{"Name":"Grogin,Stuart Andrew","Unit":"Utilities","Dept":"Utility Sugar Creek Plant","Job_Title":"WW Treatment Plant Op II","Annual_Rt":"$37,723.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6775},"geometry":null},{"type":"Feature","id":6776,"properties":{"Name":"Massie,JC","Unit":"Utilities","Dept":"Utility Sugar Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6776},"geometry":null},{"type":"Feature","id":6777,"properties":{"Name":"McLarty,Marc J","Unit":"Utilities","Dept":"Utility Sugar Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$46,304.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6777},"geometry":null},{"type":"Feature","id":6778,"properties":{"Name":"McMillan,Renardo N","Unit":"Utilities","Dept":"Utility Sugar Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6778},"geometry":null},{"type":"Feature","id":6779,"properties":{"Name":"Messenger,Daniel A","Unit":"Utilities","Dept":"Utility Sugar Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$49,783.95 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6779},"geometry":null},{"type":"Feature","id":6780,"properties":{"Name":"Mintz,Tyler Andrew","Unit":"Utilities","Dept":"Utility Sugar Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6780},"geometry":null},{"type":"Feature","id":6781,"properties":{"Name":"Robinson,Rhonda Crabtree","Unit":"Utilities","Dept":"Utility Sugar Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$45,277.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6781},"geometry":null},{"type":"Feature","id":6782,"properties":{"Name":"Wilkes,Stacia Andrea","Unit":"Utilities","Dept":"Utility Sugar Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$46,516.99 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6782},"geometry":null},{"type":"Feature","id":6783,"properties":{"Name":"Witkowski,Alan V","Unit":"Utilities","Dept":"Utility Sugar Creek Plant","Job_Title":"WW Treatment Plant Op IV","Annual_Rt":"$44,389.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6783},"geometry":null},{"type":"Feature","id":6784,"properties":{"Name":"Allen Jr,William M","Unit":"Utilities","Dept":"Utility Sugar Creek Plant","Job_Title":"WW Treatment Plant Supv","Annual_Rt":"$64,275.05 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6784},"geometry":null},{"type":"Feature","id":6785,"properties":{"Name":"Amaniampong,Patricia","Unit":"Utilities","Dept":"Utility System Protection","Job_Title":"Eng Services Investigator","Annual_Rt":"$41,645.54 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6785},"geometry":null},{"type":"Feature","id":6786,"properties":{"Name":"Gintert III,Dean W","Unit":"Utilities","Dept":"Utility System Protection","Job_Title":"Environmental Compliance Mgr","Annual_Rt":"$68,222.29 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6786},"geometry":null},{"type":"Feature","id":6787,"properties":{"Name":"Bell,Rocio Garcia","Unit":"Utilities","Dept":"Utility System Protection","Job_Title":"Environmental Compliance Spec","Annual_Rt":"$48,720.88 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6787},"geometry":null},{"type":"Feature","id":6788,"properties":{"Name":"Botic,Mary Kate","Unit":"Utilities","Dept":"Utility System Protection","Job_Title":"Environmental Compliance Spec","Annual_Rt":"$47,123.28 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6788},"geometry":null},{"type":"Feature","id":6789,"properties":{"Name":"Moore,Angela Y","Unit":"Utilities","Dept":"Utility System Protection","Job_Title":"Environmental Compliance Spec","Annual_Rt":"$56,371.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6789},"geometry":null},{"type":"Feature","id":6790,"properties":{"Name":"Wise,Douglas K","Unit":"Utilities","Dept":"Utility System Protection","Job_Title":"Environmental Compliance Spec","Annual_Rt":"$48,552.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6790},"geometry":null},{"type":"Feature","id":6791,"properties":{"Name":"Downs,Timothy Franklin","Unit":"Utilities","Dept":"Utility System Protection","Job_Title":"Environmental Compliance Supv","Annual_Rt":"$68,258.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6791},"geometry":null},{"type":"Feature","id":6792,"properties":{"Name":"Tarver,Ruby A","Unit":"Utilities","Dept":"Utility System Protection","Job_Title":"Environmental Compliance Supv","Annual_Rt":"$69,328.38 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6792},"geometry":null},{"type":"Feature","id":6793,"properties":{"Name":"Llanes,Miguel Angel","Unit":"Utilities","Dept":"Utility System Protection","Job_Title":"Environmental Program Inspecto","Annual_Rt":"$43,419.27 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6793},"geometry":null},{"type":"Feature","id":6794,"properties":{"Name":"Thompson,Cassandra LTonya","Unit":"Utilities","Dept":"Utility System Protection","Job_Title":"Environmental Program Inspecto","Annual_Rt":"$43,419.56 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6794},"geometry":null},{"type":"Feature","id":6795,"properties":{"Name":"Whitley,Preston Lavon","Unit":"Utilities","Dept":"Utility System Protection","Job_Title":"Environmental Program Inspecto","Annual_Rt":"$43,419.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6795},"geometry":null},{"type":"Feature","id":6796,"properties":{"Name":"Goode,Elmer Jaye","Unit":"Utilities","Dept":"Utility System Protection","Job_Title":"Water Quality Technician","Annual_Rt":"$37,145.53 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6796},"geometry":null},{"type":"Feature","id":6797,"properties":{"Name":"Morgan Jr,James Harrison","Unit":"Utilities","Dept":"Utility Vest Treatment Plt O","Job_Title":"Water Treatment Plant Opr A","Annual_Rt":"$44,671.72 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6797},"geometry":null},{"type":"Feature","id":6798,"properties":{"Name":"Rodriguez Reyes,Carlos","Unit":"Utilities","Dept":"Utility Vest Treatment Plt O","Job_Title":"Water Treatment Plant Opr A","Annual_Rt":"$49,861.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6798},"geometry":null},{"type":"Feature","id":6799,"properties":{"Name":"Stokes,Larry W","Unit":"Utilities","Dept":"Utility Vest Treatment Plt O","Job_Title":"Water Treatment Plant Opr A","Annual_Rt":"$51,834.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6799},"geometry":null},{"type":"Feature","id":6800,"properties":{"Name":"Williams,Richard Alonzo","Unit":"Utilities","Dept":"Utility Vest Treatment Plt O","Job_Title":"Water Treatment Plant Opr A","Annual_Rt":"$54,939.98 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6800},"geometry":null},{"type":"Feature","id":6801,"properties":{"Name":"Shearer,Brandon R","Unit":"Utilities","Dept":"Utility Vest Treatment Plt O","Job_Title":"Water Treatment Plant Opr C","Annual_Rt":"$38,663.10 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6801},"geometry":null},{"type":"Feature","id":6802,"properties":{"Name":"Teets,Timothy Edward","Unit":"Utilities","Dept":"Utility Vest Treatment Plt O","Job_Title":"Water Treatment Plant Opr C","Annual_Rt":"$34,717.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6802},"geometry":null},{"type":"Feature","id":6803,"properties":{"Name":"Clift,Steven E","Unit":"Utilities","Dept":"Utility Vest Treatment Plt O","Job_Title":"Water Treatment Plant Supv","Annual_Rt":"$61,863.92 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6803},"geometry":null},{"type":"Feature","id":6804,"properties":{"Name":"Huffstickler,Teresa S","Unit":"Utilities","Dept":"Utility Water Administration","Job_Title":"Administrative Officer I","Annual_Rt":"$49,933.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6804},"geometry":null},{"type":"Feature","id":6805,"properties":{"Name":"Dunn,Susan Lorraine","Unit":"Utilities","Dept":"Utility Water Administration","Job_Title":"Office Assistant V","Annual_Rt":"$38,551.34 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6805},"geometry":null},{"type":"Feature","id":6806,"properties":{"Name":"Huber,John C","Unit":"Utilities","Dept":"Utility Water Administration","Job_Title":"Utilities Manager","Annual_Rt":"$110,000.00 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6806},"geometry":null},{"type":"Feature","id":6807,"properties":{"Name":"Hawkins,Randy M","Unit":"Utilities","Dept":"Utility Water Administration","Job_Title":"Utilities Operations Manager","Annual_Rt":"$88,921.55 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6807},"geometry":null},{"type":"Feature","id":6808,"properties":{"Name":"Campbell,Larry Paul","Unit":"Utilities","Dept":"Utility Water Administration","Job_Title":"Water Quality Program Admin","Annual_Rt":"$74,497.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6808},"geometry":null},{"type":"Feature","id":6809,"properties":{"Name":"Sasser,Gabe S","Unit":"Utilities","Dept":"Utility Water Administration","Job_Title":"Water Quality Program Speciali","Annual_Rt":"$60,407.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6809},"geometry":null},{"type":"Feature","id":6810,"properties":{"Name":"Marshall,John L","Unit":"Utilities","Dept":"Utility Water Maintenance","Job_Title":"Treatment Plant Maint Supv","Annual_Rt":null,"Hrly_Rate":"$32.38 ","RegTemp":"T","Full/Part":"P","OBJECTID":6810},"geometry":null},{"type":"Feature","id":6811,"properties":{"Name":"Bonds,Edwin B","Unit":"Utilities","Dept":"Utility Water Maintenance","Job_Title":"Treatment Plant Mechanic III","Annual_Rt":"$58,637.47 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6811},"geometry":null},{"type":"Feature","id":6812,"properties":{"Name":"Davis,Jimmy Allen","Unit":"Utilities","Dept":"Utility Water Maintenance","Job_Title":"Treatment Plant Mechanic III","Annual_Rt":"$47,949.86 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6812},"geometry":null},{"type":"Feature","id":6813,"properties":{"Name":"Miller,Michael L","Unit":"Utilities","Dept":"Utility Water Maintenance","Job_Title":"Treatment Plant Mechanic III","Annual_Rt":"$63,241.79 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6813},"geometry":null},{"type":"Feature","id":6814,"properties":{"Name":"Starnes,Danny Ray","Unit":"Utilities","Dept":"Utility Water Maintenance","Job_Title":"Treatment Plant Mechanic III","Annual_Rt":"$44,856.81 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6814},"geometry":null},{"type":"Feature","id":6815,"properties":{"Name":"Stephens,Travis Jerome","Unit":"Utilities","Dept":"Utility Water Maintenance","Job_Title":"Treatment Plant Mechanic III","Annual_Rt":"$44,834.94 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6815},"geometry":null},{"type":"Feature","id":6816,"properties":{"Name":"Wendt,John R","Unit":"Utilities","Dept":"Utility Water Maintenance","Job_Title":"Treatment Plant Mechanic III","Annual_Rt":"$54,613.19 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6816},"geometry":null},{"type":"Feature","id":6817,"properties":{"Name":"Borders,Betty P","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Administrative Officer I","Annual_Rt":"$49,634.46 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6817},"geometry":null},{"type":"Feature","id":6818,"properties":{"Name":"Truesdale,Eric O","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Equipment Operator II","Annual_Rt":"$38,746.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6818},"geometry":null},{"type":"Feature","id":6819,"properties":{"Name":"Bradley,Evange Lee","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Equipment Operator III","Annual_Rt":"$40,413.02 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6819},"geometry":null},{"type":"Feature","id":6820,"properties":{"Name":"Fort,Christopher Michael","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Field Operations Supervisor","Annual_Rt":"$52,419.69 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6820},"geometry":null},{"type":"Feature","id":6821,"properties":{"Name":"Turnmire,Shawn Michael","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Field Operations Supervisor","Annual_Rt":"$51,391.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6821},"geometry":null},{"type":"Feature","id":6822,"properties":{"Name":"Wright,Johnny E","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Field Operations Supervisor","Annual_Rt":"$56,891.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6822},"geometry":null},{"type":"Feature","id":6823,"properties":{"Name":"Abrams,Tony O","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,137.71 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6823},"geometry":null},{"type":"Feature","id":6824,"properties":{"Name":"Bennett II,Thomas Lee","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$40,419.60 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6824},"geometry":null},{"type":"Feature","id":6825,"properties":{"Name":"Chilcot,Jason C","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$39,509.85 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6825},"geometry":null},{"type":"Feature","id":6826,"properties":{"Name":"Davis,Duvar Samar","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6826},"geometry":null},{"type":"Feature","id":6827,"properties":{"Name":"Foster,Philip E.","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6827},"geometry":null},{"type":"Feature","id":6828,"properties":{"Name":"Lynch,Marcus Antonie","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$40,420.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6828},"geometry":null},{"type":"Feature","id":6829,"properties":{"Name":"Reid,John G","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$48,855.01 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6829},"geometry":null},{"type":"Feature","id":6830,"properties":{"Name":"Shells,Larry","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$44,364.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6830},"geometry":null},{"type":"Feature","id":6831,"properties":{"Name":"Williams,Garry C","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Labor Crew Chief II","Annual_Rt":"$41,228.45 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6831},"geometry":null},{"type":"Feature","id":6832,"properties":{"Name":"Diggs,Willie J","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Laborer","Annual_Rt":"$30,766.18 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6832},"geometry":null},{"type":"Feature","id":6833,"properties":{"Name":"Caldwell,Kenneth Shelton","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Manhole Inspector","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6833},"geometry":null},{"type":"Feature","id":6834,"properties":{"Name":"Hayer,Mark A","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Manhole Inspector","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6834},"geometry":null},{"type":"Feature","id":6835,"properties":{"Name":"Peeples,Shaunn Alexis","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Manhole Inspector","Annual_Rt":"$27,803.97 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6835},"geometry":null},{"type":"Feature","id":6836,"properties":{"Name":"Wallace,Issie L","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Manhole Inspector","Annual_Rt":"$30,352.17 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6836},"geometry":null},{"type":"Feature","id":6837,"properties":{"Name":"Friday,Brenda F","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Office Assistant IV","Annual_Rt":"$30,998.65 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6837},"geometry":null},{"type":"Feature","id":6838,"properties":{"Name":"Lee,William Cornelious","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Operations Supervisor","Annual_Rt":"$64,633.12 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6838},"geometry":null},{"type":"Feature","id":6839,"properties":{"Name":"Berry,James L","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Stores Supervisor","Annual_Rt":"$43,820.07 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6839},"geometry":null},{"type":"Feature","id":6840,"properties":{"Name":"Briskey,Douglas","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Planner Scheduler","Annual_Rt":"$49,798.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6840},"geometry":null},{"type":"Feature","id":6841,"properties":{"Name":"Walker,Albert Adam","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Planner Scheduler","Annual_Rt":"$49,798.75 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6841},"geometry":null},{"type":"Feature","id":6842,"properties":{"Name":"Baldwin,Deffery","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,298.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6842},"geometry":null},{"type":"Feature","id":6843,"properties":{"Name":"Bolden,Michael Jovante","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6843},"geometry":null},{"type":"Feature","id":6844,"properties":{"Name":"Brooks,Carolyn D","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,388.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6844},"geometry":null},{"type":"Feature","id":6845,"properties":{"Name":"Burton,Sylvester L","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$38,090.82 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6845},"geometry":null},{"type":"Feature","id":6846,"properties":{"Name":"Dixon,Donna Lynn","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6846},"geometry":null},{"type":"Feature","id":6847,"properties":{"Name":"Frazier III,Daniel Heath","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$29,554.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6847},"geometry":null},{"type":"Feature","id":6848,"properties":{"Name":"Fuller,Marvin D.","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$29,554.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6848},"geometry":null},{"type":"Feature","id":6849,"properties":{"Name":"Gaston,Doran","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$32,461.40 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6849},"geometry":null},{"type":"Feature","id":6850,"properties":{"Name":"Gaston,William Lewis","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,191.42 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6850},"geometry":null},{"type":"Feature","id":6851,"properties":{"Name":"Girard,Matthew J","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$39,828.39 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6851},"geometry":null},{"type":"Feature","id":6852,"properties":{"Name":"Goodman,Frank Lamel","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6852},"geometry":null},{"type":"Feature","id":6853,"properties":{"Name":"Haggins,Cleveland A","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6853},"geometry":null},{"type":"Feature","id":6854,"properties":{"Name":"Kenion,MacArthur Wilson","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6854},"geometry":null},{"type":"Feature","id":6855,"properties":{"Name":"Kirk,George E.","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$32,867.62 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6855},"geometry":null},{"type":"Feature","id":6856,"properties":{"Name":"Linares,Ruben I","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6856},"geometry":null},{"type":"Feature","id":6857,"properties":{"Name":"Lindsay,Jamal Denell","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$29,554.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6857},"geometry":null},{"type":"Feature","id":6858,"properties":{"Name":"Mack Jr,Arthur","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$36,438.51 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6858},"geometry":null},{"type":"Feature","id":6859,"properties":{"Name":"Mackey Jr,Larry","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6859},"geometry":null},{"type":"Feature","id":6860,"properties":{"Name":"Myers,Gregory M","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6860},"geometry":null},{"type":"Feature","id":6861,"properties":{"Name":"Pressley III,William","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$39,465.80 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6861},"geometry":null},{"type":"Feature","id":6862,"properties":{"Name":"Raley,Charles Junior","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$39,286.48 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6862},"geometry":null},{"type":"Feature","id":6863,"properties":{"Name":"Robinson,Bobby Joe","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$29,554.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6863},"geometry":null},{"type":"Feature","id":6864,"properties":{"Name":"Roseboro,Jeron Eugene","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$29,554.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6864},"geometry":null},{"type":"Feature","id":6865,"properties":{"Name":"Sherman,Jimmy A","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$33,075.15 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6865},"geometry":null},{"type":"Feature","id":6866,"properties":{"Name":"Simpson,Lowell","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6866},"geometry":null},{"type":"Feature","id":6867,"properties":{"Name":"Simpson,Tony Valentino","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6867},"geometry":null},{"type":"Feature","id":6868,"properties":{"Name":"Smith,William Henry","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6868},"geometry":null},{"type":"Feature","id":6869,"properties":{"Name":"Stitt,Damian Lavar","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$29,554.68 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6869},"geometry":null},{"type":"Feature","id":6870,"properties":{"Name":"White,Joseph Wiley","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6870},"geometry":null},{"type":"Feature","id":6871,"properties":{"Name":"Wise,Joseph Benjamin","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technican II","Annual_Rt":"$31,364.59 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6871},"geometry":null},{"type":"Feature","id":6872,"properties":{"Name":"Argonauta,Matthew Webster Spielman","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6872},"geometry":null},{"type":"Feature","id":6873,"properties":{"Name":"Crowell,Christopher M","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6873},"geometry":null},{"type":"Feature","id":6874,"properties":{"Name":"Huskey,Jeffrey D","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6874},"geometry":null},{"type":"Feature","id":6875,"properties":{"Name":"Johnson,Reginald Benito","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6875},"geometry":null},{"type":"Feature","id":6876,"properties":{"Name":"Manning,Brian Keith","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6876},"geometry":null},{"type":"Feature","id":6877,"properties":{"Name":"McClure,Gary Austin","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6877},"geometry":null},{"type":"Feature","id":6878,"properties":{"Name":"Murchison,Donald L","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,000.04 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6878},"geometry":null},{"type":"Feature","id":6879,"properties":{"Name":"Reames,Jason David","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,461.35 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6879},"geometry":null},{"type":"Feature","id":6880,"properties":{"Name":"Stallings,Marcus ONeal","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6880},"geometry":null},{"type":"Feature","id":6881,"properties":{"Name":"Stevens Jr,Joel S","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6881},"geometry":null},{"type":"Feature","id":6882,"properties":{"Name":"Tindal,Henry DJuan","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6882},"geometry":null},{"type":"Feature","id":6883,"properties":{"Name":"Torok,Martin Joseph","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$27,084.20 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6883},"geometry":null},{"type":"Feature","id":6884,"properties":{"Name":"Wilson,Richard Forrest","Unit":"Utilities","Dept":"Utility West Tyvola Zone","Job_Title":"Utilities Technician I","Annual_Rt":"$26,990.58 ","Hrly_Rate":null,"RegTemp":"R","Full/Part":"F","OBJECTID":6884},"geometry":null}]} \ No newline at end of file diff --git a/packages/featureserver/test/integration/fixtures/data-with-complex-metadata.json b/packages/featureserver/test/integration/fixtures/data-with-complex-metadata.json deleted file mode 100644 index 0e4d96be7..000000000 --- a/packages/featureserver/test/integration/fixtures/data-with-complex-metadata.json +++ /dev/null @@ -1,191 +0,0 @@ -{ - "type": "FeatureCollection", - "metadata": { - "name": "Random polygons", - "description": "MyTestDesc", - "geometryType": "Polygon", - "extent": { - "xmin": -125, - "ymin": 20, - "xmax": -70, - "ymax": 49, - "spatialReference": { - "wkid": 4326, - "latestWkid": 4326 - } - }, - "idField": "interval", - "capabilities": "Query,Delete", - "displayField": "label", - "maxRecordCount": 1, - "hasStaticData": false, - "renderer": { - "type": "simple", - "symbol": { - "type": "esriSFS", - "style": "esriSFSSolid", - "color": [ - 115, - 76, - 0, - 255 - ], - "outline": { - "type": "esriSLS", - "style": "esriSLSSolid", - "color": [ - 110, - 110, - 110, - 255 - ], - "width": 1 - } - } - } - }, - "capabilities": { - "quantization": true, - "extract": true - }, - "features": [ - { - "type": "Feature", - "properties": { - "interval": 0, - "label": "Day 1" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - -121.31103515625, - 47.901613541421 - ], - [ - -121.22314453125, - 47.81131001626 - ], - [ - -120.9814453125, - 47.838970656476 - ], - [ - -120.98968505859, - 47.888722666599 - ], - [ - -121.06109619141, - 47.953144950156 - ], - [ - -121.25610351562, - 47.956823800497 - ], - [ - -121.31103515625, - 47.901613541421 - ] - ] - ] - } - }, - { - "type": "Feature", - "properties": { - "interval": 1, - "label": "Day 2" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - -121.46209716797, - 48.048709942887 - ], - [ - -121.56372070312, - 47.837127072369 - ], - [ - -121.2451171875, - 47.624677852413 - ], - [ - -120.92376708984, - 47.715305661596 - ], - [ - -120.88806152344, - 47.947626183529 - ], - [ - -121.18194580078, - 48.021161285658 - ], - [ - -121.46209716797, - 48.048709942887 - ] - ] - ] - } - }, - { - "type": "Feature", - "properties": { - "interval": 2, - "label": "Day 3" - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - -120.88119506836, - 47.882276025692 - ], - [ - -120.86883544922, - 47.976133467682 - ], - [ - -121.22589111328, - 48.144097934939 - ], - [ - -121.46209716797, - 48.130350972492 - ], - [ - -121.55136108398, - 47.945786463687 - ], - [ - -121.58706665039, - 47.843579330145 - ], - [ - -121.34536743164, - 47.601533317387 - ], - [ - -121.06246948242, - 47.578378538602 - ], - [ - -120.88668823242, - 47.719001413202 - ], - [ - -120.88119506836, - 47.882276025692 - ] - ] - ] - } - } - ] -} diff --git a/packages/featureserver/test/integration/fixtures/date-no-metadata.json b/packages/featureserver/test/integration/fixtures/date-no-metadata.json deleted file mode 100644 index 4536b9b25..000000000 --- a/packages/featureserver/test/integration/fixtures/date-no-metadata.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "geometry": null, - "properties": { - "dateField": "2017-06-16T01:58:36.179Z" - } - } - ] -} diff --git a/packages/featureserver/test/integration/fixtures/date-with-metadata.json b/packages/featureserver/test/integration/fixtures/date-with-metadata.json deleted file mode 100644 index d071704f2..000000000 --- a/packages/featureserver/test/integration/fixtures/date-with-metadata.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "geometry": null, - "properties": { - "dateField": "2017-06-16T01:58:36.179Z" - } - } - ], - "metadata": { - "fields": [ - { - "name": "dateField", - "type": "Date" - } - ] - } -} diff --git a/packages/featureserver/test/integration/fixtures/fully-specified-metadata.json b/packages/featureserver/test/integration/fixtures/fully-specified-metadata.json deleted file mode 100644 index 3db51cb4f..000000000 --- a/packages/featureserver/test/integration/fixtures/fully-specified-metadata.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "type": "FeatureCollection", - "metadata": { - "name": "restaurants", - "fields": [ - { - "name": "OBJECTID", - "type": "Integer" - }, - { - "name": "Facility_N", - "type": "String" - }, - { - "name": "Facility_I", - "type": "String" - }, - { - "name": "Address", - "type": "String" - }, - { - "name": "City", - "type": "String" - }, - { - "name": "Zip", - "type": "String" - }, - { - "name": "Latitude", - "type": "Double" - }, - { - "name": "Longitude", - "type": "Double" - }, - { - "name": "Inspection", - "type": "Date" - }, - { - "name": "Related_ID", - "type": "String" - }, - { - "name": "Score", - "type": "Double" - } - ], - "idField": "OBJECTID", - "displayField": "Facility_N" - }, - "filtersApplied": { - "geometry": true, - "where": true - }, - "features": [ - { - "type": "Feature", - "properties": { - "OBJECTID": 1, - "Facility_N": "ROUND TABLE PIZZA", - "Facility_I": "FA0016195", - "Address": "14898 DALE EVANS", - "City": "APPLE VALLEY", - "Zip": "92307", - "Latitude": 34.525655, - "Longitude": -117.215373, - "Inspection": "2017-02-28-04:00", - "Related_ID": "PR0021541", - "Score": 94 - } - } - ] -} diff --git a/packages/featureserver/test/integration/fixtures/no-geometry.json b/packages/featureserver/test/integration/fixtures/no-geometry.json deleted file mode 100644 index d657db341..000000000 --- a/packages/featureserver/test/integration/fixtures/no-geometry.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"Testing":"Testing","test":"test","OBJECTID":0},"geometry":null}]} \ No newline at end of file diff --git a/packages/featureserver/test/integration/fixtures/offset-applied.json b/packages/featureserver/test/integration/fixtures/offset-applied.json deleted file mode 100644 index bfce5975e..000000000 --- a/packages/featureserver/test/integration/fixtures/offset-applied.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "filtersApplied": { - "offset": true - }, - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "geometry": null, - "properties": { - } - } - ] -} \ No newline at end of file diff --git a/packages/featureserver/test/integration/fixtures/one-of-each.json b/packages/featureserver/test/integration/fixtures/one-of-each.json deleted file mode 100644 index 9e007bddb..000000000 --- a/packages/featureserver/test/integration/fixtures/one-of-each.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "properties": { - "double": 1.1, - "integer": 1, - "string": "foobar", - "date": "2012-03-15T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -88.00637099999999, - 43.01818599999999 - ] - } - } - ] -} diff --git a/packages/featureserver/test/integration/fixtures/polygon-metadata-error.json b/packages/featureserver/test/integration/fixtures/polygon-metadata-error.json deleted file mode 100644 index e8234f0ba..000000000 --- a/packages/featureserver/test/integration/fixtures/polygon-metadata-error.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [], - "count": 0, - "metadata": { - "name": "ArcGIS Search", - "description": "Search content in ArcGIS Online", - "displayField": "title", - "fields": [ - { - "name": "id", - "type": "esriFieldTypeString", - "alias": "id", - "length": null, - "editable": false, - "nullable": true, - "domain": null - } - ] - }, - "filtersApplied": { - "where": true - } -} \ No newline at end of file diff --git a/packages/featureserver/test/integration/fixtures/polygon.json b/packages/featureserver/test/integration/fixtures/polygon.json deleted file mode 100644 index c00781cc2..000000000 --- a/packages/featureserver/test/integration/fixtures/polygon.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "type": "FeatureCollection", - "metadata": { - "name": "map" - }, - "features": [ - { - "type": "Feature", - "properties": {}, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - -119.00390625, - 50.28933925329178 - ], - [ - -116.19140625, - 29.38217507514529 - ], - [ - -91.7578125, - 32.84267363195431 - ], - [ - -82.79296874999999, - 39.639537564366684 - ], - [ - -102.48046875, - 53.014783245859206 - ], - [ - -119.00390625, - 50.28933925329178 - ] - ] - ] - } - } - ] -} diff --git a/packages/featureserver/test/integration/fixtures/projection-applied.json b/packages/featureserver/test/integration/fixtures/projection-applied.json deleted file mode 100644 index c25ca9db5..000000000 --- a/packages/featureserver/test/integration/fixtures/projection-applied.json +++ /dev/null @@ -1,9186 +0,0 @@ -{ - "type": "FeatureCollection", - "metadata": { - "name": "Snow", - "description": "MyTestDesc" - }, - "filtersApplied": { - "projection": true - }, - "features": [ - { - "type": "Feature", - "id": "adtdmr052uaw", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9476, - 39.9448 - ] - }, - "properties": { - "station name": "Northglenn 4.6 NNE", - "latitude": 39.9448, - "daily precip": 0.31, - "total precip": 0.31, - "daily snow total": 4.9, - "longitude": -104.9476, - "station": "\ufffdCO-AD-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcvhg8l", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8424, - 39.9137 - ] - }, - "properties": { - "station name": "Thornton 7.5 ENE", - "latitude": 39.9137, - "daily precip": 0, - "total precip": 0, - "daily snow total": 3, - "longitude": -104.8424, - "station": "\ufffdCO-AD-75", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4es2lv", - "geometry": { - "type": "Point", - "coordinates": [ - -104.991153, - 39.898467 - ] - }, - "properties": { - "station name": "Northglenn 0.9 SW", - "latitude": 39.898467, - "daily precip": 0.61, - "total precip": 0.61, - "daily snow total": 5.5, - "longitude": -104.991153, - "station": "\ufffdCO-AD-98", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre0e54q", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9553999, - 39.92227505 - ] - }, - "properties": { - "station name": "Thornton 2.1 N", - "latitude": 39.92227505, - "daily precip": 0.49, - "total precip": 0.49, - "daily snow total": 4.1, - "longitude": -104.9553999, - "station": "\ufffdCO-AD-100", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmreebnu8", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9246, - 39.8786 - ] - }, - "properties": { - "station name": "Thornton 1.9 ESE", - "latitude": 39.8786, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 3, - "longitude": -104.9246, - "station": "\ufffdCO-AD-119", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3tllwa", - "geometry": { - "type": "Point", - "coordinates": [ - -104.868338, - 39.971369 - ] - }, - "properties": { - "station name": "Brighton 4.0 WNW", - "latitude": 39.971369, - "daily precip": 0.48, - "total precip": 0.48, - "daily snow total": 3, - "longitude": -104.868338, - "station": "\ufffdCO-AD-123", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmra1haa1", - "geometry": { - "type": "Point", - "coordinates": [ - -104.85429, - 39.75166 - ] - }, - "properties": { - "station name": "Aurora 4.2 NNW", - "latitude": 39.75166, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 6, - "longitude": -104.85429, - "station": "\ufffdCO-AD-127", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr04feur", - "geometry": { - "type": "Point", - "coordinates": [ - -104.497224, - 39.782008 - ] - }, - "properties": { - "station name": "Bennett 4.3 WNW", - "latitude": 39.782008, - "daily precip": 0.46, - "total precip": 0.46, - "daily snow total": 0, - "longitude": -104.497224, - "station": "\ufffdCO-AD-145", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdkep6y", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0275574, - 39.89636993 - ] - }, - "properties": { - "station name": "Westminster 1.6 NE", - "latitude": 39.89636993, - "daily precip": 0.35, - "total precip": 0.35, - "daily snow total": 3.5, - "longitude": -105.0275574, - "station": "\ufffdCO-AD-153", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr08v6lf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.026047, - 39.869518 - ] - }, - "properties": { - "station name": "Westminster 1.6 ESE", - "latitude": 39.869518, - "daily precip": 0.33, - "total precip": 0.33, - "daily snow total": 4, - "longitude": -105.026047, - "station": "\ufffdCO-AD-162", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8z5eb6", - "geometry": { - "type": "Point", - "coordinates": [ - -105.015569, - 39.884561 - ] - }, - "properties": { - "station name": "Federal Heights 1.3 N", - "latitude": 39.884561, - "daily precip": 0.53, - "total precip": 0.53, - "daily snow total": 4.1, - "longitude": -105.015569, - "station": "\ufffdCO-AD-166", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2x0g2k", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8207855, - 39.7559967 - ] - }, - "properties": { - "station name": "Aurora 4.0 N", - "latitude": 39.7559967, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 0, - "longitude": -104.8207855, - "station": "\ufffdCO-AD-169", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3wh085", - "geometry": { - "type": "Point", - "coordinates": [ - -104.861938, - 39.752254 - ] - }, - "properties": { - "station name": "Aurora 4.5 NW", - "latitude": 39.752254, - "daily precip": 0.62, - "total precip": 0.62, - "daily snow total": 5.5, - "longitude": -104.861938, - "station": "\ufffdCO-AD-170", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4kophb", - "geometry": { - "type": "Point", - "coordinates": [ - -105.57938, - 37.65175 - ] - }, - "properties": { - "station name": "Great Sand Dunes 7.0 SSW", - "latitude": 37.65175, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -105.57938, - "station": "\ufffdCO-AM-10", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmra352zf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.965509, - 37.5363 - ] - }, - "properties": { - "station name": "Alamosa 6.9 NW", - "latitude": 37.5363, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -105.965509, - "station": "\ufffdCO-AM-11", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqydr36n", - "geometry": { - "type": "Point", - "coordinates": [ - -105.884841, - 37.43967 - ] - }, - "properties": { - "station name": "Alamosa 2.1 SSW", - "latitude": 37.43967, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -105.884841, - "station": "\ufffdCO-AM-23", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrel7mwc", - "geometry": { - "type": "Point", - "coordinates": [ - -104.71, - 39.5689 - ] - }, - "properties": { - "station name": "Buckley AFB 10 SSE", - "latitude": 39.5689, - "daily precip": 0.67, - "total precip": 0.67, - "daily snow total": 6.2, - "longitude": -104.71, - "station": "\ufffdCO-AR-68", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0nbi04", - "geometry": { - "type": "Point", - "coordinates": [ - -104.822, - 39.6693 - ] - }, - "properties": { - "station name": "Aurora 4.1 S", - "latitude": 39.6693, - "daily precip": 0.48, - "total precip": 0.48, - "daily snow total": 5, - "longitude": -104.822, - "station": "\ufffdCO-AR-99", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0lyh2s", - "geometry": { - "type": "Point", - "coordinates": [ - -104.858277, - 39.678302 - ] - }, - "properties": { - "station name": "Aurora 2.8 WSW", - "latitude": 39.678302, - "daily precip": 0.21, - "total precip": 0.21, - "daily snow total": 4, - "longitude": -104.858277, - "station": "\ufffdCO-AR-186", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9vrrko", - "geometry": { - "type": "Point", - "coordinates": [ - -104.56, - 39.696 - ] - }, - "properties": { - "station name": "Watkins 4.3 SSE", - "latitude": 39.696, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 4.5, - "longitude": -104.56, - "station": "\ufffdCO-AR-199", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4j89tx", - "geometry": { - "type": "Point", - "coordinates": [ - -104.974644, - 39.575341 - ] - }, - "properties": { - "station name": "Centennial 2.0 SW", - "latitude": 39.575341, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 4, - "longitude": -104.974644, - "station": "\ufffdCO-AR-214", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7ggjwu", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9611282, - 39.63349152 - ] - }, - "properties": { - "station name": "Englewood 2.0 ESE", - "latitude": 39.63349152, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 0, - "longitude": -104.9611282, - "station": "\ufffdCO-AR-239", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4texv3", - "geometry": { - "type": "Point", - "coordinates": [ - -104.98218, - 39.60897 - ] - }, - "properties": { - "station name": "Littleton 2.0 ENE", - "latitude": 39.60897, - "daily precip": 0.39, - "total precip": 0.39, - "daily snow total": 4, - "longitude": -104.98218, - "station": "\ufffdCO-AR-240", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd4yogj", - "geometry": { - "type": "Point", - "coordinates": [ - -104.76416, - 39.61592 - ] - }, - "properties": { - "station name": "Centennial 5.7 ENE", - "latitude": 39.61592, - "daily precip": 0.29, - "total precip": 0.29, - "daily snow total": 4, - "longitude": -104.76416, - "station": "\ufffdCO-AR-255", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr48u3by", - "geometry": { - "type": "Point", - "coordinates": [ - -104.775765, - 39.649045 - ] - }, - "properties": { - "station name": "Aurora 4.0 SSE", - "latitude": 39.649045, - "daily precip": 0.36, - "total precip": 0.36, - "daily snow total": 4, - "longitude": -104.775765, - "station": "\ufffdCO-AR-259", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2wna9g", - "geometry": { - "type": "Point", - "coordinates": [ - -104.768497, - 39.64171 - ] - }, - "properties": { - "station name": "Aurora 4.6 SSE", - "latitude": 39.64171, - "daily precip": 0.31, - "total precip": 0.31, - "daily snow total": 3.4, - "longitude": -104.768497, - "station": "\ufffdCO-AR-260", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8cc52s", - "geometry": { - "type": "Point", - "coordinates": [ - -107.0938492, - 37.2804718 - ] - }, - "properties": { - "station name": "Pagosa Springs 4.2 W", - "latitude": 37.2804718, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.0938492, - "station": "\ufffdCO-AU-19", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc1by8d", - "geometry": { - "type": "Point", - "coordinates": [ - -102.6, - 37.401538 - ] - }, - "properties": { - "station name": "Springfield 0.5 SE", - "latitude": "37.401538", - "daily precip": "0", - "total precip": 0, - "daily snow total": "0", - "longitude": "-102.6-10936", - "station": "\ufffdCO-BA-12", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr3gy6zc", - "geometry": { - "type": "Point", - "coordinates": [ - -103, - 38.1409 - ] - }, - "properties": { - "station name": "Las Animas 8.1 NE", - "latitude": "38.1409", - "daily precip": "0.03", - "total precip": 0.03, - "daily snow total": "0", - "longitude": "-103.-1058", - "station": "\ufffdCO-BN-7", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr2wlfvk", - "geometry": { - "type": "Point", - "coordinates": [ - -103.2331, - 38.0685 - ] - }, - "properties": { - "station name": "Las Animas .57 WNW", - "latitude": 38.0685, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0, - "longitude": -103.2331, - "station": "\ufffdCO-BN-12", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr86wc41", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0845, - 39.935 - ] - }, - "properties": { - "station name": "Broomfield 1.2 NE", - "latitude": 39.935, - "daily precip": 0.64, - "total precip": 0.64, - "daily snow total": 5, - "longitude": -105.0845, - "station": "\ufffdCO-BO-2", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdmer94", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2573, - 39.9941 - ] - }, - "properties": { - "station name": "Boulder 2.9 S", - "latitude": 39.9941, - "daily precip": 1.07, - "total precip": 1.07, - "daily snow total": 10.2, - "longitude": -105.2573, - "station": "\ufffdCO-BO-4", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1c1zig", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 39.9925 - ] - }, - "properties": { - "station name": "Lafayette 0.4 WSW", - "latitude": "39.9925", - "daily precip": "0.58", - "total precip": 0.58, - "daily snow total": "6.7", - "longitude": "-105.-1057", - "station": "\ufffdCO-BO-8", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr3yvs65", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2883, - 40.0311 - ] - }, - "properties": { - "station name": "Boulder 1.4 NNW", - "latitude": 40.0311, - "daily precip": 1.08, - "total precip": 1.08, - "daily snow total": 0, - "longitude": -105.2883, - "station": "\ufffdCO-BO-9", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2iw0uc", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2647, - 39.9922 - ] - }, - "properties": { - "station name": "Boulder 1.6 S", - "latitude": 39.9922, - "daily precip": 1.08, - "total precip": 1.08, - "daily snow total": 10.2, - "longitude": -105.2647, - "station": "\ufffdCO-BO-14", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzfotrs", - "geometry": { - "type": "Point", - "coordinates": [ - -105.152, - 39.9742 - ] - }, - "properties": { - "station name": "Boulder 6.8 SE", - "latitude": 39.9742, - "daily precip": 0.66, - "total precip": 0.66, - "daily snow total": 7, - "longitude": -105.152, - "station": "\ufffdCO-BO-41", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr09b7cl", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2505, - 39.9707 - ] - }, - "properties": { - "station name": "Boulder 3.5 S", - "latitude": 39.9707, - "daily precip": 0.99, - "total precip": 0.99, - "daily snow total": 8.3, - "longitude": -105.2505, - "station": "\ufffdCO-BO-42", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0lzhmd", - "geometry": { - "type": "Point", - "coordinates": [ - -105.179377, - 39.999614 - ] - }, - "properties": { - "station name": "Boulder 4.7 E", - "latitude": 39.999614, - "daily precip": 0, - "total precip": 0, - "daily snow total": 7.9, - "longitude": -105.179377, - "station": "\ufffdCO-BO-67", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4lri0g", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1785, - 40.1998 - ] - }, - "properties": { - "station name": "Hygiene .79 N", - "latitude": 40.1998, - "daily precip": 0.36, - "total precip": 0.36, - "daily snow total": 5, - "longitude": -105.1785, - "station": "\ufffdCO-BO-99", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbhdgyr", - "geometry": { - "type": "Point", - "coordinates": [ - -105.4253, - 39.9771 - ] - }, - "properties": { - "station name": "Nederland 4.8 ENE", - "latitude": 39.9771, - "daily precip": 0.86, - "total precip": 0.86, - "daily snow total": 9.3, - "longitude": -105.4253, - "station": "\ufffdCO-BO-110", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1vqqqq", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3653, - 40.2805 - ] - }, - "properties": { - "station name": "Estes Park 10.5 SE", - "latitude": 40.2805, - "daily precip": 1, - "total precip": 1, - "daily snow total": 13.1, - "longitude": -105.3653, - "station": "\ufffdCO-BO-141", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre8amp6", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 40.2001 - ] - }, - "properties": { - "station name": "Longmont 2.1 N", - "latitude": "40.2001", - "daily precip": "0.47", - "total precip": 0.47, - "daily snow total": "5", - "longitude": "-105.-1087", - "station": "\ufffdCO-BO-143", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmrdz5o77", - "geometry": { - "type": "Point", - "coordinates": [ - -105.266667, - 40.226333 - ] - }, - "properties": { - "station name": "Lyons 0.3 NNE", - "latitude": 40.226333, - "daily precip": 0.93, - "total precip": 0.93, - "daily snow total": 7.5, - "longitude": -105.266667, - "station": "\ufffdCO-BO-146", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4nuuid", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0905, - 40.1945 - ] - }, - "properties": { - "station name": "Longmont 1.7 NNE", - "latitude": 40.1945, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 5.3, - "longitude": -105.0905, - "station": "\ufffdCO-BO-149", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0skmpc", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1179, - 40.1421 - ] - }, - "properties": { - "station name": "Longmont 2.0 SSW", - "latitude": 40.1421, - "daily precip": 0, - "total precip": 0, - "daily snow total": 5.5, - "longitude": -105.1179, - "station": "\ufffdCO-BO-150", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzovto5", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2858, - 40.0613 - ] - }, - "properties": { - "station name": "Boulder 3.0 NNW", - "latitude": 40.0613, - "daily precip": 0.94, - "total precip": 0.94, - "daily snow total": 9.1, - "longitude": -105.2858, - "station": "\ufffdCO-BO-164", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6h6xuw", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2307, - 40.0124 - ] - }, - "properties": { - "station name": "Boulder 1.8 ESE", - "latitude": 40.0124, - "daily precip": 0.9, - "total precip": 0.9, - "daily snow total": 9.2, - "longitude": -105.2307, - "station": "\ufffdCO-BO-165", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzi97hm", - "geometry": { - "type": "Point", - "coordinates": [ - -105.134971, - 40.0168 - ] - }, - "properties": { - "station name": "Lafayette 2.5 NW", - "latitude": 40.0168, - "daily precip": 0.62, - "total precip": 0.62, - "daily snow total": 6.8, - "longitude": -105.134971, - "station": "\ufffdCO-BO-222", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1ga2v1", - "geometry": { - "type": "Point", - "coordinates": [ - -105.198728, - 40 - ] - }, - "properties": { - "station name": "Niwot 2.3 W", - "latitude": "40.-102041", - "daily precip": "0.76", - "total precip": 0.76, - "daily snow total": "5.3", - "longitude": "-105.198728", - "station": "\ufffdCO-BO-248", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr8ojebs", - "geometry": { - "type": "Point", - "coordinates": [ - -105.076626, - 40.19942 - ] - }, - "properties": { - "station name": "Longmont 2.6 NE", - "latitude": 40.19942, - "daily precip": 0.36, - "total precip": 0.36, - "daily snow total": 4.7, - "longitude": -105.076626, - "station": "\ufffdCO-BO-252", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8cazdi", - "geometry": { - "type": "Point", - "coordinates": [ - -105.11, - 39.989316 - ] - }, - "properties": { - "station name": "Lafayette 0.8 WSW", - "latitude": "39.989316", - "daily precip": "0.61", - "total precip": 0.61, - "daily snow total": "5.9", - "longitude": "-105.11-106", - "station": "\ufffdCO-BO-266", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr5igjcn", - "geometry": { - "type": "Point", - "coordinates": [ - -105.079923, - 40.03737 - ] - }, - "properties": { - "station name": "Erie 1.9 WNW", - "latitude": 40.03737, - "daily precip": 0.56, - "total precip": 0.56, - "daily snow total": 6, - "longitude": -105.079923, - "station": "\ufffdCO-BO-271", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzw7923", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0729374, - 40.0414439 - ] - }, - "properties": { - "station name": "Erie 1.7 WNW", - "latitude": 40.0414439, - "daily precip": 0.6, - "total precip": 0.6, - "daily snow total": 5, - "longitude": -105.0729374, - "station": "\ufffdCO-BO-285", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzc9al8", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2463, - 40.032633 - ] - }, - "properties": { - "station name": "Boulder 0.5 NNE", - "latitude": 40.032633, - "daily precip": 0.92, - "total precip": 0.92, - "daily snow total": 9.1, - "longitude": -105.2463, - "station": "\ufffdCO-BO-288", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7a5ee0", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1287757, - 40.0176745 - ] - }, - "properties": { - "station name": "Lafayette 2.3 NW", - "latitude": 40.0176745, - "daily precip": 0.68, - "total precip": 0.68, - "daily snow total": 5.7, - "longitude": -105.1287757, - "station": "\ufffdCO-BO-290", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyp75iw", - "geometry": { - "type": "Point", - "coordinates": [ - -105.155356, - 40.136884 - ] - }, - "properties": { - "station name": "Longmont 3.4 SW", - "latitude": 40.136884, - "daily precip": 0.68, - "total precip": 0.68, - "daily snow total": 5.8, - "longitude": -105.155356, - "station": "\ufffdCO-BO-305", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4u2s05", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2549515, - 40.0022316 - ] - }, - "properties": { - "station name": "Boulder 1.7 S", - "latitude": 40.0022316, - "daily precip": 0.95, - "total precip": 0.95, - "daily snow total": 8.5, - "longitude": -105.2549515, - "station": "\ufffdCO-BO-321", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbrlrk5", - "geometry": { - "type": "Point", - "coordinates": [ - -105.51248, - 39.96605 - ] - }, - "properties": { - "station name": "Nederland 0.4 WNW", - "latitude": 39.96605, - "daily precip": 0.61, - "total precip": 0.61, - "daily snow total": 10.2, - "longitude": -105.51248, - "station": "\ufffdCO-BO-322", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz0ccd3", - "geometry": { - "type": "Point", - "coordinates": [ - -105.121479, - 40.1462275 - ] - }, - "properties": { - "station name": "Longmont 1.9 SSW", - "latitude": 40.1462275, - "daily precip": 0.47, - "total precip": 0.47, - "daily snow total": 5.6, - "longitude": -105.121479, - "station": "\ufffdCO-BO-327", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd7zw6j", - "geometry": { - "type": "Point", - "coordinates": [ - -105.170205, - 39.98959 - ] - }, - "properties": { - "station name": "Boulder 5.0 ESE", - "latitude": 39.98959, - "daily precip": 0.58, - "total precip": 0.58, - "daily snow total": 6, - "longitude": -105.170205, - "station": "\ufffdCO-BO-329", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3pme9e", - "geometry": { - "type": "Point", - "coordinates": [ - -105.165157, - 40.138003 - ] - }, - "properties": { - "station name": "Longmont 3.7 SW", - "latitude": 40.138003, - "daily precip": 0.52, - "total precip": 0.52, - "daily snow total": 5, - "longitude": -105.165157, - "station": "\ufffdCO-BO-339", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2lz36f", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3689333, - 40.08386667 - ] - }, - "properties": { - "station name": "Jamestown 2.5 SSE", - "latitude": 40.08386667, - "daily precip": 1, - "total precip": 1, - "daily snow total": 12, - "longitude": -105.3689333, - "station": "\ufffdCO-BO-343", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2o4cf1", - "geometry": { - "type": "Point", - "coordinates": [ - -105.032886, - 39.951348 - ] - }, - "properties": { - "station name": "Broomfield 1.6 ENE", - "latitude": 39.951348, - "daily precip": 0.55, - "total precip": 0.55, - "daily snow total": 4.5, - "longitude": -105.032886, - "station": "\ufffdCO-BR-23", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0jr9be", - "geometry": { - "type": "Point", - "coordinates": [ - -105.07429, - 39.927074 - ] - }, - "properties": { - "station name": "Broomfield 1.3 SSW", - "latitude": 39.927074, - "daily precip": 0.6, - "total precip": 0.6, - "daily snow total": 5.4, - "longitude": -105.07429, - "station": "\ufffdCO-BR-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0yth6v", - "geometry": { - "type": "Point", - "coordinates": [ - -105.091588, - 39.93382 - ] - }, - "properties": { - "station name": "Broomfield 1.7 WSW", - "latitude": 39.93382, - "daily precip": 0.85, - "total precip": 0.85, - "daily snow total": 7, - "longitude": -105.091588, - "station": "\ufffdCO-BR-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3hsrq3", - "geometry": { - "type": "Point", - "coordinates": [ - -106.1923972, - 38.5432444 - ] - }, - "properties": { - "station name": "Maysville 2.2 NE", - "latitude": 38.5432444, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 3.4, - "longitude": -106.1923972, - "station": "\ufffdCO-CF-20", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrecopsl", - "geometry": { - "type": "Point", - "coordinates": [ - -106.2085, - 38.8579 - ] - }, - "properties": { - "station name": "Buena Vista 4.0 WNW", - "latitude": 38.8579, - "daily precip": 0.35, - "total precip": 0.35, - "daily snow total": 5.3, - "longitude": -106.2085, - "station": "\ufffdCO-CF-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8stbc4", - "geometry": { - "type": "Point", - "coordinates": [ - -105.4128, - 39.6391 - ] - }, - "properties": { - "station name": "Evergreen 5 W", - "latitude": 39.6391, - "daily precip": 0.39, - "total precip": 0.39, - "daily snow total": 5.3, - "longitude": -105.4128, - "station": "\ufffdCO-CC-2", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc2x6yd", - "geometry": { - "type": "Point", - "coordinates": [ - -105.573, - 39.794809 - ] - }, - "properties": { - "station name": "Idaho Springs 4.9 NW", - "latitude": 39.794809, - "daily precip": 0.54, - "total precip": 0.54, - "daily snow total": 4.8, - "longitude": -105.573, - "station": "\ufffdCO-CC-19", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6am7dj", - "geometry": { - "type": "Point", - "coordinates": [ - -105.40448, - 39.64744949 - ] - }, - "properties": { - "station name": "Evergreen 3.4 WNW", - "latitude": 39.64744949, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 5.6, - "longitude": -105.40448, - "station": "\ufffdCO-CC-22", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmren79qa", - "geometry": { - "type": "Point", - "coordinates": [ - -105.496345, - 37.084968 - ] - }, - "properties": { - "station name": "San Luis 8.8 SW", - "latitude": 37.084968, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -105.496345, - "station": "\ufffdCO-CS-12", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr56qpbv", - "geometry": { - "type": "Point", - "coordinates": [ - -105.5115, - 38.1009 - ] - }, - "properties": { - "station name": "Westcliffe 3.4 SW", - "latitude": 38.1009, - "daily precip": 0.03, - "total precip": 0.03, - "daily snow total": 0.4, - "longitude": -105.5115, - "station": "\ufffdCO-CU-17", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1ac7cx", - "geometry": { - "type": "Point", - "coordinates": [ - -108.0743, - 38.6853 - ] - }, - "properties": { - "station name": "Delta 3.9 S", - "latitude": 38.6853, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.0743, - "station": "\ufffdCO-DL-11", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3a7jjh", - "geometry": { - "type": "Point", - "coordinates": [ - -107.80311, - 38.81276 - ] - }, - "properties": { - "station name": "Hotchkiss 4.7 W", - "latitude": 38.81276, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.80311, - "station": "\ufffdCO-DL-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmregcijp", - "geometry": { - "type": "Point", - "coordinates": [ - -107.966959, - 38.831869 - ] - }, - "properties": { - "station name": "Eckert 1.1 SW", - "latitude": 38.831869, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.966959, - "station": "\ufffdCO-DL-23", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2wsch3", - "geometry": { - "type": "Point", - "coordinates": [ - -107.574818, - 38.842058 - ] - }, - "properties": { - "station name": "Paonia 2.1 SSE", - "latitude": 38.842058, - "daily precip": 0.12, - "total precip": 0.12, - "daily snow total": 0, - "longitude": -107.574818, - "station": "\ufffdCO-DL-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd0qm67", - "geometry": { - "type": "Point", - "coordinates": [ - -107.82831, - 38.85778 - ] - }, - "properties": { - "station name": "Hotchkiss 7.1 WNW", - "latitude": 38.85778, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.82831, - "station": "\ufffdCO-DL-26", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr98wj8a", - "geometry": { - "type": "Point", - "coordinates": [ - -107.9713889, - 38.75722222 - ] - }, - "properties": { - "station name": "Delta 5.6 E", - "latitude": 38.75722222, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.9713889, - "station": "\ufffdCO-DL-28", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0l0hg7", - "geometry": { - "type": "Point", - "coordinates": [ - -107.601283, - 38.885637 - ] - }, - "properties": { - "station name": "Paonia 1.3 NNW", - "latitude": 38.885637, - "daily precip": 0.02, - "total precip": 0.02, - "daily snow total": 0, - "longitude": -107.601283, - "station": "\ufffdCO-DL-30", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr31bs2j", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9657, - 39.6656 - ] - }, - "properties": { - "station name": "Denver 5.2 S", - "latitude": 39.6656, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 4, - "longitude": -104.9657, - "station": "\ufffdCO-DN-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1f9hqj", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9489, - 39.7264 - ] - }, - "properties": { - "station name": "Denver 2.1 ESE", - "latitude": 39.7264, - "daily precip": 0.49, - "total precip": 0.49, - "daily snow total": 4, - "longitude": -104.9489, - "station": "\ufffdCO-DN-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0ywo26", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9151, - 39.6863 - ] - }, - "properties": { - "station name": "Denver 5.4 SSE", - "latitude": 39.6863, - "daily precip": 0.34, - "total precip": 0.34, - "daily snow total": 3.3, - "longitude": -104.9151, - "station": "\ufffdCO-DN-82", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6mqg2n", - "geometry": { - "type": "Point", - "coordinates": [ - -104.943975, - 39.667897 - ] - }, - "properties": { - "station name": "Cherry Hills Village 2.1 N", - "latitude": 39.667897, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 3.5, - "longitude": -104.943975, - "station": "\ufffdCO-DN--109", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz0v8v2", - "geometry": { - "type": "Point", - "coordinates": [ - -104.951195, - 39.699867 - ] - }, - "properties": { - "station name": "Denver 2.0 SSE", - "latitude": 39.699867, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 5, - "longitude": -104.951195, - "station": "\ufffdCO-DN-116", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmra24nzw", - "geometry": { - "type": "Point", - "coordinates": [ - -104.876, - 39.6596 - ] - }, - "properties": { - "station name": "Cherry Creek Reservoir 1.9 N", - "latitude": 39.6596, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 3.5, - "longitude": -104.876, - "station": "\ufffdCO-DN-120", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd4irgd", - "geometry": { - "type": "Point", - "coordinates": [ - -104.923484, - 39.68704 - ] - }, - "properties": { - "station name": "Denver 3.5 SE", - "latitude": 39.68704, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -104.923484, - "station": "\ufffdCO-DN-122", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzkwze8", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0361269, - 39.676156 - ] - }, - "properties": { - "station name": "Denver 5.3 SW", - "latitude": 39.676156, - "daily precip": 0.49, - "total precip": 0.49, - "daily snow total": 4, - "longitude": -105.0361269, - "station": "\ufffdCO-DN-141", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1216uv", - "geometry": { - "type": "Point", - "coordinates": [ - -104.985527, - 39.71216965 - ] - }, - "properties": { - "station name": "Denver 1.7 SW", - "latitude": 39.71216965, - "daily precip": 0.78, - "total precip": 0.78, - "daily snow total": 0, - "longitude": -104.985527, - "station": "\ufffdCO-DN-168", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr018b2r", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0287552, - 39.74980164 - ] - }, - "properties": { - "station name": "Denver 3.9 WNW", - "latitude": 39.74980164, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 5, - "longitude": -105.0287552, - "station": "\ufffdCO-DN-180", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr47g1z0", - "geometry": { - "type": "Point", - "coordinates": [ - -104.89112, - 39.46166 - ] - }, - "properties": { - "station name": "Castle Pines 2.2 NNE", - "latitude": 39.46166, - "daily precip": 0.41, - "total precip": 0.41, - "daily snow total": 3.5, - "longitude": -104.89112, - "station": "\ufffdCO-DG-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbexlnb", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7043, - 39.4254 - ] - }, - "properties": { - "station name": "Franktown 3.5 NE", - "latitude": 39.4254, - "daily precip": 0.43, - "total precip": 0.43, - "daily snow total": 3.3, - "longitude": -104.7043, - "station": "\ufffdCO-DG-30", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3cck01", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8954, - 39.5531 - ] - }, - "properties": { - "station name": "Littleton 7.7 ESE", - "latitude": 39.5531, - "daily precip": 0.73, - "total precip": 0.73, - "daily snow total": 3.9, - "longitude": -104.8954, - "station": "\ufffdCO-DG-32", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrajs50f", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8649, - 39.3475 - ] - }, - "properties": { - "station name": "Castle Rock 1.7 SSW", - "latitude": 39.3475, - "daily precip": 0.29, - "total precip": 0.29, - "daily snow total": 3.1, - "longitude": -104.8649, - "station": "\ufffdCO-DG-62", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzdd6ji", - "geometry": { - "type": "Point", - "coordinates": [ - -104.904, - 39.4711 - ] - }, - "properties": { - "station name": "Castle Rock 7.3 NNW", - "latitude": 39.4711, - "daily precip": 0.38, - "total precip": 0.38, - "daily snow total": 3.7, - "longitude": -104.904, - "station": "\ufffdCO-DG-80", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr08dnqn", - "geometry": { - "type": "Point", - "coordinates": [ - -104.899722, - 39.2 - ] - }, - "properties": { - "station name": "Larkspur 1.4 SW", - "latitude": "39.2-10833", - "daily precip": "0.26", - "total precip": 0.26, - "daily snow total": "2.7", - "longitude": "-104.899722", - "station": "\ufffdCO-DG-98", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr8cacju", - "geometry": { - "type": "Point", - "coordinates": [ - -104.949167, - 39.518611 - ] - }, - "properties": { - "station name": "Highlands Ranch 2.7 SSE", - "latitude": 39.518611, - "daily precip": 0.49, - "total precip": 0.49, - "daily snow total": 3.6, - "longitude": -104.949167, - "station": "\ufffdCO-DG-121", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4yaccx", - "geometry": { - "type": "Point", - "coordinates": [ - -104.732094, - 39.438561 - ] - }, - "properties": { - "station name": "Parker 5.2 SSE", - "latitude": 39.438561, - "daily precip": 0.43, - "total precip": 0.43, - "daily snow total": 4.2, - "longitude": -104.732094, - "station": "\ufffdCO-DG-132", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmra2k9bd", - "geometry": { - "type": "Point", - "coordinates": [ - -104.973922, - 39.546944 - ] - }, - "properties": { - "station name": "Highlands Ranch 0.6 SSW", - "latitude": 39.546944, - "daily precip": 0.39, - "total precip": 0.39, - "daily snow total": 4.2, - "longitude": -104.973922, - "station": "\ufffdCO-DG-140", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrb7tmjq", - "geometry": { - "type": "Point", - "coordinates": [ - -104.903761, - 39.391119 - ] - }, - "properties": { - "station name": "Castle Rock 2.9 WNW", - "latitude": 39.391119, - "daily precip": 0.24, - "total precip": 0.24, - "daily snow total": 2.8, - "longitude": -104.903761, - "station": "\ufffdCO-DG-145", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcu7om9", - "geometry": { - "type": "Point", - "coordinates": [ - -104.801271, - 39.519358 - ] - }, - "properties": { - "station name": "Parker 2.1 WNW", - "latitude": 39.519358, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 3.9, - "longitude": -104.801271, - "station": "\ufffdCO-DG-146", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc0v9kn", - "geometry": { - "type": "Point", - "coordinates": [ - -104.703752, - 39.450642 - ] - }, - "properties": { - "station name": "Parker 5.2 SE", - "latitude": 39.450642, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 0, - "longitude": -104.703752, - "station": "\ufffdCO-DG-149", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbqvqt8", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8919085, - 39.4615132 - ] - }, - "properties": { - "station name": "Castle Rock 6.5 NNW", - "latitude": 39.4615132, - "daily precip": 0.39, - "total precip": 0.39, - "daily snow total": 3.8, - "longitude": -104.8919085, - "station": "\ufffdCO-DG-157", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3vamjz", - "geometry": { - "type": "Point", - "coordinates": [ - -104.798791, - 39.498424 - ] - }, - "properties": { - "station name": "Parker 2.0 WSW", - "latitude": 39.498424, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 4.1, - "longitude": -104.798791, - "station": "\ufffdCO-DG-158", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmreph0od", - "geometry": { - "type": "Point", - "coordinates": [ - -105.071, - 39.470942 - ] - }, - "properties": { - "station name": "Roxborough Park 2.0 N", - "latitude": 39.470942, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 4.8, - "longitude": -105.071, - "station": "\ufffdCO-DG-159", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbrauhn", - "geometry": { - "type": "Point", - "coordinates": [ - -104.71272, - 39.38725 - ] - }, - "properties": { - "station name": "Franktown 2.1 ENE", - "latitude": 39.38725, - "daily precip": 0.33, - "total precip": 0.33, - "daily snow total": 2.5, - "longitude": -104.71272, - "station": "\ufffdCO-DG-162", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr392jd3", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9611189, - 39.3315205 - ] - }, - "properties": { - "station name": "Sedalia 6.8 S", - "latitude": 39.3315205, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 3.8, - "longitude": -104.9611189, - "station": "\ufffdCO-DG-167", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbjahdf", - "geometry": { - "type": "Point", - "coordinates": [ - -104.872274, - 39.444064 - ] - }, - "properties": { - "station name": "Castle Rock 4.6 NNW", - "latitude": 39.444064, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 3.4, - "longitude": -104.872274, - "station": "\ufffdCO-DG-171", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre24ql3", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9654617, - 39.5461998 - ] - }, - "properties": { - "station name": "Highlands Ranch 0.6 SSE", - "latitude": 39.5461998, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 3.8, - "longitude": -104.9654617, - "station": "\ufffdCO-DG-176", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmratgfx3", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9917674, - 39.52188611 - ] - }, - "properties": { - "station name": "Highlands Ranch 2.5 SSW", - "latitude": 39.52188611, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 3, - "longitude": -104.9917674, - "station": "\ufffdCO-DG-178", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8d41vd", - "geometry": { - "type": "Point", - "coordinates": [ - -104.944614, - 39.520017 - ] - }, - "properties": { - "station name": "Highlands Ranch 2.7 SSE", - "latitude": 39.520017, - "daily precip": 0.43, - "total precip": 0.43, - "daily snow total": 5, - "longitude": -104.944614, - "station": "\ufffdCO-DG-183", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3vxb7h", - "geometry": { - "type": "Point", - "coordinates": [ - -104.947, - 39.285 - ] - }, - "properties": { - "station name": "Sedalia 10.5 S", - "latitude": 39.285, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 2, - "longitude": -104.947, - "station": "\ufffdCO-DG-185", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5v4twl", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8796005, - 39.49710083 - ] - }, - "properties": { - "station name": "Castle Rock 8.7 N", - "latitude": 39.49710083, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 0, - "longitude": -104.8796005, - "station": "\ufffdCO-DG-192", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3ln38c", - "geometry": { - "type": "Point", - "coordinates": [ - -106.911, - 39.6 - ] - }, - "properties": { - "station name": "Gypsum 3.0 SE", - "latitude": "39.6-102", - "daily precip": "0", - "total precip": 0, - "daily snow total": "2.9", - "longitude": "-106.911", - "station": "\ufffdCO-EG-1", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr0ijxyj", - "geometry": { - "type": "Point", - "coordinates": [ - -106.9249, - 39.3793 - ] - }, - "properties": { - "station name": "Basalt 5.8 E", - "latitude": 39.3793, - "daily precip": 0.11, - "total precip": 0.11, - "daily snow total": 1.8, - "longitude": -106.9249, - "station": "\ufffdCO-EG-6", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr38v202", - "geometry": { - "type": "Point", - "coordinates": [ - -106.6806, - 39.7332 - ] - }, - "properties": { - "station name": "Wolcott 2.3 N", - "latitude": 39.7332, - "daily precip": 0.27, - "total precip": 0.27, - "daily snow total": 5, - "longitude": -106.6806, - "station": "\ufffdCO-EG-8", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8ls55t", - "geometry": { - "type": "Point", - "coordinates": [ - -106.395292, - 39.645013 - ] - }, - "properties": { - "station name": "Vail 0.9 WNW", - "latitude": 39.645013, - "daily precip": 0.41, - "total precip": 0.41, - "daily snow total": 5.4, - "longitude": -106.395292, - "station": "\ufffdCO-EG-21", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmretbnyi", - "geometry": { - "type": "Point", - "coordinates": [ - -106.819647, - 39.641486 - ] - }, - "properties": { - "station name": "Eagle 1.0 SSE", - "latitude": 39.641486, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 2, - "longitude": -106.819647, - "station": "\ufffdCO-EG-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcch4ju", - "geometry": { - "type": "Point", - "coordinates": [ - -106.956277, - 39.616582 - ] - }, - "properties": { - "station name": "Gypsum 1.9 SSW", - "latitude": 39.616582, - "daily precip": 0.12, - "total precip": 0.12, - "daily snow total": 1.5, - "longitude": -106.956277, - "station": "\ufffdCO-EG-29", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr83uc63", - "geometry": { - "type": "Point", - "coordinates": [ - -106.9385, - 39.6441 - ] - }, - "properties": { - "station name": "Gypsum 0.5 E", - "latitude": 39.6441, - "daily precip": 0.09, - "total precip": 0.09, - "daily snow total": 1.8, - "longitude": -106.9385, - "station": "\ufffdCO-EG-30", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmreiaatf", - "geometry": { - "type": "Point", - "coordinates": [ - -106.95323, - 39.62213 - ] - }, - "properties": { - "station name": "Gypsum 1.5 SSW", - "latitude": 39.62213, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 1.1, - "longitude": -106.95323, - "station": "\ufffdCO-EG-32", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbjka2s", - "geometry": { - "type": "Point", - "coordinates": [ - -103.8056, - 39.2858 - ] - }, - "properties": { - "station name": "Limon 6.3 WNW", - "latitude": 39.2858, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 4, - "longitude": -103.8056, - "station": "\ufffdCO-EL-12", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrejzl9p", - "geometry": { - "type": "Point", - "coordinates": [ - -104.564557, - 39.48366 - ] - }, - "properties": { - "station name": "Elizabeth 8.7 NNE", - "latitude": 39.48366, - "daily precip": 0.38, - "total precip": 0.38, - "daily snow total": 4.9, - "longitude": -104.564557, - "station": "\ufffdCO-EL-63", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3d1qzf", - "geometry": { - "type": "Point", - "coordinates": [ - -104.5229, - 39.5247 - ] - }, - "properties": { - "station name": null, - "latitude": 39.5247, - "daily precip": 0.29, - "total precip": 0.29, - "daily snow total": 3, - "longitude": -104.5229, - "station": "\ufffdCO-EL-71", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcv532h", - "geometry": { - "type": "Point", - "coordinates": [ - -104.2931, - 39.0804 - ] - }, - "properties": { - "station name": "Calhan 3.1 N", - "latitude": 39.0804, - "daily precip": 0.17, - "total precip": 0.17, - "daily snow total": 3, - "longitude": -104.2931, - "station": "\ufffdCO-EP-7", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzso716", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7629, - 39.0988 - ] - }, - "properties": { - "station name": "Colorado Springs 18.7 N", - "latitude": 39.0988, - "daily precip": 0.16, - "total precip": 0.16, - "daily snow total": 2.9, - "longitude": -104.7629, - "station": "\ufffdCO-EP-12", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyhuqyo", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8343, - 39.0985 - ] - }, - "properties": { - "station name": "Monument 2.1 ENE", - "latitude": 39.0985, - "daily precip": 0.15, - "total precip": 0.15, - "daily snow total": 2.3, - "longitude": -104.8343, - "station": "\ufffdCO-EP-17", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz541vn", - "geometry": { - "type": "Point", - "coordinates": [ - -104.849076, - 38.905232 - ] - }, - "properties": { - "station name": "Colorado Springs 5.7 WNW", - "latitude": 38.905232, - "daily precip": 0.01, - "total precip": 0.01, - "daily snow total": 1.2, - "longitude": -104.849076, - "station": "\ufffdCO-EP-37", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr12pbkp", - "geometry": { - "type": "Point", - "coordinates": [ - -104.838611, - 38.798889 - ] - }, - "properties": { - "station name": "Ivywild 0.6 E", - "latitude": 38.798889, - "daily precip": 0.09, - "total precip": 0.09, - "daily snow total": 1.8, - "longitude": -104.838611, - "station": "\ufffdCO-EP-58", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6w0v9y", - "geometry": { - "type": "Point", - "coordinates": [ - -104.797, - 38.83 - ] - }, - "properties": { - "station name": "Colorado Springs 1.3 ESE", - "latitude": 38.83, - "daily precip": 0.09, - "total precip": 0.09, - "daily snow total": 1.2, - "longitude": -104.797, - "station": "\ufffdCO-EP-60", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8c8ncs", - "geometry": { - "type": "Point", - "coordinates": [ - -104.830221, - 39.047 - ] - }, - "properties": { - "station name": "Gleneagle 0.4 WNW", - "latitude": "39.047-109", - "daily precip": "0.08", - "total precip": 0.08, - "daily snow total": "1.5", - "longitude": "-104.830221", - "station": "\ufffdCO-EP-61", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmrd3ptao", - "geometry": { - "type": "Point", - "coordinates": [ - -104.65084, - 39.094001 - ] - }, - "properties": { - "station name": "Black Forest 3.4 NNE", - "latitude": 39.094001, - "daily precip": 0.18, - "total precip": 0.18, - "daily snow total": 0, - "longitude": -104.65084, - "station": "\ufffdCO-EP-62", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9q16ob", - "geometry": { - "type": "Point", - "coordinates": [ - -104.441547, - 38.630996 - ] - }, - "properties": { - "station name": "Widefield 13.7 ESE", - "latitude": 38.630996, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -104.441547, - "station": "\ufffdCO-EP-65", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzb200t", - "geometry": { - "type": "Point", - "coordinates": [ - -104.64455, - 39.099933 - ] - }, - "properties": { - "station name": "Black Forest 3.9 NNE", - "latitude": 39.099933, - "daily precip": 0.16, - "total precip": 0.16, - "daily snow total": 2.5, - "longitude": -104.64455, - "station": "\ufffdCO-EP-66", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbwbawb", - "geometry": { - "type": "Point", - "coordinates": [ - -104.74184, - 38.91632 - ] - }, - "properties": { - "station name": "Colorado Sprngs 6.1 NE", - "latitude": 38.91632, - "daily precip": 0.12, - "total precip": 0.12, - "daily snow total": 1.3, - "longitude": -104.74184, - "station": "\ufffdCO-EP-165", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7y7bkh", - "geometry": { - "type": "Point", - "coordinates": [ - -104.707577, - 39.020266 - ] - }, - "properties": { - "station name": "Black Forest 2.8 SW", - "latitude": 39.020266, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 1.4, - "longitude": -104.707577, - "station": "\ufffdCO-EP-166", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr17thye", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8911, - 38.848 - ] - }, - "properties": { - "station name": "Manitou Springs 1.2 ESE", - "latitude": 38.848, - "daily precip": 0.08, - "total precip": 0.08, - "daily snow total": 2, - "longitude": -104.8911, - "station": "\ufffdCO-EP-175", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5x6ehh", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8387, - 39.0537 - ] - }, - "properties": { - "station name": "Colorado Springs 14.9 N", - "latitude": 39.0537, - "daily precip": 0.13, - "total precip": 0.13, - "daily snow total": 1.6, - "longitude": -104.8387, - "station": "\ufffdCO-EP-183", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr08bvks", - "geometry": { - "type": "Point", - "coordinates": [ - -104.637523, - 39.008098 - ] - }, - "properties": { - "station name": "Black Forest 3.1 SSE", - "latitude": 39.008098, - "daily precip": 0.12, - "total precip": 0.12, - "daily snow total": 0, - "longitude": -104.637523, - "station": "\ufffdCO-EP-187", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1efyyw", - "geometry": { - "type": "Point", - "coordinates": [ - -104.761167, - 38.8611 - ] - }, - "properties": { - "station name": "Colorado Springs 3.7 ENE", - "latitude": 38.8611, - "daily precip": 0.06, - "total precip": 0.06, - "daily snow total": 1.3, - "longitude": -104.761167, - "station": "\ufffdCO-EP-188", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr61ldfh", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8469756, - 38.93529065 - ] - }, - "properties": { - "station name": "Colorado Springs 7.1 NNW", - "latitude": 38.93529065, - "daily precip": 0.09, - "total precip": 0.09, - "daily snow total": 1, - "longitude": -104.8469756, - "station": "\ufffdCO-EP-207", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3iq193", - "geometry": { - "type": "Point", - "coordinates": [ - -104.811452, - 38.790916 - ] - }, - "properties": { - "station name": "Colorado Springs 3.0 S", - "latitude": 38.790916, - "daily precip": 0.08, - "total precip": 0.08, - "daily snow total": 2, - "longitude": -104.811452, - "station": "\ufffdCO-EP-210", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd62drv", - "geometry": { - "type": "Point", - "coordinates": [ - -104.866415, - 38.817284 - ] - }, - "properties": { - "station name": "Colorado Springs 2.7 WSW", - "latitude": 38.817284, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 2.5, - "longitude": -104.866415, - "station": "\ufffdCO-EP-215", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6vs9gs", - "geometry": { - "type": "Point", - "coordinates": [ - -104.785223, - 38.865637 - ] - }, - "properties": { - "station name": "Colorado Springs 2.9 NE", - "latitude": 38.865637, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -104.785223, - "station": "\ufffdCO-EP-231", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3rs0og", - "geometry": { - "type": "Point", - "coordinates": [ - -104.781608, - 38.943846 - ] - }, - "properties": { - "station name": "Colorado Springs 7.0 NNE", - "latitude": 38.943846, - "daily precip": 0.11, - "total precip": 0.11, - "daily snow total": 1, - "longitude": -104.781608, - "station": "\ufffdCO-EP-234", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzr7jq9", - "geometry": { - "type": "Point", - "coordinates": [ - -104.751564, - 39.11838 - ] - }, - "properties": { - "station name": "Monument 6.6 ENE", - "latitude": 39.11838, - "daily precip": 0.21, - "total precip": 0.21, - "daily snow total": 2.7, - "longitude": -104.751564, - "station": "\ufffdCO-EP-235", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1qschx", - "geometry": { - "type": "Point", - "coordinates": [ - -104.605968, - 38.96213 - ] - }, - "properties": { - "station name": "Falcon 2.3 NNE", - "latitude": 38.96213, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 1, - "longitude": -104.605968, - "station": "\ufffdCO-EP-237", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5fokte", - "geometry": { - "type": "Point", - "coordinates": [ - -104.824082, - 39.04 - ] - }, - "properties": { - "station name": "Gleneagle 0.3 S", - "latitude": "39.04-1034", - "daily precip": "0.07", - "total precip": 0.07, - "daily snow total": "1.7", - "longitude": "-104.824082", - "station": "\ufffdCO-EP-247", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr5a136p", - "geometry": { - "type": "Point", - "coordinates": [ - -104.600537, - 38.954037 - ] - }, - "properties": { - "station name": "Peyton 8.3 SW", - "latitude": 38.954037, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 1.5, - "longitude": -104.600537, - "station": "\ufffdCO-EP-256", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0d1gwh", - "geometry": { - "type": "Point", - "coordinates": [ - -104.829255, - 38.783546 - ] - }, - "properties": { - "station name": "Colorado Springs 3.5 S", - "latitude": 38.783546, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 2, - "longitude": -104.829255, - "station": "\ufffdCO-EP-264", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1mayox", - "geometry": { - "type": "Point", - "coordinates": [ - -104.81161, - 39.11283 - ] - }, - "properties": { - "station name": "Monument 3.8 NE", - "latitude": 39.11283, - "daily precip": 0.19, - "total precip": 0.19, - "daily snow total": 2.4, - "longitude": -104.81161, - "station": "\ufffdCO-EP-265", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8ep683", - "geometry": { - "type": "Point", - "coordinates": [ - -104.744889, - 39.013917 - ] - }, - "properties": { - "station name": "Black Forest 4.7 WSW", - "latitude": 39.013917, - "daily precip": 0.11, - "total precip": 0.11, - "daily snow total": 0, - "longitude": -104.744889, - "station": "\ufffdCO-EP-271", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2nbghe", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7489, - 38.9172 - ] - }, - "properties": { - "station name": "Colorado Springs 6.9 NE", - "latitude": 38.9172, - "daily precip": 0.07, - "total precip": 0.07, - "daily snow total": 1.1, - "longitude": -104.7489, - "station": "\ufffdCO-EP-282", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcpm3pn", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7250595, - 38.74245071 - ] - }, - "properties": { - "station name": "Colorado Springs 8.2 SE", - "latitude": 38.74245071, - "daily precip": 0.08, - "total precip": 0.08, - "daily snow total": 0, - "longitude": -104.7250595, - "station": "\ufffdCO-EP-291", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzuqjxl", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8415527, - 38.83391953 - ] - }, - "properties": { - "station name": "Colorado Springs 1.1 W", - "latitude": 38.83391953, - "daily precip": 0.09, - "total precip": 0.09, - "daily snow total": 1.5, - "longitude": -104.8415527, - "station": "\ufffdCO-EP-303", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc32b13", - "geometry": { - "type": "Point", - "coordinates": [ - -104.838724, - 39.083551 - ] - }, - "properties": { - "station name": "Monument 1.4 NE", - "latitude": 39.083551, - "daily precip": 0.14, - "total precip": 0.14, - "daily snow total": 2.6, - "longitude": -104.838724, - "station": "\ufffdCO-EP-311", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzery0y", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8101919, - 38.79485227 - ] - }, - "properties": { - "station name": "Colorado Springs 2.8 SSE", - "latitude": 38.79485227, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 0, - "longitude": -104.8101919, - "station": "\ufffdCO-EP-314", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre6kjh9", - "geometry": { - "type": "Point", - "coordinates": [ - -105.492, - 38.342 - ] - }, - "properties": { - "station name": "Texas Creek 6.2 SE", - "latitude": 38.342, - "daily precip": 0.14, - "total precip": 0.14, - "daily snow total": 2.7, - "longitude": -105.492, - "station": "\ufffdCO-FM-5", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr631smv", - "geometry": { - "type": "Point", - "coordinates": [ - -105.039969, - 38.443121 - ] - }, - "properties": { - "station name": "Penrose 1.7 WNW", - "latitude": 38.443121, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0.5, - "longitude": -105.039969, - "station": "\ufffdCO-FM-8", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz5dh61", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2314, - 38.4298 - ] - }, - "properties": { - "station name": "Canon City .84 SE", - "latitude": 38.4298, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0.8, - "longitude": -105.2314, - "station": "\ufffdCO-FM-9", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1khjjd", - "geometry": { - "type": "Point", - "coordinates": [ - -105.6306, - 38.3137 - ] - }, - "properties": { - "station name": "Cotopaxi 4.9 SE", - "latitude": 38.3137, - "daily precip": 0.21, - "total precip": 0.21, - "daily snow total": 3.5, - "longitude": -105.6306, - "station": "\ufffdCO-FM-14", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr702an9", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1923, - 38.4657 - ] - }, - "properties": { - "station name": "Canon City 3.1 NE", - "latitude": 38.4657, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 1, - "longitude": -105.1923, - "station": "\ufffdCO-FM-18", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcymqjq", - "geometry": { - "type": "Point", - "coordinates": [ - -105.6417, - 38.3086 - ] - }, - "properties": { - "station name": "Cotopaxi 4.8 SSE", - "latitude": 38.3086, - "daily precip": 0.26, - "total precip": 0.26, - "daily snow total": 2.9, - "longitude": -105.6417, - "station": "\ufffdCO-FM-21", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdvb14j", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2466, - 38.4727 - ] - }, - "properties": { - "station name": "Canon City 0.7 NNW", - "latitude": 38.4727, - "daily precip": 0.12, - "total precip": 0.12, - "daily snow total": 1.8, - "longitude": -105.2466, - "station": "\ufffdCO-FM-48", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyo1grj", - "geometry": { - "type": "Point", - "coordinates": [ - -105.238354, - 38.453982 - ] - }, - "properties": { - "station name": "Canon City 0.7 SSE", - "latitude": 38.453982, - "daily precip": 0.08, - "total precip": 0.08, - "daily snow total": 1.3, - "longitude": -105.238354, - "station": "\ufffdCO-FM-59", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr78449z", - "geometry": { - "type": "Point", - "coordinates": [ - -105.555, - 38.6336 - ] - }, - "properties": { - "station name": "Canon City 22.3 NW", - "latitude": 38.6336, - "daily precip": 0.07, - "total precip": 0.07, - "daily snow total": 2.6, - "longitude": -105.555, - "station": "\ufffdCO-FM-73", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4eneyi", - "geometry": { - "type": "Point", - "coordinates": [ - -107.3269, - 39.5413 - ] - }, - "properties": { - "station name": "Glenwood Springs .64 S", - "latitude": 39.5413, - "daily precip": 0.01, - "total precip": 0.01, - "daily snow total": 0, - "longitude": -107.3269, - "station": "\ufffdCO-GF-1", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7fdecf", - "geometry": { - "type": "Point", - "coordinates": [ - -107.768, - 39.5502 - ] - }, - "properties": { - "station name": "Rifle 0.9 NE", - "latitude": 39.5502, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.768, - "station": "\ufffdCO-GF-2", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc3k2cm", - "geometry": { - "type": "Point", - "coordinates": [ - -107.3224, - 39.5308 - ] - }, - "properties": { - "station name": "Glenwood Springs 1.4 S", - "latitude": 39.5308, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.3224, - "station": "\ufffdCO-GF-4", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr60ltz8", - "geometry": { - "type": "Point", - "coordinates": [ - -107.7288, - 39.5552 - ] - }, - "properties": { - "station name": "Rifle 3.2 ENE", - "latitude": 39.5552, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.7288, - "station": "\ufffdCO-GF-28", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8yudy8", - "geometry": { - "type": "Point", - "coordinates": [ - -107.2923, - 39.4779 - ] - }, - "properties": { - "station name": "Glenwood Springs 5.3 SSE", - "latitude": 39.4779, - "daily precip": 0.01, - "total precip": 0.01, - "daily snow total": 0, - "longitude": -107.2923, - "station": "\ufffdCO-GF-33", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc2e2za", - "geometry": { - "type": "Point", - "coordinates": [ - -107.183879, - 39.458153 - ] - }, - "properties": { - "station name": "Carbondale 4.6 NNE", - "latitude": 39.458153, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0.6, - "longitude": -107.183879, - "station": "\ufffdCO-GF-49", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyci9sf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.51, - 39.90653333 - ] - }, - "properties": { - "station name": "Rollinsville 1.1 SSW", - "latitude": "39.90653333", - "daily precip": "0.78", - "total precip": 0.78, - "daily snow total": "10.2", - "longitude": "-105.51-10667", - "station": "\ufffdCO-GL-17", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr0lmy2z", - "geometry": { - "type": "Point", - "coordinates": [ - -106.5441, - 40.1625 - ] - }, - "properties": { - "station name": "Kremmling 10.9 NW", - "latitude": 40.1625, - "daily precip": 0.26, - "total precip": 0.26, - "daily snow total": 3.4, - "longitude": -106.5441, - "station": "\ufffdCO-GR-3", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0wxbl7", - "geometry": { - "type": "Point", - "coordinates": [ - -105.8609, - 40.0046 - ] - }, - "properties": { - "station name": "Tabernash 1.9 W", - "latitude": 40.0046, - "daily precip": 0.69, - "total precip": 0.69, - "daily snow total": 6.8, - "longitude": -105.8609, - "station": "\ufffdCO-GR-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3ue1r2", - "geometry": { - "type": "Point", - "coordinates": [ - -105.9453, - 40.0879 - ] - }, - "properties": { - "station name": "Granby .33 WNW", - "latitude": 40.0879, - "daily precip": 0.8, - "total precip": 0.8, - "daily snow total": 5.9, - "longitude": -105.9453, - "station": "\ufffdCO-GR-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc1tedr", - "geometry": { - "type": "Point", - "coordinates": [ - -106.200002, - 40.09 - ] - }, - "properties": { - "station name": "Parshall 3.0 NNW", - "latitude": "40.09-1093", - "daily precip": "0.26", - "total precip": 0.26, - "daily snow total": "2.8", - "longitude": "-106.200002", - "station": "\ufffdCO-GR-52", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmrem3yyf", - "geometry": { - "type": "Point", - "coordinates": [ - -107.0611, - 38.5025 - ] - }, - "properties": { - "station name": "Gunnison 7.9 WSW", - "latitude": 38.5025, - "daily precip": 0.02, - "total precip": 0.02, - "daily snow total": 0, - "longitude": -107.0611, - "station": "\ufffdCO-GN-14", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz7y6xb", - "geometry": { - "type": "Point", - "coordinates": [ - -106.9908, - 38.9603 - ] - }, - "properties": { - "station name": "Crested Butte 6.2 N", - "latitude": 38.9603, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 4, - "longitude": -106.9908, - "station": "\ufffdCO-GN-18", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqztaynr", - "geometry": { - "type": "Point", - "coordinates": [ - -107.55495, - 38.288467 - ] - }, - "properties": { - "station name": "Cimarron 11.2 S", - "latitude": 38.288467, - "daily precip": 0.12, - "total precip": 0.12, - "daily snow total": 3.5, - "longitude": -107.55495, - "station": "\ufffdCO-GN-47", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdind0i", - "geometry": { - "type": "Point", - "coordinates": [ - -106.619176, - 38.424862 - ] - }, - "properties": { - "station name": "Doyleville 2.1 W", - "latitude": 38.424862, - "daily precip": 0.03, - "total precip": 0.03, - "daily snow total": 0, - "longitude": -106.619176, - "station": "\ufffdCO-GN-49", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1jnfsi", - "geometry": { - "type": "Point", - "coordinates": [ - -107.2169952, - 39.07232285 - ] - }, - "properties": { - "station name": "Marble 1.5 W", - "latitude": 39.07232285, - "daily precip": 0.3, - "total precip": 0.3, - "daily snow total": 0, - "longitude": -107.2169952, - "station": "\ufffdCO-GN-55", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcyw1zd", - "geometry": { - "type": "Point", - "coordinates": [ - -104.795295, - 37.629881 - ] - }, - "properties": { - "station name": "Walsenburg 1.0 WNW", - "latitude": 37.629881, - "daily precip": 0.06, - "total precip": 0.06, - "daily snow total": 0.3, - "longitude": -104.795295, - "station": "\ufffdCO-HF-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8xdozr", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 37.503028 - ] - }, - "properties": { - "station name": "La Veta 0.5 SSW", - "latitude": "37.503028", - "daily precip": "0", - "total precip": 0, - "daily snow total": "0", - "longitude": "-105.0-10861", - "station": "\ufffdCO-HF-30", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr0s386q", - "geometry": { - "type": "Point", - "coordinates": [ - -105.086156, - 37.8170375 - ] - }, - "properties": { - "station name": "Gardner 5.2 ENE", - "latitude": 37.8170375, - "daily precip": 0.02, - "total precip": 0.02, - "daily snow total": 0.1, - "longitude": -105.086156, - "station": "\ufffdCO-HF-32", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcfa8wp", - "geometry": { - "type": "Point", - "coordinates": [ - -105.075, - 39.5884 - ] - }, - "properties": { - "station name": "Denver 11.0 SSW", - "latitude": 39.5884, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 4.7, - "longitude": -105.075, - "station": "\ufffdCO-JF-1", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr23xgp7", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2382, - 39.7664 - ] - }, - "properties": { - "station name": "Golden 1.2 NW", - "latitude": 39.7664, - "daily precip": 0.54, - "total precip": 0.54, - "daily snow total": 7.7, - "longitude": -105.2382, - "station": "\ufffdCO-JF-20", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdffspm", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2273, - 39.5346 - ] - }, - "properties": { - "station name": "Conifer 4.2 ENE", - "latitude": 39.5346, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 5.8, - "longitude": -105.2273, - "station": "\ufffdCO-JF-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6srzez", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1533, - 39.8153 - ] - }, - "properties": { - "station name": "Denver 10.3 WNW", - "latitude": 39.8153, - "daily precip": 0.53, - "total precip": 0.53, - "daily snow total": 5.7, - "longitude": -105.1533, - "station": "\ufffdCO-JF-26", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr07k9ud", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2297, - 39.7611 - ] - }, - "properties": { - "station name": "Golden 0.7 NW", - "latitude": 39.7611, - "daily precip": 0.77, - "total precip": 0.77, - "daily snow total": 9.5, - "longitude": -105.2297, - "station": "\ufffdCO-JF-40", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyqs0v1", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3565, - 39.70819 - ] - }, - "properties": { - "station name": "Bergen Park 1.1 N", - "latitude": 39.70819, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 5.5, - "longitude": -105.3565, - "station": "\ufffdCO-JF-52", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmramgzme", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0762, - 39.581 - ] - }, - "properties": { - "station name": "Chatfield Dam 2 NW", - "latitude": 39.581, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 4.8, - "longitude": -105.0762, - "station": "\ufffdCO-JF-61", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdfs37g", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 39.8826 - ] - }, - "properties": { - "station name": "Broomfield 2.3 SSW", - "latitude": "39.8826", - "daily precip": "0.49", - "total precip": 0.49, - "daily snow total": "3.8", - "longitude": "-105.-1056", - "station": "\ufffdCO-JF-72", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmrbl6khc", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2542, - 39.6212 - ] - }, - "properties": { - "station name": "Evergreen 3.2 ESE", - "latitude": 39.6212, - "daily precip": 0.48, - "total precip": 0.48, - "daily snow total": 0, - "longitude": -105.2542, - "station": "\ufffdCO-JF-84", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzohjpv", - "geometry": { - "type": "Point", - "coordinates": [ - -105.308, - 39.5677 - ] - }, - "properties": { - "station name": "Evergreen 4.6 S", - "latitude": 39.5677, - "daily precip": 0.28, - "total precip": 0.28, - "daily snow total": 3.5, - "longitude": -105.308, - "station": "\ufffdCO-JF-125", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd1uv2l", - "geometry": { - "type": "Point", - "coordinates": [ - -105.36718, - 39.585371 - ] - }, - "properties": { - "station name": "Evergreen 3.6 SSW", - "latitude": 39.585371, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 5.5, - "longitude": -105.36718, - "station": "\ufffdCO-JF-146", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3v5952", - "geometry": { - "type": "Point", - "coordinates": [ - -105.177477, - 39.496481 - ] - }, - "properties": { - "station name": "Aspen Park 5.2 ESE", - "latitude": 39.496481, - "daily precip": 0.45, - "total precip": 0.45, - "daily snow total": 5, - "longitude": -105.177477, - "station": "\ufffdCO-JF-151", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6ab62b", - "geometry": { - "type": "Point", - "coordinates": [ - -105.07579, - 39.68353 - ] - }, - "properties": { - "station name": "Lakewood 2.2 ESE", - "latitude": 39.68353, - "daily precip": 0.76, - "total precip": 0.76, - "daily snow total": 5.5, - "longitude": -105.07579, - "station": "\ufffdCO-JF-179", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrb6973w", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1635, - 39.5769 - ] - }, - "properties": { - "station name": "Littleton 8.2 WSW", - "latitude": 39.5769, - "daily precip": 0, - "total precip": 0, - "daily snow total": 7, - "longitude": -105.1635, - "station": "\ufffdCO-JF-201", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr54dg8f", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1371, - 39.6082 - ] - }, - "properties": { - "station name": "Littleton 6.4 W", - "latitude": 39.6082, - "daily precip": 0.55, - "total precip": 0.55, - "daily snow total": 5.9, - "longitude": -105.1371, - "station": "\ufffdCO-JF-212", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr14r2kg", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0589, - 39.7736 - ] - }, - "properties": { - "station name": "Denver 6.6 W", - "latitude": 39.7736, - "daily precip": 0.56, - "total precip": 0.56, - "daily snow total": 5.7, - "longitude": -105.0589, - "station": "\ufffdCO-JF-217", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1pp4lt", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3913, - 39.4722 - ] - }, - "properties": { - "station name": "Conifer 5.7 SW", - "latitude": 39.4722, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 3, - "longitude": -105.3913, - "station": "\ufffdCO-JF-222", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrem3rsf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1009, - 39.8502 - ] - }, - "properties": { - "station name": "Arvada 3.3 NNW", - "latitude": 39.8502, - "daily precip": 0.28, - "total precip": 0.28, - "daily snow total": 3.5, - "longitude": -105.1009, - "station": "\ufffdCO-JF-251", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmra564dp", - "geometry": { - "type": "Point", - "coordinates": [ - -105.146817, - 39.756366 - ] - }, - "properties": { - "station name": "Wheat Ridge 2.8 WSW", - "latitude": 39.756366, - "daily precip": 0.62, - "total precip": 0.62, - "daily snow total": 5.6, - "longitude": -105.146817, - "station": "\ufffdCO-JF-290", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0pou2u", - "geometry": { - "type": "Point", - "coordinates": [ - -105.12218, - 39.683711 - ] - }, - "properties": { - "station name": "Lakewood 0.9 SSW", - "latitude": 39.683711, - "daily precip": 0.6, - "total precip": 0.6, - "daily snow total": 5.4, - "longitude": -105.12218, - "station": "\ufffdCO-JF-326", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdtf3vw", - "geometry": { - "type": "Point", - "coordinates": [ - -105.168441, - 39.759253 - ] - }, - "properties": { - "station name": "Golden 2.9 ENE", - "latitude": 39.759253, - "daily precip": 0.7, - "total precip": 0.7, - "daily snow total": 6, - "longitude": -105.168441, - "station": "\ufffdCO-JF-330", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrayr4d4", - "geometry": { - "type": "Point", - "coordinates": [ - -105.390301, - 39.88175 - ] - }, - "properties": { - "station name": "Golden 12.5 NW", - "latitude": 39.88175, - "daily precip": 0.73, - "total precip": 0.73, - "daily snow total": 7.1, - "longitude": -105.390301, - "station": "\ufffdCO-JF-331", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1gf5vt", - "geometry": { - "type": "Point", - "coordinates": [ - -105.136721, - 39.67736 - ] - }, - "properties": { - "station name": "Lakewood 1.7 SW", - "latitude": 39.67736, - "daily precip": 0.61, - "total precip": 0.61, - "daily snow total": 6.7, - "longitude": -105.136721, - "station": "\ufffdCO-JF-333", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7ukpmi", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1142, - 39.7667 - ] - }, - "properties": { - "station name": "Wheat Ridge 0.9 WSW", - "latitude": 39.7667, - "daily precip": 0.6, - "total precip": 0.6, - "daily snow total": 5.2, - "longitude": -105.1142, - "station": "\ufffdCO-JF-343", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9c6ydn", - "geometry": { - "type": "Point", - "coordinates": [ - -105.100501, - 39.76545 - ] - }, - "properties": { - "station name": "Wheat Ridge 0.6 S", - "latitude": 39.76545, - "daily precip": 0.46, - "total precip": 0.46, - "daily snow total": 4.5, - "longitude": -105.100501, - "station": "\ufffdCO-JF-354", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbphpip", - "geometry": { - "type": "Point", - "coordinates": [ - -105.139661, - 39.608553 - ] - }, - "properties": { - "station name": "Littleton 6.6 W", - "latitude": 39.608553, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 5.5, - "longitude": -105.139661, - "station": "\ufffdCO-JF-359", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmravwfsi", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3074, - 39.42762 - ] - }, - "properties": { - "station name": "Pine 1.3 ENE", - "latitude": 39.42762, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 1.9, - "longitude": -105.3074, - "station": "\ufffdCO-JF-360", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyczrn8", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2471619, - 39.71973038 - ] - }, - "properties": { - "station name": "Golden 2.1 SW", - "latitude": 39.71973038, - "daily precip": 0.85, - "total precip": 0.85, - "daily snow total": 8.5, - "longitude": -105.2471619, - "station": "\ufffdCO-JF-365", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8jdg2k", - "geometry": { - "type": "Point", - "coordinates": [ - -105.12993, - 39.617745 - ] - }, - "properties": { - "station name": "Littleton 6.0 W", - "latitude": 39.617745, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 5.3, - "longitude": -105.12993, - "station": "\ufffdCO-JF-376", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4j9gq9", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1509933, - 39.81424332 - ] - }, - "properties": { - "station name": "Arvada 2.4 WSW", - "latitude": 39.81424332, - "daily precip": 0.58, - "total precip": 0.58, - "daily snow total": 6, - "longitude": -105.1509933, - "station": "\ufffdCO-JF-384", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4hew7a", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1892014, - 39.736 - ] - }, - "properties": { - "station name": "Golden 1.4 E", - "latitude": "39.736-1030578613", - "daily precip": "0", - "total precip": 0, - "daily snow total": "8.5", - "longitude": "-105.1892014", - "station": "\ufffdCO-JF-392", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmrcmss74", - "geometry": { - "type": "Point", - "coordinates": [ - -102.7735, - 38.4797 - ] - }, - "properties": { - "station name": "Eads .45 E", - "latitude": 38.4797, - "daily precip": 0.11, - "total precip": 0.11, - "daily snow total": 1.2, - "longitude": -102.7735, - "station": "\ufffdCO-KW-4", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrarzl85", - "geometry": { - "type": "Point", - "coordinates": [ - -102.950071, - 38.27992 - ] - }, - "properties": { - "station name": "Eads 16.6 SW", - "latitude": 38.27992, - "daily precip": 0.08, - "total precip": 0.08, - "daily snow total": 0, - "longitude": -102.950071, - "station": "\ufffdCO-KW-29", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5e04yb", - "geometry": { - "type": "Point", - "coordinates": [ - -102.2613, - 39.3063 - ] - }, - "properties": { - "station name": "Burlington 0.58 NE", - "latitude": 39.3063, - "daily precip": 0.94, - "total precip": 0.94, - "daily snow total": 10.5, - "longitude": -102.2613, - "station": "\ufffdCO-KC-27", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8ctuey", - "geometry": { - "type": "Point", - "coordinates": [ - -102.8229, - 39.4915 - ] - }, - "properties": { - "station name": "Liberty 15 SW", - "latitude": 39.4915, - "daily precip": 0.86, - "total precip": 0.86, - "daily snow total": 8, - "longitude": -102.8229, - "station": "\ufffdCO-KC-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc8iqfi", - "geometry": { - "type": "Point", - "coordinates": [ - -102.603622, - 39.304592 - ] - }, - "properties": { - "station name": "Stratton 0.1 N", - "latitude": 39.304592, - "daily precip": 1.5, - "total precip": 1.5, - "daily snow total": 12, - "longitude": -102.603622, - "station": "\ufffdCO-KC-123", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1mg44j", - "geometry": { - "type": "Point", - "coordinates": [ - -106.2816, - 39.1601 - ] - }, - "properties": { - "station name": "Leadville 6.3 S", - "latitude": 39.1601, - "daily precip": 0.24, - "total precip": 0.24, - "daily snow total": 4.5, - "longitude": -106.2816, - "station": "\ufffdCO-LK-10", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbepebx", - "geometry": { - "type": "Point", - "coordinates": [ - -106.336, - 39.269 - ] - }, - "properties": { - "station name": "Leadville 2.7 NW", - "latitude": 39.269, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 4.2, - "longitude": -106.336, - "station": "\ufffdCO-LK-21", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3kqm6x", - "geometry": { - "type": "Point", - "coordinates": [ - -106.300618, - 39.252216 - ] - }, - "properties": { - "station name": "Leadville 0.5 NW", - "latitude": 39.252216, - "daily precip": 0.31, - "total precip": 0.31, - "daily snow total": 2.9, - "longitude": -106.300618, - "station": "\ufffdCO-LK-28", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr16ygm3", - "geometry": { - "type": "Point", - "coordinates": [ - -107.793, - 37.2584 - ] - }, - "properties": { - "station name": "Durango 4.9 ESE", - "latitude": 37.2584, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.793, - "station": "\ufffdCO-LP-8", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrei858t", - "geometry": { - "type": "Point", - "coordinates": [ - -107.8386, - 37.3029 - ] - }, - "properties": { - "station name": "Durango 3.1 NE", - "latitude": 37.3029, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.8386, - "station": "\ufffdCO-LP-19", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr342r51", - "geometry": { - "type": "Point", - "coordinates": [ - -107.6097, - 37.2226 - ] - }, - "properties": { - "station name": "Bayfield 0.6 WSW", - "latitude": 37.2226, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.6097, - "station": "\ufffdCO-LP-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrebwulx", - "geometry": { - "type": "Point", - "coordinates": [ - -108.1445, - 37.1112 - ] - }, - "properties": { - "station name": "Hesperus 13.3 SSW", - "latitude": 37.1112, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.1445, - "station": "\ufffdCO-LP-26", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1x14rw", - "geometry": { - "type": "Point", - "coordinates": [ - -107.8455, - 37.3875 - ] - }, - "properties": { - "station name": "Durango 7.1 N", - "latitude": 37.3875, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.8455, - "station": "\ufffdCO-LP-34", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7537mf", - "geometry": { - "type": "Point", - "coordinates": [ - -107.594858, - 37.237854 - ] - }, - "properties": { - "station name": "Bayfield 0.3 N", - "latitude": 37.237854, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.594858, - "station": "\ufffdCO-LP-42", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8awi6s", - "geometry": { - "type": "Point", - "coordinates": [ - -107.9951, - 37.262 - ] - }, - "properties": { - "station name": "Durango 7.1 WSW", - "latitude": 37.262, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.9951, - "station": "\ufffdCO-LP-60", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3lexem", - "geometry": { - "type": "Point", - "coordinates": [ - -107.9456, - 37.2526 - ] - }, - "properties": { - "station name": "Durango 4.8 WSW", - "latitude": 37.2526, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.9456, - "station": "\ufffdCO-LP-61", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcoynp4", - "geometry": { - "type": "Point", - "coordinates": [ - -107.8143845, - 37.59599304 - ] - }, - "properties": { - "station name": "Rockwood 6.7 N", - "latitude": 37.59599304, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.8143845, - "station": "\ufffdCO-LP-66", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz49trd", - "geometry": { - "type": "Point", - "coordinates": [ - -107.6264191, - 37.15847778 - ] - }, - "properties": { - "station name": "Ignacio 2.9 N", - "latitude": 37.15847778, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.6264191, - "station": "\ufffdCO-LP-67", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1geoq5", - "geometry": { - "type": "Point", - "coordinates": [ - -108.22887, - 37.13775 - ] - }, - "properties": { - "station name": "Redmesa 4.2 NW", - "latitude": 37.13775, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.22887, - "station": "\ufffdCO-LP-70", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7gty2w", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0682, - 40.5691 - ] - }, - "properties": { - "station name": "Fort Collins 0.9 SE", - "latitude": 40.5691, - "daily precip": 0.64, - "total precip": 0.64, - "daily snow total": 7, - "longitude": -105.0682, - "station": "\ufffdCO-LR-22", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrarmxo8", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1194, - 40.5287 - ] - }, - "properties": { - "station name": "Fort Collins 3.7 SW", - "latitude": 40.5287, - "daily precip": 0.74, - "total precip": 0.74, - "daily snow total": 6.2, - "longitude": -105.1194, - "station": "\ufffdCO-LR-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbeoi4a", - "geometry": { - "type": "Point", - "coordinates": [ - -104.963004, - 40.587251 - ] - }, - "properties": { - "station name": "Timnath 4.1 NNE", - "latitude": 40.587251, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 4.5, - "longitude": -104.963004, - "station": "\ufffdCO-LR-36", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0si5pp", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2692, - 40.2934 - ] - }, - "properties": { - "station name": "Lyons 4.8 N", - "latitude": 40.2934, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 9.2, - "longitude": -105.2692, - "station": "\ufffdCO-LR-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6ghz2f", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1289, - 40.5538 - ] - }, - "properties": { - "station name": "Fort Collins 2.8 WSW", - "latitude": 40.5538, - "daily precip": 0.61, - "total precip": 0.61, - "daily snow total": 6, - "longitude": -105.1289, - "station": "\ufffdCO-LR-75", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6x06v5", - "geometry": { - "type": "Point", - "coordinates": [ - -104.948, - 40.443 - ] - }, - "properties": { - "station name": "Windsor 3.4 SW", - "latitude": 40.443, - "daily precip": 0.53, - "total precip": 0.53, - "daily snow total": 4.7, - "longitude": -104.948, - "station": "\ufffdCO-LR-93", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5ds6e4", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0619, - 40.4407 - ] - }, - "properties": { - "station name": "Loveland 3.0 NNE", - "latitude": 40.4407, - "daily precip": 0.35, - "total precip": 0.35, - "daily snow total": 3.4, - "longitude": -105.0619, - "station": "\ufffdCO-LR--104", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1h2utb", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3092, - 40.47 - ] - }, - "properties": { - "station name": "Drake 3.0 NNE", - "latitude": 40.47, - "daily precip": 0.7, - "total precip": 0.7, - "daily snow total": 7, - "longitude": -105.3092, - "station": "\ufffdCO-LR-225", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7cfade", - "geometry": { - "type": "Point", - "coordinates": [ - -105.4878, - 40.4018 - ] - }, - "properties": { - "station name": "Estes Park 2.2 NE", - "latitude": 40.4018, - "daily precip": 0.72, - "total precip": 0.72, - "daily snow total": 5.6, - "longitude": -105.4878, - "station": "\ufffdCO-LR-240", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrabkwiw", - "geometry": { - "type": "Point", - "coordinates": [ - -105.4096, - 40.751 - ] - }, - "properties": { - "station name": "Livermore 10.5 WSW", - "latitude": 40.751, - "daily precip": 0.34, - "total precip": 0.34, - "daily snow total": 7, - "longitude": -105.4096, - "station": "\ufffdCO-LR-250", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc9wxp6", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1817, - 40.635 - ] - }, - "properties": { - "station name": "Bellvue 1 NW", - "latitude": 40.635, - "daily precip": 0.66, - "total precip": 0.66, - "daily snow total": 6.9, - "longitude": -105.1817, - "station": "\ufffdCO-LR-252", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9819xz", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0643, - 40.5562 - ] - }, - "properties": { - "station name": "FCL 1.7 SE", - "latitude": 40.5562, - "daily precip": 0.43, - "total precip": 0.43, - "daily snow total": 5.5, - "longitude": -105.0643, - "station": "\ufffdCO-LR-270", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbu1sij", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1152, - 40.5993 - ] - }, - "properties": { - "station name": "FCL 2.2 NW", - "latitude": 40.5993, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 5.4, - "longitude": -105.1152, - "station": "\ufffdCO-LR-273", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzoy0xe", - "geometry": { - "type": "Point", - "coordinates": [ - -105.147301, - 40.587602 - ] - }, - "properties": { - "station name": "FCL 3.0 W", - "latitude": 40.587602, - "daily precip": 0.64, - "total precip": 0.64, - "daily snow total": 5.6, - "longitude": -105.147301, - "station": "\ufffdCO-LR-284", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdfy53t", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0291, - 40.5373 - ] - }, - "properties": { - "station name": "FCL 4.0 SE", - "latitude": 40.5373, - "daily precip": 0.56, - "total precip": 0.56, - "daily snow total": 4, - "longitude": -105.0291, - "station": "\ufffdCO-LR-290", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr24hxtg", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1175, - 40.5999 - ] - }, - "properties": { - "station name": "FCL 2.3 NW", - "latitude": 40.5999, - "daily precip": 0.53, - "total precip": 0.53, - "daily snow total": 5.1, - "longitude": -105.1175, - "station": "\ufffdCO-LR-311", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2dwcng", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0649, - 40.624 - ] - }, - "properties": { - "station name": "FCL 3.1 NE", - "latitude": 40.624, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 3.5, - "longitude": -105.0649, - "station": "\ufffdCO-LR-312", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3867e6", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0634, - 40.6068 - ] - }, - "properties": { - "station name": "FCL 2.55 NE", - "latitude": 40.6068, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 5.4, - "longitude": -105.0634, - "station": "\ufffdCO-LR-340", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcysqql", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0944, - 40.5468 - ] - }, - "properties": { - "station name": "FCL 2.1 S", - "latitude": 40.5468, - "daily precip": 0.65, - "total precip": 0.65, - "daily snow total": 6.5, - "longitude": -105.0944, - "station": "\ufffdCO-LR-372", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2rojh5", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1187, - 40.5407 - ] - }, - "properties": { - "station name": "FCL 3.0 SW", - "latitude": 40.5407, - "daily precip": 0.68, - "total precip": 0.68, - "daily snow total": 6.4, - "longitude": -105.1187, - "station": "\ufffdCO-LR-391", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5vm1iy", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0147, - 40.5725 - ] - }, - "properties": { - "station name": "FCL 3.7 E", - "latitude": 40.5725, - "daily precip": 0.41, - "total precip": 0.41, - "daily snow total": 3.8, - "longitude": -105.0147, - "station": "\ufffdCO-LR-403", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4he6gm", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1006, - 40.365 - ] - }, - "properties": { - "station name": "LOV 3.4 S", - "latitude": 40.365, - "daily precip": 0.43, - "total precip": 0.43, - "daily snow total": 4.2, - "longitude": -105.1006, - "station": "\ufffdCO-LR-472", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqztxsvh", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1587, - 40.3926 - ] - }, - "properties": { - "station name": "LOV 4.0 W", - "latitude": 40.3926, - "daily precip": 0.77, - "total precip": 0.77, - "daily snow total": 7.5, - "longitude": -105.1587, - "station": "\ufffdCO-LR-509", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre66fjc", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9708, - 40.3748 - ] - }, - "properties": { - "station name": "Loveland 7 SE", - "latitude": 40.3748, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 0, - "longitude": -104.9708, - "station": "\ufffdCO-LR-519", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2fmsii", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1159, - 40.4183 - ] - }, - "properties": { - "station name": "Loveland 1.6 WNW", - "latitude": 40.4183, - "daily precip": 0.29, - "total precip": 0.29, - "daily snow total": 0, - "longitude": -105.1159, - "station": "\ufffdCO-LR-544", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbgy3gu", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0433, - 40.4113 - ] - }, - "properties": { - "station name": "Loveland 1.9 ENE", - "latitude": 40.4113, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 4.5, - "longitude": -105.0433, - "station": "\ufffdCO-LR-560", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdjfvva", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1307, - 40.5489 - ] - }, - "properties": { - "station name": "Fort Collins 3.5 SW", - "latitude": 40.5489, - "daily precip": 0.72, - "total precip": 0.72, - "daily snow total": 7.1, - "longitude": -105.1307, - "station": "\ufffdCO-LR-610", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9t9fvd", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9843, - 40.4693 - ] - }, - "properties": { - "station name": "Fort Collins 10 SSE", - "latitude": 40.4693, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 4.5, - "longitude": -104.9843, - "station": "\ufffdCO-LR-625", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdqdprg", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0253, - 40.5321 - ] - }, - "properties": { - "station name": "Fort Collins 4.8 SE", - "latitude": 40.5321, - "daily precip": 0.62, - "total precip": 0.62, - "daily snow total": 3, - "longitude": -105.0253, - "station": "\ufffdCO-LR-632", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmra3496d", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0412, - 40.6 - ] - }, - "properties": { - "station name": "Fort Collins 2.8 NE", - "latitude": "40.6-108", - "daily precip": "0.46", - "total precip": 0.46, - "daily snow total": "3.8", - "longitude": "-105.0412", - "station": "\ufffdCO-LR-636", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr27al2l", - "geometry": { - "type": "Point", - "coordinates": [ - -105.092217, - 40.528061 - ] - }, - "properties": { - "station name": "Fort Collins 4.0 S", - "latitude": 40.528061, - "daily precip": 0.58, - "total precip": 0.58, - "daily snow total": 5.8, - "longitude": -105.092217, - "station": "\ufffdCO-LR-645", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr306ze9", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1194, - 40.5687 - ] - }, - "properties": { - "station name": "Fort Collins 2.9 WNW", - "latitude": 40.5687, - "daily precip": 0.75, - "total precip": 0.75, - "daily snow total": 5.5, - "longitude": -105.1194, - "station": "\ufffdCO-LR-654", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdb5nkr", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 40.441995 - ] - }, - "properties": { - "station name": "Loveland 2.4 NW", - "latitude": "40.441995", - "daily precip": "0.46", - "total precip": 0.46, - "daily snow total": "3.5", - "longitude": "-105.-106742", - "station": "\ufffdCO-LR-676", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr1syhp0", - "geometry": { - "type": "Point", - "coordinates": [ - -105.064732, - 40.621674 - ] - }, - "properties": { - "station name": "Fort Collins 4.6 N", - "latitude": 40.621674, - "daily precip": 0.64, - "total precip": 0.64, - "daily snow total": 3.6, - "longitude": -105.064732, - "station": "\ufffdCO-LR-681", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4eomow", - "geometry": { - "type": "Point", - "coordinates": [ - -105.22, - 40.58 - ] - }, - "properties": { - "station name": "Horsetooth Mountain 3.2 NNW", - "latitude": 40.58, - "daily precip": 0.71, - "total precip": 0.71, - "daily snow total": 9.5, - "longitude": -105.22, - "station": "\ufffdCO-LR-683", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7hb1gw", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 40.415171 - ] - }, - "properties": { - "station name": "Loveland 1.8 W", - "latitude": "40.415171", - "daily precip": "0.65", - "total precip": 0.65, - "daily snow total": "4.4", - "longitude": "-105.-104804", - "station": "\ufffdCO-LR-691", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr62ghlf", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 40.516089 - ] - }, - "properties": { - "station name": "Fort Collins 3.3 SSW", - "latitude": "40.516089", - "daily precip": "0.62", - "total precip": 0.62, - "daily snow total": "5.8", - "longitude": "-105.-102566", - "station": "\ufffdCO-LR-707", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmraklsx1", - "geometry": { - "type": "Point", - "coordinates": [ - -105.085361, - 40.45 - ] - }, - "properties": { - "station name": "Loveland 2.4 NNW", - "latitude": "40.45-1032", - "daily precip": "0.61", - "total precip": 0.61, - "daily snow total": "4.2", - "longitude": "-105.085361", - "station": "\ufffdCO-LR-715", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmre3v0v6", - "geometry": { - "type": "Point", - "coordinates": [ - -105.169101, - 40.269574 - ] - }, - "properties": { - "station name": "Berthoud 5.3 WSW", - "latitude": 40.269574, - "daily precip": 0.53, - "total precip": 0.53, - "daily snow total": 5.8, - "longitude": -105.169101, - "station": "\ufffdCO-LR-752", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc4z7of", - "geometry": { - "type": "Point", - "coordinates": [ - -105.148734, - 40.634783 - ] - }, - "properties": { - "station name": "Laporte 1.4 NW", - "latitude": 40.634783, - "daily precip": 0.64, - "total precip": 0.64, - "daily snow total": 6, - "longitude": -105.148734, - "station": "\ufffdCO-LR-761", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr92g9fg", - "geometry": { - "type": "Point", - "coordinates": [ - -105.06372, - 40.62147 - ] - }, - "properties": { - "station name": "Fort Collins 4.6 N", - "latitude": 40.62147, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 3.5, - "longitude": -105.06372, - "station": "\ufffdCO-LR-762", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzd0829", - "geometry": { - "type": "Point", - "coordinates": [ - -105.521653, - 40.346414 - ] - }, - "properties": { - "station name": "Estes Park 1.8 S", - "latitude": 40.346414, - "daily precip": 0.7, - "total precip": 0.7, - "daily snow total": 11.1, - "longitude": -105.521653, - "station": "\ufffdCO-LR-767", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmraug1eu", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0731, - 40.54603 - ] - }, - "properties": { - "station name": "Fort Collins 0.7 SSW", - "latitude": 40.54603, - "daily precip": 0.68, - "total precip": 0.68, - "daily snow total": 5.2, - "longitude": -105.0731, - "station": "\ufffdCO-LR-769", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8mbea8", - "geometry": { - "type": "Point", - "coordinates": [ - -105.081731, - 40.63743 - ] - }, - "properties": { - "station name": "Fort Collins 5.4 N", - "latitude": 40.63743, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 3.7, - "longitude": -105.081731, - "station": "\ufffdCO-LR-797", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr67dmk0", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1486, - 40.3761 - ] - }, - "properties": { - "station name": "Loveland 5.0 SW", - "latitude": 40.3761, - "daily precip": 0.72, - "total precip": 0.72, - "daily snow total": 7.7, - "longitude": -105.1486, - "station": "\ufffdCO-LR-799", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqym84gs", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1266, - 40.43467 - ] - }, - "properties": { - "station name": "Loveland 3.1 WNW", - "latitude": 40.43467, - "daily precip": 0.55, - "total precip": 0.55, - "daily snow total": 5.4, - "longitude": -105.1266, - "station": "\ufffdCO-LR-812", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqymk3er", - "geometry": { - "type": "Point", - "coordinates": [ - -105.054233, - 40.543009 - ] - }, - "properties": { - "station name": "Fort Collins 1.1 SE", - "latitude": 40.543009, - "daily precip": 0.49, - "total precip": 0.49, - "daily snow total": 5.2, - "longitude": -105.054233, - "station": "\ufffdCO-LR-829", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcd3o52", - "geometry": { - "type": "Point", - "coordinates": [ - -105.073769, - 40.563599 - ] - }, - "properties": { - "station name": "Fort Collins 0.6 NNW", - "latitude": 40.563599, - "daily precip": 0.68, - "total precip": 0.68, - "daily snow total": 5.7, - "longitude": -105.073769, - "station": "\ufffdCO-LR-832", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr84w77y", - "geometry": { - "type": "Point", - "coordinates": [ - -105.048, - 40.3885 - ] - }, - "properties": { - "station name": "Loveland 2.4 SSE", - "latitude": 40.3885, - "daily precip": 0.55, - "total precip": 0.55, - "daily snow total": 4, - "longitude": -105.048, - "station": "\ufffdCO-LR-840", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5njuaq", - "geometry": { - "type": "Point", - "coordinates": [ - -105.163285, - 40.386276 - ] - }, - "properties": { - "station name": "Loveland 5.3 WSW", - "latitude": 40.386276, - "daily precip": 0.63, - "total precip": 0.63, - "daily snow total": 5.4, - "longitude": -105.163285, - "station": "\ufffdCO-LR-843", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzmcux0", - "geometry": { - "type": "Point", - "coordinates": [ - -105.07, - 40.569 - ] - }, - "properties": { - "station name": "Fort Collins 0.9 N", - "latitude": 40.569, - "daily precip": 0.61, - "total precip": 0.61, - "daily snow total": 4.8, - "longitude": -105.07, - "station": "\ufffdCO-LR-849", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr660goq", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 40.442364 - ] - }, - "properties": { - "station name": "Loveland 2.3 NW", - "latitude": "40.442364", - "daily precip": "0.68", - "total precip": 0.68, - "daily snow total": "4", - "longitude": "-105.-102981", - "station": "\ufffdCO-LR-854", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr1mux3y", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0872, - 40.5633 - ] - }, - "properties": { - "station name": "Fort Collins 1.1 WNW", - "latitude": 40.5633, - "daily precip": 0.65, - "total precip": 0.65, - "daily snow total": 5.8, - "longitude": -105.0872, - "station": "\ufffdCO-LR-863", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd5jw9r", - "geometry": { - "type": "Point", - "coordinates": [ - -105.5181, - 40.3409 - ] - }, - "properties": { - "station name": "Estes Park 2.2 S", - "latitude": 40.3409, - "daily precip": 0.57, - "total precip": 0.57, - "daily snow total": 7.1, - "longitude": -105.5181, - "station": "\ufffdCO-LR-866", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrb3nmh7", - "geometry": { - "type": "Point", - "coordinates": [ - -105.125591, - 40.565781 - ] - }, - "properties": { - "station name": "Fort Collins 3.1 WNW", - "latitude": 40.565781, - "daily precip": 0.63, - "total precip": 0.63, - "daily snow total": 6.4, - "longitude": -105.125591, - "station": "\ufffdCO-LR-878", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzcgcw4", - "geometry": { - "type": "Point", - "coordinates": [ - -105.068025, - 40.502249 - ] - }, - "properties": { - "station name": "Fort Collins 3.7 S", - "latitude": 40.502249, - "daily precip": 0.56, - "total precip": 0.56, - "daily snow total": 5, - "longitude": -105.068025, - "station": "\ufffdCO-LR-885", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr98oxm5", - "geometry": { - "type": "Point", - "coordinates": [ - -105.097083, - 40.784183 - ] - }, - "properties": { - "station name": "Wellington 7.5 NW", - "latitude": 40.784183, - "daily precip": 0.14, - "total precip": 0.14, - "daily snow total": 2, - "longitude": -105.097083, - "station": "\ufffdCO-LR-887", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr73d671", - "geometry": { - "type": "Point", - "coordinates": [ - -105.164965, - 40.272604 - ] - }, - "properties": { - "station name": "Berthoud 5.0 WSW", - "latitude": 40.272604, - "daily precip": 0.91, - "total precip": 0.91, - "daily snow total": 6, - "longitude": -105.164965, - "station": "\ufffdCO-LR-889", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9qfk48", - "geometry": { - "type": "Point", - "coordinates": [ - -105.414993, - 40.720613 - ] - }, - "properties": { - "station name": "Livermore 9.9 WSW", - "latitude": 40.720613, - "daily precip": 0.6, - "total precip": 0.6, - "daily snow total": 8.8, - "longitude": -105.414993, - "station": "\ufffdCO-LR-897", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8rk7lu", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 40.487473 - ] - }, - "properties": { - "station name": "Fort Collins 5.0 SSW", - "latitude": "40.487473", - "daily precip": "0.32", - "total precip": 0.32, - "daily snow total": "0", - "longitude": "-105.-10204", - "station": "\ufffdCO-LR-904", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr7dqudj", - "geometry": { - "type": "Point", - "coordinates": [ - -105.448226, - 40.736741 - ] - }, - "properties": { - "station name": "Livermore 12.1 WSW", - "latitude": 40.736741, - "daily precip": 0.6, - "total precip": 0.6, - "daily snow total": 8, - "longitude": -105.448226, - "station": "\ufffdCO-LR-905", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzpmlbx", - "geometry": { - "type": "Point", - "coordinates": [ - -105.06796, - 40.72275 - ] - }, - "properties": { - "station name": "Wellington 3.7 WNW", - "latitude": 40.72275, - "daily precip": 0.14, - "total precip": 0.14, - "daily snow total": 2, - "longitude": -105.06796, - "station": "\ufffdCO-LR-918", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzry2iu", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1608, - 40.2843 - ] - }, - "properties": { - "station name": "Berthoud 4.4 WSW", - "latitude": 40.2843, - "daily precip": 0.71, - "total precip": 0.71, - "daily snow total": 7.9, - "longitude": -105.1608, - "station": "\ufffdCO-LR-922", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0j1tnf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.120223, - 40.377756 - ] - }, - "properties": { - "station name": "Loveland 3.8 SW", - "latitude": 40.377756, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 3.6, - "longitude": -105.120223, - "station": "\ufffdCO-LR-923", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr93bd9o", - "geometry": { - "type": "Point", - "coordinates": [ - -105.03281, - 40.55035 - ] - }, - "properties": { - "station name": "Fort Collins 1.9 E", - "latitude": 40.55035, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 2.3, - "longitude": -105.03281, - "station": "\ufffdCO-LR-925", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8tvmdo", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3669, - 40.8621 - ] - }, - "properties": { - "station name": "Livermore 10.5 NW", - "latitude": 40.8621, - "daily precip": 0.31, - "total precip": 0.31, - "daily snow total": 0, - "longitude": -105.3669, - "station": "\ufffdCO-LR-945", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyoaiie", - "geometry": { - "type": "Point", - "coordinates": [ - -105.00721, - 40.70792 - ] - }, - "properties": { - "station name": "Wellington 0.4 NW", - "latitude": 40.70792, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 2.6, - "longitude": -105.00721, - "station": "\ufffdCO-LR-952", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre3nj7d", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0441208, - 40.56796646 - ] - }, - "properties": { - "station name": "Fort Collins 1.5 NE", - "latitude": 40.56796646, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 3.5, - "longitude": -105.0441208, - "station": "\ufffdCO-LR-953", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr585eyp", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3181305, - 40.5663 - ] - }, - "properties": { - "station name": "Masonville 8.6 NW", - "latitude": "40.5663-108825684", - "daily precip": "0.21", - "total precip": 0.21, - "daily snow total": "0", - "longitude": "-105.3181305", - "station": "\ufffdCO-LR-964", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr9jfiuq", - "geometry": { - "type": "Point", - "coordinates": [ - -105.008867, - 40.506306 - ] - }, - "properties": { - "station name": "Fort Collins 4.6 SE", - "latitude": 40.506306, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 3, - "longitude": -105.008867, - "station": "\ufffdCO-LR-973", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmraj2i82", - "geometry": { - "type": "Point", - "coordinates": [ - -105.129752, - 40.581319 - ] - }, - "properties": { - "station name": "Fort Collins 3.7 WNW", - "latitude": 40.581319, - "daily precip": 0.66, - "total precip": 0.66, - "daily snow total": 5.5, - "longitude": -105.129752, - "station": "\ufffdCO-LR-976", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8gzadc", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1982935, - 40.78134774 - ] - }, - "properties": { - "station name": "Livermore 2.7 NE", - "latitude": 40.78134774, - "daily precip": 0.19, - "total precip": 0.19, - "daily snow total": 4, - "longitude": -105.1982935, - "station": "\ufffdCO-LR-981", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5xfagy", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0926614, - 40.51902719 - ] - }, - "properties": { - "station name": "Fort Collins 2.8 SSW", - "latitude": 40.51902719, - "daily precip": 0.68, - "total precip": 0.68, - "daily snow total": 0, - "longitude": -105.0926614, - "station": "\ufffdCO-LR-986", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc2pmhu", - "geometry": { - "type": "Point", - "coordinates": [ - -104, - 37.3369 - ] - }, - "properties": { - "station name": "Model 7.9 ESE", - "latitude": "37.3369", - "daily precip": "0", - "total precip": 0, - "daily snow total": "0", - "longitude": "-104.-1084", - "station": "\ufffdCO-LA-12", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr7atodd", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7258, - 37.212 - ] - }, - "properties": { - "station name": "Boncarbo 1.5 WSW", - "latitude": 37.212, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -104.7258, - "station": "\ufffdCO-LA-13", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr851ol9", - "geometry": { - "type": "Point", - "coordinates": [ - -103.302, - 37.1242 - ] - }, - "properties": { - "station name": "Kim 8.8 SSE", - "latitude": 37.1242, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -103.302, - "station": "\ufffdCO-LA-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1imz8c", - "geometry": { - "type": "Point", - "coordinates": [ - -103.6262, - 38.7245 - ] - }, - "properties": { - "station name": "Karval 4.8 W", - "latitude": 38.7245, - "daily precip": 0.17, - "total precip": 0.17, - "daily snow total": 3, - "longitude": -103.6262, - "station": "\ufffdCO-LN-34", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr31uwmg", - "geometry": { - "type": "Point", - "coordinates": [ - -103.6901167, - 39.2585368 - ] - }, - "properties": { - "station name": "Limon 0.5 S", - "latitude": 39.2585368, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 3.7, - "longitude": -103.6901167, - "station": "\ufffdCO-LN-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbcqk5c", - "geometry": { - "type": "Point", - "coordinates": [ - -103.694401, - 39.26666223 - ] - }, - "properties": { - "station name": "Limon 0.3 W", - "latitude": "39.26666223", - "daily precip": "0.16", - "total precip": 0.16, - "daily snow total": "0", - "longitude": "-103.6944010-10871", - "station": "\ufffdCO-LN-51", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmqzdtqfp", - "geometry": { - "type": "Point", - "coordinates": [ - -103.2376, - 40.6421 - ] - }, - "properties": { - "station name": "Sterling 1.8 NW", - "latitude": 40.6421, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 1.1, - "longitude": -103.2376, - "station": "\ufffdCO-LG-2", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8tsve0", - "geometry": { - "type": "Point", - "coordinates": [ - -103.209027, - 40.628999 - ] - }, - "properties": { - "station name": "Sterling 1.5 S", - "latitude": 40.628999, - "daily precip": 0.04, - "total precip": 0.04, - "daily snow total": 0.7, - "longitude": -103.209027, - "station": "\ufffdCO-LG-49", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbqy8mw", - "geometry": { - "type": "Point", - "coordinates": [ - -108.61869, - 39.177895 - ] - }, - "properties": { - "station name": "Grand Junction 8NNW", - "latitude": 39.177895, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.61869, - "station": "\ufffdCO-ME-3", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0q6lmi", - "geometry": { - "type": "Point", - "coordinates": [ - -108.7063, - 39.2222 - ] - }, - "properties": { - "station name": "Fruita 4.5 NNE", - "latitude": 39.2222, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.7063, - "station": "\ufffdCO-ME-7", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0bquwd", - "geometry": { - "type": "Point", - "coordinates": [ - -108.9395, - 39.2685 - ] - }, - "properties": { - "station name": "Mack 5 NW", - "latitude": 39.2685, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.9395, - "station": "\ufffdCO-ME-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1xbtzn", - "geometry": { - "type": "Point", - "coordinates": [ - -108.6066, - 39.0721 - ] - }, - "properties": { - "station name": "Grand Junction 2.4 W", - "latitude": 39.0721, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.6066, - "station": "\ufffdCO-ME-47", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzfyrvk", - "geometry": { - "type": "Point", - "coordinates": [ - -107.9575, - 39.2396 - ] - }, - "properties": { - "station name": "Collbran 0.2 ESE", - "latitude": 39.2396, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.9575, - "station": "\ufffdCO-ME-53", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr61p2o9", - "geometry": { - "type": "Point", - "coordinates": [ - -108.537271, - 39.075185 - ] - }, - "properties": { - "station name": "Grand Junction 1.2 SE", - "latitude": 39.075185, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.537271, - "station": "\ufffdCO-ME-57", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr87t6h2", - "geometry": { - "type": "Point", - "coordinates": [ - -107.957469, - 39.239672 - ] - }, - "properties": { - "station name": "Collbran 0.1 ENE", - "latitude": 39.239672, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.957469, - "station": "\ufffdCO-ME-58", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr93i0e6", - "geometry": { - "type": "Point", - "coordinates": [ - -108.628093, - 39.088364 - ] - }, - "properties": { - "station name": "Grand Junction 4.0 W", - "latitude": 39.088364, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.628093, - "station": "\ufffdCO-ME-69", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre9zqxf", - "geometry": { - "type": "Point", - "coordinates": [ - -108.557331, - 39.07235 - ] - }, - "properties": { - "station name": "Grand Junction 1.1 SSW", - "latitude": 39.07235, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.557331, - "station": "\ufffdCO-ME-75", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmreums75", - "geometry": { - "type": "Point", - "coordinates": [ - -108.623557, - 39.075223 - ] - }, - "properties": { - "station name": "Grand Junction 3.9 WSW", - "latitude": 39.075223, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.623557, - "station": "\ufffdCO-ME-79", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc704u1", - "geometry": { - "type": "Point", - "coordinates": [ - -108.4629211, - 39.06448746 - ] - }, - "properties": { - "station name": "Grand Junction 5.1 ESE", - "latitude": 39.06448746, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.4629211, - "station": "\ufffdCO-ME-91", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqynqapy", - "geometry": { - "type": "Point", - "coordinates": [ - -108.396161, - 38.925378 - ] - }, - "properties": { - "station name": "Whitewater 4.2 SSE", - "latitude": 38.925378, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.396161, - "station": "\ufffdCO-ME-94", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr07ujij", - "geometry": { - "type": "Point", - "coordinates": [ - -108.6364, - 39.0538 - ] - }, - "properties": { - "station name": "Grand Junction 5.0 WSW", - "latitude": 39.0538, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.6364, - "station": "\ufffdCO-ME-96", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr02ip7k", - "geometry": { - "type": "Point", - "coordinates": [ - -108.607364, - 39.074115 - ] - }, - "properties": { - "station name": "Grand Junction 3.1 WSW", - "latitude": 39.074115, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.607364, - "station": "\ufffdCO-ME-99", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8dnjo1", - "geometry": { - "type": "Point", - "coordinates": [ - -108.53678131, - 39.03175354 - ] - }, - "properties": { - "station name": "Grand Junction 3.9 SSE", - "latitude": "39.03175354", - "daily precip": "0", - "total precip": 0, - "daily snow total": "0", - "longitude": "-108.53678131-1035", - "station": "\ufffdCO-ME--102", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr9oux0d", - "geometry": { - "type": "Point", - "coordinates": [ - -107.5316913, - 40.51343504 - ] - }, - "properties": { - "station name": "Craig 1.2 ESE", - "latitude": 40.51343504, - "daily precip": 0.02, - "total precip": 0.02, - "daily snow total": 0, - "longitude": -107.5316913, - "station": "\ufffdCO-MF-21", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8oms37", - "geometry": { - "type": "Point", - "coordinates": [ - -107.527332, - 40.520036 - ] - }, - "properties": { - "station name": "Craig 1.4 E", - "latitude": 40.520036, - "daily precip": 0.01, - "total precip": 0.01, - "daily snow total": 0, - "longitude": -107.527332, - "station": "\ufffdCO-MF-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr41d5ou", - "geometry": { - "type": "Point", - "coordinates": [ - -108.4177, - 37.4884 - ] - }, - "properties": { - "station name": "Dolores 4.8 ENE", - "latitude": 37.4884, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.4177, - "station": "\ufffdCO-MZ-30", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcm2x3h", - "geometry": { - "type": "Point", - "coordinates": [ - -108.7244, - 37.3367 - ] - }, - "properties": { - "station name": "Cortez 7.7 W", - "latitude": 37.3367, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.7244, - "station": "\ufffdCO-MZ-31", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr58deg4", - "geometry": { - "type": "Point", - "coordinates": [ - -108.5938, - 37.3398 - ] - }, - "properties": { - "station name": "Cortez 1.2 SW", - "latitude": 37.3398, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.5938, - "station": "\ufffdCO-MZ-34", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7lod9r", - "geometry": { - "type": "Point", - "coordinates": [ - -108.6122111, - 37.3711696 - ] - }, - "properties": { - "station name": "Cortez 2.3 NW", - "latitude": 37.3711696, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.6122111, - "station": "\ufffdCO-MZ-43", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr85s90x", - "geometry": { - "type": "Point", - "coordinates": [ - -108.523683, - 37.421796 - ] - }, - "properties": { - "station name": "Dolores 3.9 SSW", - "latitude": 37.421796, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.523683, - "station": "\ufffdCO-MZ-48", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr175xlu", - "geometry": { - "type": "Point", - "coordinates": [ - -107.8574, - 38.4729 - ] - }, - "properties": { - "station name": "Montrose 1.2 ESE", - "latitude": 38.4729, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0, - "longitude": -107.8574, - "station": "\ufffdCO-MT-5", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz0ytzb", - "geometry": { - "type": "Point", - "coordinates": [ - -107.89114, - 38.470869 - ] - }, - "properties": { - "station name": "Montrose 1.2 WSW", - "latitude": 38.470869, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0, - "longitude": -107.89114, - "station": "\ufffdCO-MT-13", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre4higg", - "geometry": { - "type": "Point", - "coordinates": [ - -107.8225, - 38.4633 - ] - }, - "properties": { - "station name": "Montrose 2.9 ESE", - "latitude": 38.4633, - "daily precip": 0.06, - "total precip": 0.06, - "daily snow total": 0, - "longitude": -107.8225, - "station": "\ufffdCO-MT-15", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9xrb2i", - "geometry": { - "type": "Point", - "coordinates": [ - -107.819919, - 38.383019 - ] - }, - "properties": { - "station name": "Montrose 7.2 SSE", - "latitude": 38.383019, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 0.6, - "longitude": -107.819919, - "station": "\ufffdCO-MT-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1jw63d", - "geometry": { - "type": "Point", - "coordinates": [ - -107.967, - 38.6507 - ] - }, - "properties": { - "station name": "Olathe 3.2 NNE", - "latitude": 38.6507, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.967, - "station": "\ufffdCO-MT-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7ocwku", - "geometry": { - "type": "Point", - "coordinates": [ - -107.835117, - 38.4822 - ] - }, - "properties": { - "station name": "Montrose 2.0 E", - "latitude": 38.4822, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0, - "longitude": -107.835117, - "station": "\ufffdCO-MT-27", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbc0d27", - "geometry": { - "type": "Point", - "coordinates": [ - -107.7488, - 38.5246 - ] - }, - "properties": { - "station name": "Montrose 7.3 ENE", - "latitude": 38.5246, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 3, - "longitude": -107.7488, - "station": "\ufffdCO-MT-31", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcptfpl", - "geometry": { - "type": "Point", - "coordinates": [ - -107.842, - 38.476 - ] - }, - "properties": { - "station name": "Montrose 1.6 E", - "latitude": 38.476, - "daily precip": 0.06, - "total precip": 0.06, - "daily snow total": 0, - "longitude": -107.842, - "station": "\ufffdCO-MT-36", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7zxiuq", - "geometry": { - "type": "Point", - "coordinates": [ - -103.624, - 40.2469 - ] - }, - "properties": { - "station name": "Brush 0.8 S", - "latitude": 40.2469, - "daily precip": 0.18, - "total precip": 0.18, - "daily snow total": 3.3, - "longitude": -103.624, - "station": "\ufffdCO-MR-1", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqznie98", - "geometry": { - "type": "Point", - "coordinates": [ - -103.54646, - 40.29305 - ] - }, - "properties": { - "station name": "Hillrose 2.5 SSW", - "latitude": 40.29305, - "daily precip": 0.13, - "total precip": 0.13, - "daily snow total": 0, - "longitude": -103.54646, - "station": "\ufffdCO-MR-81", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8x9l78", - "geometry": { - "type": "Point", - "coordinates": [ - -103.716914, - 40.332772 - ] - }, - "properties": { - "station name": "Fort Morgan 6.2 NE", - "latitude": 40.332772, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 0, - "longitude": -103.716914, - "station": "\ufffdCO-MR-86", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqykibk3", - "geometry": { - "type": "Point", - "coordinates": [ - -103.812733, - 40.243433 - ] - }, - "properties": { - "station name": "Fort Morgan 1.8 SSW", - "latitude": 40.243433, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 0, - "longitude": -103.812733, - "station": "\ufffdCO-MR-93", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz7qy15", - "geometry": { - "type": "Point", - "coordinates": [ - -103.5092, - 38 - ] - }, - "properties": { - "station name": "Cheraw .15 NNE", - "latitude": "38.-109", - "daily precip": "0.06", - "total precip": 0.06, - "daily snow total": "0", - "longitude": "-103.5092", - "station": "\ufffdCO-OT-6", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmre1mk4i", - "geometry": { - "type": "Point", - "coordinates": [ - -103.5601, - 37.9785 - ] - }, - "properties": { - "station name": "La Junta 1.0 WSW", - "latitude": 37.9785, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0, - "longitude": -103.5601, - "station": "\ufffdCO-OT-9", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5s2jrl", - "geometry": { - "type": "Point", - "coordinates": [ - -103.628633, - 38.014336 - ] - }, - "properties": { - "station name": "Swink 0.1 WNW", - "latitude": 38.014336, - "daily precip": 0.02, - "total precip": 0.02, - "daily snow total": 0.1, - "longitude": -103.628633, - "station": "\ufffdCO-OT-23", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr05kjq5", - "geometry": { - "type": "Point", - "coordinates": [ - -103.544288, - 37.966308 - ] - }, - "properties": { - "station name": "La Junta 1.0 S", - "latitude": 37.966308, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -103.544288, - "station": "\ufffdCO-OT-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5igejl", - "geometry": { - "type": "Point", - "coordinates": [ - -103.67986, - 37.982596 - ] - }, - "properties": { - "station name": "La Junta 7.4 W", - "latitude": 37.982596, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -103.67986, - "station": "\ufffdCO-OT-31", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr91o5sy", - "geometry": { - "type": "Point", - "coordinates": [ - -103.9822097, - 37.8229211 - ] - }, - "properties": { - "station name": "Timpas 11.6 W", - "latitude": 37.8229211, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -103.9822097, - "station": "\ufffdCO-OT-33", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5jhjlf", - "geometry": { - "type": "Point", - "coordinates": [ - -107.6724, - 38.0259 - ] - }, - "properties": { - "station name": "Ouray .23 NNW", - "latitude": 38.0259, - "daily precip": 0.13, - "total precip": 0.13, - "daily snow total": 3.5, - "longitude": -107.6724, - "station": "\ufffdCO-OR-2", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4bhrr4", - "geometry": { - "type": "Point", - "coordinates": [ - -107.758859, - 38.149838 - ] - }, - "properties": { - "station name": "Ridgway 0.5 SW", - "latitude": 38.149838, - "daily precip": 0.17, - "total precip": 0.17, - "daily snow total": 4.5, - "longitude": -107.758859, - "station": "\ufffdCO-OR-10", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9k7mvr", - "geometry": { - "type": "Point", - "coordinates": [ - -107.7699759, - 38.20125827 - ] - }, - "properties": { - "station name": "Ridgway 3.3 NNW", - "latitude": 38.20125827, - "daily precip": 0.21, - "total precip": 0.21, - "daily snow total": 5.8, - "longitude": -107.7699759, - "station": "\ufffdCO-OR-13", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcp01k7", - "geometry": { - "type": "Point", - "coordinates": [ - -106.0516, - 39.2323 - ] - }, - "properties": { - "station name": "Fairplay 2.7 WNW", - "latitude": 39.2323, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 5.7, - "longitude": -106.0516, - "station": "\ufffdCO-PK-15", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9y7zwf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.494, - 39.0205 - ] - }, - "properties": { - "station name": "Lake George 7.2 WNW", - "latitude": 39.0205, - "daily precip": 0.18, - "total precip": 0.18, - "daily snow total": 3.1, - "longitude": -105.494, - "station": "\ufffdCO-PK-39", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr46tvrl", - "geometry": { - "type": "Point", - "coordinates": [ - -105.5239, - 39.4905 - ] - }, - "properties": { - "station name": "Bailey 6.4 NNW", - "latitude": 39.4905, - "daily precip": 0.26, - "total precip": 0.26, - "daily snow total": 3.7, - "longitude": -105.5239, - "station": "\ufffdCO-PK-69", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1loscf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.62, - 39.27 - ] - }, - "properties": { - "station name": "Jefferson 12.1 SE", - "latitude": 39.27, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 6, - "longitude": -105.62, - "station": "\ufffdCO-PK-89", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzcgdzy", - "geometry": { - "type": "Point", - "coordinates": [ - -105.775031, - 38.846819 - ] - }, - "properties": { - "station name": "Hartsel 12.0 S", - "latitude": 38.846819, - "daily precip": 0.19, - "total precip": 0.19, - "daily snow total": 2.1, - "longitude": -105.775031, - "station": "\ufffdCO-PK-90", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzi8ypv", - "geometry": { - "type": "Point", - "coordinates": [ - -102.3, - 40.5784 - ] - }, - "properties": { - "station name": "Holyoke .59 SW", - "latitude": "40.5784", - "daily precip": "0", - "total precip": 0, - "daily snow total": "0", - "longitude": "-102.3-103", - "station": "\ufffdCO-PH-14", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr8vorrh", - "geometry": { - "type": "Point", - "coordinates": [ - -102, - 40.4694 - ] - }, - "properties": { - "station name": "Holyoke 13 SE", - "latitude": "40.4694", - "daily precip": "0.12", - "total precip": 0.12, - "daily snow total": "0", - "longitude": "-102.-10855", - "station": "\ufffdCO-PH-33", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr94n1kg", - "geometry": { - "type": "Point", - "coordinates": [ - -102.3089872, - 40.5824195 - ] - }, - "properties": { - "station name": "Holyoke 0.3 WSW", - "latitude": 40.5824195, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0, - "longitude": -102.3089872, - "station": "\ufffdCO-PH-45", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3wwv56", - "geometry": { - "type": "Point", - "coordinates": [ - -106.86178, - 39.26795 - ] - }, - "properties": { - "station name": "Woody Creek 1.3 SE", - "latitude": 39.26795, - "daily precip": 0.36, - "total precip": 0.36, - "daily snow total": 3.5, - "longitude": -106.86178, - "station": "\ufffdCO-PT-10", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1ft8sj", - "geometry": { - "type": "Point", - "coordinates": [ - -104.919, - 38.233 - ] - }, - "properties": { - "station name": "Pueblo 17 W", - "latitude": 38.233, - "daily precip": 0.04, - "total precip": 0.04, - "daily snow total": 0.7, - "longitude": -104.919, - "station": "\ufffdCO-PU-14", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9pzwcs", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8148, - 38.32 - ] - }, - "properties": { - "station name": "Pueblo West 3.6 WSW", - "latitude": 38.32, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 0.5, - "longitude": -104.8148, - "station": "\ufffdCO-PU-36", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3938tw", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7593, - 38.3357 - ] - }, - "properties": { - "station name": "Pueblo West 2.3 WSW", - "latitude": 38.3357, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -104.7593, - "station": "\ufffdCO-PU-41", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4xcvk3", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8305, - 38.334389 - ] - }, - "properties": { - "station name": "Pueblo West 6.0 W", - "latitude": 38.334389, - "daily precip": 0.01, - "total precip": 0.01, - "daily snow total": 0.4, - "longitude": -104.8305, - "station": "\ufffdCO-PU-55", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1rxywy", - "geometry": { - "type": "Point", - "coordinates": [ - -104.743968, - 38.30417 - ] - }, - "properties": { - "station name": "Pueblo West 3.4 SSW", - "latitude": 38.30417, - "daily precip": 0.03, - "total precip": 0.03, - "daily snow total": 0.6, - "longitude": -104.743968, - "station": "\ufffdCO-PU-65", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc4eyq1", - "geometry": { - "type": "Point", - "coordinates": [ - -104.868515, - 37.913512 - ] - }, - "properties": { - "station name": "Rye 3.5 E", - "latitude": 37.913512, - "daily precip": 0.06, - "total precip": 0.06, - "daily snow total": 1, - "longitude": -104.868515, - "station": "\ufffdCO-PU-77", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7psysu", - "geometry": { - "type": "Point", - "coordinates": [ - -104.6208191, - 38.29944229 - ] - }, - "properties": { - "station name": "Pueblo 0.1 NW", - "latitude": 38.29944229, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0.8, - "longitude": -104.6208191, - "station": "\ufffdCO-PU-82", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4iaqg3", - "geometry": { - "type": "Point", - "coordinates": [ - -104.824623, - 37.90413666 - ] - }, - "properties": { - "station name": "Rye 5.9 ESE", - "latitude": "37.90413666", - "daily precip": "0.06", - "total precip": 0.06, - "daily snow total": "0.8", - "longitude": "-104.824623-10791", - "station": "\ufffdCO-PU-92", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr84imug", - "geometry": { - "type": "Point", - "coordinates": [ - -104.78983, - 38.33388 - ] - }, - "properties": { - "station name": "Pueblo West 3.8 WSW", - "latitude": 38.33388, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 1, - "longitude": -104.78983, - "station": "\ufffdCO-PU-94", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5l6fg8", - "geometry": { - "type": "Point", - "coordinates": [ - -106.1217, - 37.5459 - ] - }, - "properties": { - "station name": "Montevista 2.7 SSE", - "latitude": 37.5459, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.1217, - "station": "\ufffdCO-RG-2", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8pyi7a", - "geometry": { - "type": "Point", - "coordinates": [ - -106.0936, - 37.613 - ] - }, - "properties": { - "station name": "Monte Vista 3.6 NE", - "latitude": 37.613, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.0936, - "station": "\ufffdCO-RG-15", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr44uqux", - "geometry": { - "type": "Point", - "coordinates": [ - -106.291679, - 37.679229 - ] - }, - "properties": { - "station name": "Del Norte 3.3 E", - "latitude": 37.679229, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.291679, - "station": "\ufffdCO-RG-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4gc2ei", - "geometry": { - "type": "Point", - "coordinates": [ - -106.30838, - 37.69068 - ] - }, - "properties": { - "station name": "Del Norte 2.5 ENE", - "latitude": 37.69068, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.30838, - "station": "\ufffdCO-RG-19", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcade6y", - "geometry": { - "type": "Point", - "coordinates": [ - -106.289142, - 37.472049 - ] - }, - "properties": { - "station name": "Monte Vista 10.8 SW", - "latitude": 37.472049, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.289142, - "station": "\ufffdCO-RG-21", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7u1anl", - "geometry": { - "type": "Point", - "coordinates": [ - -106.8139, - 40.4697 - ] - }, - "properties": { - "station name": "Steamboat Springs 1 SE", - "latitude": 40.4697, - "daily precip": 0.29, - "total precip": 0.29, - "daily snow total": 2.8, - "longitude": -106.8139, - "station": "\ufffdCO-RT-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8kx9sg", - "geometry": { - "type": "Point", - "coordinates": [ - -106.852715, - 40.264038 - ] - }, - "properties": { - "station name": "Oak Creek 5.5 E", - "latitude": 40.264038, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 0.6, - "longitude": -106.852715, - "station": "\ufffdCO-RT-33", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7nxfuj", - "geometry": { - "type": "Point", - "coordinates": [ - -106.8997995, - 40.3986532 - ] - }, - "properties": { - "station name": "Steamboat Springs 6.9 SW", - "latitude": 40.3986532, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 0, - "longitude": -106.8997995, - "station": "\ufffdCO-RT-34", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrb9szo9", - "geometry": { - "type": "Point", - "coordinates": [ - -106.8238496, - 40.49043216 - ] - }, - "properties": { - "station name": "Steamboat Springs 0.9 N", - "latitude": 40.49043216, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 0, - "longitude": -106.8238496, - "station": "\ufffdCO-RT-42", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3ju6ha", - "geometry": { - "type": "Point", - "coordinates": [ - -106.7853, - 40.4744 - ] - }, - "properties": { - "station name": "Steamboat Springs 1.9 E", - "latitude": 40.4744, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 2.4, - "longitude": -106.7853, - "station": "\ufffdCO-RT-43", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5yygyt", - "geometry": { - "type": "Point", - "coordinates": [ - -106.9878439, - 40.28001957 - ] - }, - "properties": { - "station name": "Oak Creek 1.7 WNW", - "latitude": 40.28001957, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 1, - "longitude": -106.9878439, - "station": "\ufffdCO-RT-44", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzgwlk6", - "geometry": { - "type": "Point", - "coordinates": [ - -106.9592636, - 40.52191526 - ] - }, - "properties": { - "station name": "Steamboat Springs 7.9 WNW", - "latitude": 40.52191526, - "daily precip": 0.28, - "total precip": 0.28, - "daily snow total": 0.4, - "longitude": -106.9592636, - "station": "\ufffdCO-RT-48", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1ymamk", - "geometry": { - "type": "Point", - "coordinates": [ - -106.3409, - 37.7922 - ] - }, - "properties": { - "station name": "La Garita 5.6 WSW", - "latitude": 37.7922, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.3409, - "station": "\ufffdCO-SA-11", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmreu3q7d", - "geometry": { - "type": "Point", - "coordinates": [ - -106.4157, - 38.4026 - ] - }, - "properties": { - "station name": "Sargents 0.3 NE", - "latitude": 38.4026, - "daily precip": 0.17, - "total precip": 0.17, - "daily snow total": 1.3, - "longitude": -106.4157, - "station": "\ufffdCO-SA-35", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrb8i2ij", - "geometry": { - "type": "Point", - "coordinates": [ - -106.1, - 38.236111 - ] - }, - "properties": { - "station name": "Villa Grove 8.2 W", - "latitude": 38.236111, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.1, - "station": "\ufffdCO-SA-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1qqhbt", - "geometry": { - "type": "Point", - "coordinates": [ - -108.316479, - 38.130802 - ] - }, - "properties": { - "station name": "Norwood 1.4 W", - "latitude": 38.130802, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 1.2, - "longitude": -108.316479, - "station": "\ufffdCO-SM-7", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyoztwz", - "geometry": { - "type": "Point", - "coordinates": [ - -106.1018, - 39.6239 - ] - }, - "properties": { - "station name": "Silverthorne 2.1 WSW", - "latitude": 39.6239, - "daily precip": 0.95, - "total precip": 0.95, - "daily snow total": 9.7, - "longitude": -106.1018, - "station": "\ufffdCO-SU-6", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyy8h72", - "geometry": { - "type": "Point", - "coordinates": [ - -106.137, - 39.722 - ] - }, - "properties": { - "station name": "Silverthorne 7.4 NW", - "latitude": 39.722, - "daily precip": 0.59, - "total precip": 0.59, - "daily snow total": 8.7, - "longitude": -106.137, - "station": "\ufffdCO-SU-8", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr512e1d", - "geometry": { - "type": "Point", - "coordinates": [ - -106.0071, - 39.597 - ] - }, - "properties": { - "station name": "Dillon 2.3 SE", - "latitude": 39.597, - "daily precip": 0.58, - "total precip": 0.58, - "daily snow total": 7.5, - "longitude": -106.0071, - "station": "\ufffdCO-SU-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdcwfbi", - "geometry": { - "type": "Point", - "coordinates": [ - -106.305, - 39.9024 - ] - }, - "properties": { - "station name": "Silverthorne 21 NW", - "latitude": 39.9024, - "daily precip": 0.65, - "total precip": 0.65, - "daily snow total": 7.3, - "longitude": -106.305, - "station": "\ufffdCO-SU-35", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzjl05i", - "geometry": { - "type": "Point", - "coordinates": [ - -106, - 39.4688 - ] - }, - "properties": { - "station name": "Breckenridge 3.3 SE", - "latitude": "39.4688", - "daily precip": "0.52", - "total precip": 0.52, - "daily snow total": "7.6", - "longitude": "-106.0-109", - "station": "\ufffdCO-SU-40", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr2fp64q", - "geometry": { - "type": "Point", - "coordinates": [ - -105.9773, - 39.6011 - ] - }, - "properties": { - "station name": "Keystone 0.7 SW", - "latitude": 39.6011, - "daily precip": 0.74, - "total precip": 0.74, - "daily snow total": 7.2, - "longitude": -105.9773, - "station": "\ufffdCO-SU-52", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr847n9n", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0482833, - 38.9939166 - ] - }, - "properties": { - "station name": "Woodland Park 0.2 ESE", - "latitude": 38.9939166, - "daily precip": 0.13, - "total precip": 0.13, - "daily snow total": 2.5, - "longitude": -105.0482833, - "station": "\ufffdCO-TL-14", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzen4uf", - "geometry": { - "type": "Point", - "coordinates": [ - -103.1851, - 40.1766 - ] - }, - "properties": { - "station name": "Akron 1.9NE", - "latitude": 40.1766, - "daily precip": 0.3, - "total precip": 0.3, - "daily snow total": 3.5, - "longitude": -103.1851, - "station": "\ufffdCO-WA-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc2yx82", - "geometry": { - "type": "Point", - "coordinates": [ - -103.4989, - 39.755 - ] - }, - "properties": { - "station name": "Woodrow 16.8 SSE", - "latitude": 39.755, - "daily precip": 0.41, - "total precip": 0.41, - "daily snow total": 3, - "longitude": -103.4989, - "station": "\ufffdCO-WA-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1pv40q", - "geometry": { - "type": "Point", - "coordinates": [ - -103.149094, - 39.685498 - ] - }, - "properties": { - "station name": "Anton 5.8 SE", - "latitude": 39.685498, - "daily precip": 0.58, - "total precip": 0.58, - "daily snow total": 7.8, - "longitude": -103.149094, - "station": "\ufffdCO-WA-67", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyqpsbo", - "geometry": { - "type": "Point", - "coordinates": [ - -104.5823, - 40.4282 - ] - }, - "properties": { - "station name": "Greeley 6.6 E", - "latitude": 40.4282, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 4, - "longitude": -104.5823, - "station": "\ufffdCO-WE-42", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0btnde", - "geometry": { - "type": "Point", - "coordinates": [ - -104.6394, - 40.2917 - ] - }, - "properties": { - "station name": "Greeley 10.5 SSE", - "latitude": 40.2917, - "daily precip": 0.22, - "total precip": 0.22, - "daily snow total": 2.2, - "longitude": -104.6394, - "station": "\ufffdCO-WE-43", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr87725n", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7256, - 40.4297 - ] - }, - "properties": { - "station name": "Greeley 1.1 ENE", - "latitude": 40.4297, - "daily precip": 0.49, - "total precip": 0.49, - "daily snow total": 4.7, - "longitude": -104.7256, - "station": "\ufffdCO-WE-66", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr24cnjl", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7744, - 40.5052 - ] - }, - "properties": { - "station name": "Eaton 3.6 WSW", - "latitude": 40.5052, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 4, - "longitude": -104.7744, - "station": "\ufffdCO-WE-124", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4xok55", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8781, - 40.8877 - ] - }, - "properties": { - "station name": "Carr 0.6 S", - "latitude": 40.8877, - "daily precip": 0.09, - "total precip": 0.09, - "daily snow total": 0.5, - "longitude": -104.8781, - "station": "\ufffdCO-WE-127", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmreritrv", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7695, - 40.3942 - ] - }, - "properties": { - "station name": "Greeley 3.8 W", - "latitude": 40.3942, - "daily precip": 0.45, - "total precip": 0.45, - "daily snow total": 4.2, - "longitude": -104.7695, - "station": "\ufffdCO-WE-176", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7vntbs", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9274, - 40.5903 - ] - }, - "properties": { - "station name": "Black Hollow Reservoir 3.0 WSW", - "latitude": 40.5903, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 4, - "longitude": -104.9274, - "station": "\ufffdCO-WE-254", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzs6n9u", - "geometry": { - "type": "Point", - "coordinates": [ - -104.564652, - 40.503823 - ] - }, - "properties": { - "station name": "Galeton 1.4 SE", - "latitude": 40.503823, - "daily precip": 0.35, - "total precip": 0.35, - "daily snow total": 2, - "longitude": -104.564652, - "station": "\ufffdCO-WE-296", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbmm5ab", - "geometry": { - "type": "Point", - "coordinates": [ - -105.015225, - 40.172889 - ] - }, - "properties": { - "station name": "Longmont 5.1 E", - "latitude": 40.172889, - "daily precip": 0.56, - "total precip": 0.56, - "daily snow total": 5.3, - "longitude": -105.015225, - "station": "\ufffdCO-WE-302", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3kictv", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8564289, - 40.51518976 - ] - }, - "properties": { - "station name": "Severance 0.6 SW", - "latitude": 40.51518976, - "daily precip": 0.3, - "total precip": 0.3, - "daily snow total": 3.2, - "longitude": -104.8564289, - "station": "\ufffdCO-WE-324", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8tgmg7", - "geometry": { - "type": "Point", - "coordinates": [ - -104.759537, - 40.710576 - ] - }, - "properties": { - "station name": "Nunn 1.2 ENE", - "latitude": 40.710576, - "daily precip": 0.13, - "total precip": 0.13, - "daily snow total": 2, - "longitude": -104.759537, - "station": "\ufffdCO-WE-345", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr43ixk6", - "geometry": { - "type": "Point", - "coordinates": [ - -104.910556, - 40.473889 - ] - }, - "properties": { - "station name": "Windsor 0.8 SSW", - "latitude": 40.473889, - "daily precip": 0.31, - "total precip": 0.31, - "daily snow total": 3, - "longitude": -104.910556, - "station": "\ufffdCO-WE-350", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmraiz209", - "geometry": { - "type": "Point", - "coordinates": [ - -105.044091, - 40.063781 - ] - }, - "properties": { - "station name": "Erie 2.4 N", - "latitude": 40.063781, - "daily precip": 0.14, - "total precip": 0.14, - "daily snow total": 2.7, - "longitude": -105.044091, - "station": "\ufffdCO-WE-393", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9gcpud", - "geometry": { - "type": "Point", - "coordinates": [ - -103.959, - 40.6124 - ] - }, - "properties": { - "station name": "New Raymer 9.4 W", - "latitude": 40.6124, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 0, - "longitude": -103.959, - "station": "\ufffdCO-WE-394", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8era4g", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7057266, - 40.5434761 - ] - }, - "properties": { - "station name": "Eaton 1.3 N", - "latitude": 40.5434761, - "daily precip": 0.3, - "total precip": 0.3, - "daily snow total": 3.1, - "longitude": 104.7057266, - "station": "\ufffdCO-WE-396", - "multi-day precip": null, - "num of reports": 1 - } - } - ] -} diff --git a/packages/featureserver/test/integration/fixtures/provider-statistics.json b/packages/featureserver/test/integration/fixtures/provider-statistics.json deleted file mode 100644 index 5112a1fcf..000000000 --- a/packages/featureserver/test/integration/fixtures/provider-statistics.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "FeatureCollection", - "metadata": { - "name": "GDeltGKG" - }, - "filtersApplied": { - "geometry": true, - "where": true - }, - "statistics": [ - { - "min_2": 0, - "max_2": 57611, - "count_2": 75343 - } - ] -} diff --git a/packages/featureserver/test/integration/fixtures/relatedData.json b/packages/featureserver/test/integration/fixtures/relatedData.json deleted file mode 100644 index e518b8ee6..000000000 --- a/packages/featureserver/test/integration/fixtures/relatedData.json +++ /dev/null @@ -1,292 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [{ - "type": "FeatureCollection", - "features": [{ - "type": "Feature", - "properties": { - "abv": "4.5", - "add_user": 0, - "brewery_id": 863, - "cat_id": 8, - "descript": "Milwaukee's Best Light is Miller Brewing Company's lead low-calorie brand in the near-premium segment. Brewed to uncompromising standards using select pale malt, cereal grains and yeast, this is a smooth, highly drinkable beer at an affordable price. Available nationwide, Miller first rolled out Milwaukee's Best Light in 1986 with an ambition to become the beer choice for guys. Our marketing, including sponsorship with the World Series of Poker and award-winning TV spots, takes a humorous approach to reinforce the idea that \"Men should act like men and light beer should taste like beer.\"", - "filepath": "", - "globalid": "jjY7BWSMSTS9keZaEfEdAw==", - "ibu": "0.0", - "id": 3780, - "last_mod": "2010-07-22T18:00:00.000Z", - "name": "Milwaukee's Best Light", - "OBJECTID": 265183, - "srm": "0.0", - "style_id": 96, - "upc": "0" - }, - "geometry": null - }, { - "type": "Feature", - "properties": { - "abv": "5.0", - "add_user": 0, - "brewery_id": 863, - "cat_id": 8, - "descript": "", - "filepath": "", - "globalid": "McP0HCLQSqC+2Cqxyaj46Q==", - "ibu": "0.0", - "id": 4539, - "last_mod": "2010-07-22T18:00:00.000Z", - "name": "Red Dog", - "OBJECTID": 266609, - "srm": "0.0", - "style_id": 96, - "upc": "0" - }, - "geometry": null - }, { - "type": "Feature", - "properties": { - "abv": "4.099999904632568", - "add_user": 0, - "brewery_id": 863, - "cat_id": 8, - "descript": "Launched in 2007, Miller Chill is the only light beer brewed with a hint of lime and a pinch of salt to provide a truly refreshing beer experience. Through all of our marketing efforts, beer drinkers will see that Miller Chill is a celebration and fusion of the best of two cultures, great light beer from America and the chelada style from Mexico. It's the new alternative in mainstream low-cal beers ... one that provides a crisper, smoother, more refreshing beer experience.", - "filepath": "", - "globalid": "XDW0iSK0Rm2PlzS04SIKFA==", - "ibu": "0.0", - "id": 3777, - "last_mod": "2010-07-22T18:00:00.000Z", - "name": "Miller Chill", - "OBJECTID": 268794, - "srm": "0.0", - "style_id": 96, - "upc": "0" - }, - "geometry": null - }, { - "type": "Feature", - "properties": { - "abv": "5.800000190734863", - "add_user": 0, - "brewery_id": 863, - "cat_id": 8, - "descript": "", - "filepath": "", - "globalid": "ykMMcsUxTWyv4kYgpUMEVQ==", - "ibu": "0.0", - "id": 4540, - "last_mod": "2010-07-22T18:00:00.000Z", - "name": "Mickey's Ice", - "OBJECTID": 269106, - "srm": "0.0", - "style_id": 96, - "upc": "0" - }, - "geometry": null - }, { - "type": "Feature", - "properties": { - "abv": "5.5", - "add_user": 0, - "brewery_id": 863, - "cat_id": 8, - "descript": "America's first domestic ice beer, Icehouse is traditionally brewed, fermented and, just before aging, its temperature is lowered to below freezing. This process imparts the beer's smoothness and an alcohol content that's slightly higher (5.5% by volume) than other regular premium beer brands. Icehouse was introduced in 1993 and has reinforced its position as the ultimate beer for wind-up and pre-game occasions. Blending humor and high-energy excitement, Icehouse marketing encourages its target consumers to take occasions to the next level with a great-tasting beer.", - "filepath": "", - "globalid": "PcC17W88TMq1bHzuOzmf6A==", - "ibu": "0.0", - "id": 3781, - "last_mod": "2010-07-22T18:00:00.000Z", - "name": "Icehouse", - "OBJECTID": 269906, - "srm": "0.0", - "style_id": 96, - "upc": "0" - }, - "geometry": null - }, { - "type": "Feature", - "properties": { - "abv": "5.0", - "add_user": 0, - "brewery_id": 863, - "cat_id": 8, - "descript": "Miller High Life, the \"champagne of beers,\" dates back to 1903. Miller High Life is a classic American-style lager recognized for its consistently crisp, smooth taste and classic clear-glass bottle. Miller High Life embraces its rich heritage and is positioned as common sense in a bottle. Its drinkers know Miller High Life is an authentic, unpretentious beer. As the best beer value in America, we encourage our target consumers to \"Celebrate the High Life.\"", - "filepath": "", - "globalid": "L0f6P2SAQLeuLZyjnRqInw==", - "ibu": "0.0", - "id": 3778, - "last_mod": "2010-07-22T18:00:00.000Z", - "name": "Miller High Life", - "OBJECTID": 271291, - "srm": "0.0", - "style_id": 96, - "upc": "0" - }, - "geometry": null - }, { - "type": "Feature", - "properties": { - "abv": "4.659999847412109", - "add_user": 0, - "brewery_id": 863, - "cat_id": 8, - "descript": "Miller Genuine Draft debuted in 1985 with fresh, smooth flavor that's a result of being cold-filtered four times. As we capitalize on the growing trend towards \"mainstream sophistication,\" MGD is positioned as the only beer refined to ideal smoothness for those who pursue their passion with integrity and conviction. For our target consumer, MGD is a brand that celebrates their experiences ... past, present, and future. Because, ultimately, in beer as in life, \"Experience is Golden.\"", - "filepath": "", - "globalid": "HzhhcZwKTJ+5qI7vazXKdA==", - "ibu": "0.0", - "id": 3779, - "last_mod": "2010-07-22T18:00:00.000Z", - "name": "Miller Genuine Draft", - "OBJECTID": 273788, - "srm": "0.0", - "style_id": 96, - "upc": "0" - }, - "geometry": null - }, { - "type": "Feature", - "properties": { - "abv": "4.5", - "add_user": 0, - "brewery_id": 863, - "cat_id": 8, - "descript": "", - "filepath": "", - "globalid": "PHIrLzmEQYeNGoBZjm2j+g==", - "ibu": "0.0", - "id": 3782, - "last_mod": "2010-07-22T18:00:00.000Z", - "name": "Milwaukees Best", - "OBJECTID": 274619, - "srm": "0.0", - "style_id": 96, - "upc": "0" - }, - "geometry": null - }, { - "type": "Feature", - "properties": { - "abv": "2.799999952316284", - "add_user": 0, - "brewery_id": 863, - "cat_id": 8, - "descript": "", - "filepath": "", - "globalid": "zBfWsCQFRd+ebE9HV/h39A==", - "ibu": "0.0", - "id": 5566, - "last_mod": "2010-07-22T18:00:00.000Z", - "name": "Miller Genuine Draft 64", - "OBJECTID": 274984, - "srm": "0.0", - "style_id": 96, - "upc": "0" - }, - "geometry": null - }, { - "type": "Feature", - "properties": { - "abv": "0.0", - "add_user": 0, - "brewery_id": 863, - "cat_id": -1, - "descript": "", - "filepath": "", - "globalid": "DgTK7Y8KRC+PWdBSfMDZBg==", - "ibu": "0.0", - "id": 4542, - "last_mod": "2010-07-22T18:00:00.000Z", - "name": "Olde English 800", - "OBJECTID": 280757, - "srm": "0.0", - "style_id": -1, - "upc": "0" - }, - "geometry": null - }, { - "type": "Feature", - "properties": { - "abv": "4.199999809265137", - "add_user": 0, - "brewery_id": 863, - "cat_id": 8, - "descript": "Our flagship brand, Miller Lite, is the great tasting, less filling beer that defined the American light beer category in 1975. We deliver a clear, simple message to consumers: \"Miller Lite is the better beer choice.\" What's our proof? \n1) Miller Lite is the original light beer. \n2) Miller Lite has real beer taste because it's never watered down. \n3) Miller Lite is the only beer to win four gold awards in the World Beer Cup for best American-style light lager. (2006, 2002, 1998, 1996) \n4) Miller Lite has half the carbs of Bud Light and fewer calories*. \"Miller Lite. Good Call.\"", - "filepath": "", - "globalid": "bHWH95UrTeK9msGRR72kcQ==", - "ibu": "0.0", - "id": 3811, - "last_mod": "2010-07-22T18:00:00.000Z", - "name": "Miller Lite", - "OBJECTID": 282664, - "srm": "0.0", - "style_id": 96, - "upc": "0" - }, - "geometry": null - } - ], - "properties": { - "objectid": 261193 - } - } - ], - "metadata": { - "idField": "OBJECTID", - "fields": [{ - "name": "OBJECTID", - "alias": "objectid", - "type": "OID" - }, { - "name": "upc", - "type": "String" - }, { - "name": "filepath", - "type": "String" - }, { - "name": "descript", - "type": "String" - }, { - "name": "brewery_id", - "type": "Integer" - }, { - "name": "ibu", - "type": "String" - }, { - "name": "abv", - "type": "String" - }, { - "name": "cat_id", - "type": "SmallInteger" - }, { - "name": "NewProperty", - "alias": "NewProperty", - "type": "Integer" - }, { - "name": "globalid", - "alias": "globalid", - "type": "GlobalID" - }, { - "name": "style_id", - "type": "Integer" - }, { - "name": "srm", - "type": "String" - }, { - "name": "id", - "type": "Integer" - }, { - "name": "add_user", - "type": "SmallInteger" - }, { - "name": "name", - "type": "String" - }, { - "name": "last_mod", - "type": "String" - } - ] - }, - "filtersApplied": { - "where": true, - "geometry": true - } -} diff --git a/packages/featureserver/test/integration/fixtures/relatedDataCountProperty.json b/packages/featureserver/test/integration/fixtures/relatedDataCountProperty.json deleted file mode 100644 index 58ff23b43..000000000 --- a/packages/featureserver/test/integration/fixtures/relatedDataCountProperty.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [{ - "type": "FeatureCollection", - "features": [ - ], - "properties": { - "objectid": 261193, - "count": 11 - } - } - ], - "metadata": { - "idField": "OBJECTID", - "fields": [{ - "name": "OBJECTID", - "alias": "objectid", - "type": "OID" - }, { - "name": "upc", - "type": "String" - }, { - "name": "filepath", - "type": "String" - }, { - "name": "descript", - "type": "String" - }, { - "name": "brewery_id", - "type": "Integer" - }, { - "name": "ibu", - "type": "String" - }, { - "name": "abv", - "type": "String" - }, { - "name": "cat_id", - "type": "SmallInteger" - }, { - "name": "NewProperty", - "alias": "NewProperty", - "type": "Integer" - }, { - "name": "globalid", - "alias": "globalid", - "type": "GlobalID" - }, { - "name": "style_id", - "type": "Integer" - }, { - "name": "srm", - "type": "String" - }, { - "name": "id", - "type": "Integer" - }, { - "name": "add_user", - "type": "SmallInteger" - }, { - "name": "name", - "type": "String" - }, { - "name": "last_mod", - "type": "String" - } - ] - }, - "filtersApplied": { - "where": true, - "geometry": true - } -} diff --git a/packages/featureserver/test/integration/fixtures/snow-text-objectid.json b/packages/featureserver/test/integration/fixtures/snow-text-objectid.json deleted file mode 100644 index 395ec8dba..000000000 --- a/packages/featureserver/test/integration/fixtures/snow-text-objectid.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "type": "FeatureCollection", - "metadata": { - "name": "Snow", - "description": "MyTestDesc" - }, - "features": [ - { - "type": "Feature", - "id": "adtdmr052uaw", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9476, - 39.9448 - ] - }, - "properties": { - "OBJECTID": "adtdmr052uaw", - "station name": "Northglenn 4.6 NNE", - "latitude": 39.9448, - "daily precip": 0.31, - "total precip": 0.31, - "daily snow total": 4.9, - "longitude": -104.9476, - "station": "\ufffdCO-AD-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcvhg8l", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8424, - 39.9137 - ] - }, - "properties": { - "OBJECTID": "adtdmrcvhg8l", - "station name": "Thornton 7.5 ENE", - "latitude": 39.9137, - "daily precip": 0, - "total precip": 0, - "daily snow total": 3, - "longitude": -104.8424, - "station": "\ufffdCO-AD-75", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4es2lv", - "geometry": { - "type": "Point", - "coordinates": [ - -104.991153, - 39.898467 - ] - }, - "properties": { - "OBJECTID": "adtdmr4es2lv", - "station name": "Northglenn 0.9 SW", - "latitude": 39.898467, - "daily precip": 0.61, - "total precip": 0.61, - "daily snow total": 5.5, - "longitude": -104.991153, - "station": "\ufffdCO-AD-98", - "multi-day precip": null, - "num of reports": 1 - } - } - ] -} diff --git a/packages/featureserver/test/integration/fixtures/snow.json b/packages/featureserver/test/integration/fixtures/snow.json deleted file mode 100644 index 00f054868..000000000 --- a/packages/featureserver/test/integration/fixtures/snow.json +++ /dev/null @@ -1,9183 +0,0 @@ -{ - "type": "FeatureCollection", - "metadata": { - "name": "Snow", - "description": "MyTestDesc" - }, - "features": [ - { - "type": "Feature", - "id": "adtdmr052uaw", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9476, - 39.9448 - ] - }, - "properties": { - "station name": "Northglenn 4.6 NNE", - "latitude": 39.9448, - "daily precip": 0.31, - "total precip": 0.31, - "daily snow total": 4.9, - "longitude": -104.9476, - "station": "\ufffdCO-AD-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcvhg8l", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8424, - 39.9137 - ] - }, - "properties": { - "station name": "Thornton 7.5 ENE", - "latitude": 39.9137, - "daily precip": 0, - "total precip": 0, - "daily snow total": 3, - "longitude": -104.8424, - "station": "\ufffdCO-AD-75", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4es2lv", - "geometry": { - "type": "Point", - "coordinates": [ - -104.991153, - 39.898467 - ] - }, - "properties": { - "station name": "Northglenn 0.9 SW", - "latitude": 39.898467, - "daily precip": 0.61, - "total precip": 0.61, - "daily snow total": 5.5, - "longitude": -104.991153, - "station": "\ufffdCO-AD-98", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre0e54q", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9553999, - 39.92227505 - ] - }, - "properties": { - "station name": "Thornton 2.1 N", - "latitude": 39.92227505, - "daily precip": 0.49, - "total precip": 0.49, - "daily snow total": 4.1, - "longitude": -104.9553999, - "station": "\ufffdCO-AD-100", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmreebnu8", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9246, - 39.8786 - ] - }, - "properties": { - "station name": "Thornton 1.9 ESE", - "latitude": 39.8786, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 3, - "longitude": -104.9246, - "station": "\ufffdCO-AD-119", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3tllwa", - "geometry": { - "type": "Point", - "coordinates": [ - -104.868338, - 39.971369 - ] - }, - "properties": { - "station name": "Brighton 4.0 WNW", - "latitude": 39.971369, - "daily precip": 0.48, - "total precip": 0.48, - "daily snow total": 3, - "longitude": -104.868338, - "station": "\ufffdCO-AD-123", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmra1haa1", - "geometry": { - "type": "Point", - "coordinates": [ - -104.85429, - 39.75166 - ] - }, - "properties": { - "station name": "Aurora 4.2 NNW", - "latitude": 39.75166, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 6, - "longitude": -104.85429, - "station": "\ufffdCO-AD-127", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr04feur", - "geometry": { - "type": "Point", - "coordinates": [ - -104.497224, - 39.782008 - ] - }, - "properties": { - "station name": "Bennett 4.3 WNW", - "latitude": 39.782008, - "daily precip": 0.46, - "total precip": 0.46, - "daily snow total": 0, - "longitude": -104.497224, - "station": "\ufffdCO-AD-145", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdkep6y", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0275574, - 39.89636993 - ] - }, - "properties": { - "station name": "Westminster 1.6 NE", - "latitude": 39.89636993, - "daily precip": 0.35, - "total precip": 0.35, - "daily snow total": 3.5, - "longitude": -105.0275574, - "station": "\ufffdCO-AD-153", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr08v6lf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.026047, - 39.869518 - ] - }, - "properties": { - "station name": "Westminster 1.6 ESE", - "latitude": 39.869518, - "daily precip": 0.33, - "total precip": 0.33, - "daily snow total": 4, - "longitude": -105.026047, - "station": "\ufffdCO-AD-162", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8z5eb6", - "geometry": { - "type": "Point", - "coordinates": [ - -105.015569, - 39.884561 - ] - }, - "properties": { - "station name": "Federal Heights 1.3 N", - "latitude": 39.884561, - "daily precip": 0.53, - "total precip": 0.53, - "daily snow total": 4.1, - "longitude": -105.015569, - "station": "\ufffdCO-AD-166", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2x0g2k", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8207855, - 39.7559967 - ] - }, - "properties": { - "station name": "Aurora 4.0 N", - "latitude": 39.7559967, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 0, - "longitude": -104.8207855, - "station": "\ufffdCO-AD-169", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3wh085", - "geometry": { - "type": "Point", - "coordinates": [ - -104.861938, - 39.752254 - ] - }, - "properties": { - "station name": "Aurora 4.5 NW", - "latitude": 39.752254, - "daily precip": 0.62, - "total precip": 0.62, - "daily snow total": 5.5, - "longitude": -104.861938, - "station": "\ufffdCO-AD-170", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4kophb", - "geometry": { - "type": "Point", - "coordinates": [ - -105.57938, - 37.65175 - ] - }, - "properties": { - "station name": "Great Sand Dunes 7.0 SSW", - "latitude": 37.65175, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -105.57938, - "station": "\ufffdCO-AM-10", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmra352zf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.965509, - 37.5363 - ] - }, - "properties": { - "station name": "Alamosa 6.9 NW", - "latitude": 37.5363, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -105.965509, - "station": "\ufffdCO-AM-11", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqydr36n", - "geometry": { - "type": "Point", - "coordinates": [ - -105.884841, - 37.43967 - ] - }, - "properties": { - "station name": "Alamosa 2.1 SSW", - "latitude": 37.43967, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -105.884841, - "station": "\ufffdCO-AM-23", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrel7mwc", - "geometry": { - "type": "Point", - "coordinates": [ - -104.71, - 39.5689 - ] - }, - "properties": { - "station name": "Buckley AFB 10 SSE", - "latitude": 39.5689, - "daily precip": 0.67, - "total precip": 0.67, - "daily snow total": 6.2, - "longitude": -104.71, - "station": "\ufffdCO-AR-68", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0nbi04", - "geometry": { - "type": "Point", - "coordinates": [ - -104.822, - 39.6693 - ] - }, - "properties": { - "station name": "Aurora 4.1 S", - "latitude": 39.6693, - "daily precip": 0.48, - "total precip": 0.48, - "daily snow total": 5, - "longitude": -104.822, - "station": "\ufffdCO-AR-99", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0lyh2s", - "geometry": { - "type": "Point", - "coordinates": [ - -104.858277, - 39.678302 - ] - }, - "properties": { - "station name": "Aurora 2.8 WSW", - "latitude": 39.678302, - "daily precip": 0.21, - "total precip": 0.21, - "daily snow total": 4, - "longitude": -104.858277, - "station": "\ufffdCO-AR-186", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9vrrko", - "geometry": { - "type": "Point", - "coordinates": [ - -104.56, - 39.696 - ] - }, - "properties": { - "station name": "Watkins 4.3 SSE", - "latitude": 39.696, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 4.5, - "longitude": -104.56, - "station": "\ufffdCO-AR-199", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4j89tx", - "geometry": { - "type": "Point", - "coordinates": [ - -104.974644, - 39.575341 - ] - }, - "properties": { - "station name": "Centennial 2.0 SW", - "latitude": 39.575341, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 4, - "longitude": -104.974644, - "station": "\ufffdCO-AR-214", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7ggjwu", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9611282, - 39.63349152 - ] - }, - "properties": { - "station name": "Englewood 2.0 ESE", - "latitude": 39.63349152, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 0, - "longitude": -104.9611282, - "station": "\ufffdCO-AR-239", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4texv3", - "geometry": { - "type": "Point", - "coordinates": [ - -104.98218, - 39.60897 - ] - }, - "properties": { - "station name": "Littleton 2.0 ENE", - "latitude": 39.60897, - "daily precip": 0.39, - "total precip": 0.39, - "daily snow total": 4, - "longitude": -104.98218, - "station": "\ufffdCO-AR-240", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd4yogj", - "geometry": { - "type": "Point", - "coordinates": [ - -104.76416, - 39.61592 - ] - }, - "properties": { - "station name": "Centennial 5.7 ENE", - "latitude": 39.61592, - "daily precip": 0.29, - "total precip": 0.29, - "daily snow total": 4, - "longitude": -104.76416, - "station": "\ufffdCO-AR-255", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr48u3by", - "geometry": { - "type": "Point", - "coordinates": [ - -104.775765, - 39.649045 - ] - }, - "properties": { - "station name": "Aurora 4.0 SSE", - "latitude": 39.649045, - "daily precip": 0.36, - "total precip": 0.36, - "daily snow total": 4, - "longitude": -104.775765, - "station": "\ufffdCO-AR-259", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2wna9g", - "geometry": { - "type": "Point", - "coordinates": [ - -104.768497, - 39.64171 - ] - }, - "properties": { - "station name": "Aurora 4.6 SSE", - "latitude": 39.64171, - "daily precip": 0.31, - "total precip": 0.31, - "daily snow total": 3.4, - "longitude": -104.768497, - "station": "\ufffdCO-AR-260", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8cc52s", - "geometry": { - "type": "Point", - "coordinates": [ - -107.0938492, - 37.2804718 - ] - }, - "properties": { - "station name": "Pagosa Springs 4.2 W", - "latitude": 37.2804718, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.0938492, - "station": "\ufffdCO-AU-19", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc1by8d", - "geometry": { - "type": "Point", - "coordinates": [ - -102.6, - 37.401538 - ] - }, - "properties": { - "station name": "Springfield 0.5 SE", - "latitude": "37.401538", - "daily precip": "0", - "total precip": 0, - "daily snow total": "0", - "longitude": "-102.6-10936", - "station": "\ufffdCO-BA-12", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr3gy6zc", - "geometry": { - "type": "Point", - "coordinates": [ - -103, - 38.1409 - ] - }, - "properties": { - "station name": "Las Animas 8.1 NE", - "latitude": "38.1409", - "daily precip": "0.03", - "total precip": 0.03, - "daily snow total": "0", - "longitude": "-103.-1058", - "station": "\ufffdCO-BN-7", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr2wlfvk", - "geometry": { - "type": "Point", - "coordinates": [ - -103.2331, - 38.0685 - ] - }, - "properties": { - "station name": "Las Animas .57 WNW", - "latitude": 38.0685, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0, - "longitude": -103.2331, - "station": "\ufffdCO-BN-12", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr86wc41", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0845, - 39.935 - ] - }, - "properties": { - "station name": "Broomfield 1.2 NE", - "latitude": 39.935, - "daily precip": 0.64, - "total precip": 0.64, - "daily snow total": 5, - "longitude": -105.0845, - "station": "\ufffdCO-BO-2", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdmer94", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2573, - 39.9941 - ] - }, - "properties": { - "station name": "Boulder 2.9 S", - "latitude": 39.9941, - "daily precip": 1.07, - "total precip": 1.07, - "daily snow total": 10.2, - "longitude": -105.2573, - "station": "\ufffdCO-BO-4", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1c1zig", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 39.9925 - ] - }, - "properties": { - "station name": "Lafayette 0.4 WSW", - "latitude": "39.9925", - "daily precip": "0.58", - "total precip": 0.58, - "daily snow total": "6.7", - "longitude": "-105.-1057", - "station": "\ufffdCO-BO-8", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr3yvs65", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2883, - 40.0311 - ] - }, - "properties": { - "station name": "Boulder 1.4 NNW", - "latitude": 40.0311, - "daily precip": 1.08, - "total precip": 1.08, - "daily snow total": 0, - "longitude": -105.2883, - "station": "\ufffdCO-BO-9", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2iw0uc", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2647, - 39.9922 - ] - }, - "properties": { - "station name": "Boulder 1.6 S", - "latitude": 39.9922, - "daily precip": 1.08, - "total precip": 1.08, - "daily snow total": 10.2, - "longitude": -105.2647, - "station": "\ufffdCO-BO-14", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzfotrs", - "geometry": { - "type": "Point", - "coordinates": [ - -105.152, - 39.9742 - ] - }, - "properties": { - "station name": "Boulder 6.8 SE", - "latitude": 39.9742, - "daily precip": 0.66, - "total precip": 0.66, - "daily snow total": 7, - "longitude": -105.152, - "station": "\ufffdCO-BO-41", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr09b7cl", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2505, - 39.9707 - ] - }, - "properties": { - "station name": "Boulder 3.5 S", - "latitude": 39.9707, - "daily precip": 0.99, - "total precip": 0.99, - "daily snow total": 8.3, - "longitude": -105.2505, - "station": "\ufffdCO-BO-42", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0lzhmd", - "geometry": { - "type": "Point", - "coordinates": [ - -105.179377, - 39.999614 - ] - }, - "properties": { - "station name": "Boulder 4.7 E", - "latitude": 39.999614, - "daily precip": 0, - "total precip": 0, - "daily snow total": 7.9, - "longitude": -105.179377, - "station": "\ufffdCO-BO-67", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4lri0g", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1785, - 40.1998 - ] - }, - "properties": { - "station name": "Hygiene .79 N", - "latitude": 40.1998, - "daily precip": 0.36, - "total precip": 0.36, - "daily snow total": 5, - "longitude": -105.1785, - "station": "\ufffdCO-BO-99", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbhdgyr", - "geometry": { - "type": "Point", - "coordinates": [ - -105.4253, - 39.9771 - ] - }, - "properties": { - "station name": "Nederland 4.8 ENE", - "latitude": 39.9771, - "daily precip": 0.86, - "total precip": 0.86, - "daily snow total": 9.3, - "longitude": -105.4253, - "station": "\ufffdCO-BO-110", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1vqqqq", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3653, - 40.2805 - ] - }, - "properties": { - "station name": "Estes Park 10.5 SE", - "latitude": 40.2805, - "daily precip": 1, - "total precip": 1, - "daily snow total": 13.1, - "longitude": -105.3653, - "station": "\ufffdCO-BO-141", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre8amp6", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 40.2001 - ] - }, - "properties": { - "station name": "Longmont 2.1 N", - "latitude": "40.2001", - "daily precip": "0.47", - "total precip": 0.47, - "daily snow total": "5", - "longitude": "-105.-1087", - "station": "\ufffdCO-BO-143", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmrdz5o77", - "geometry": { - "type": "Point", - "coordinates": [ - -105.266667, - 40.226333 - ] - }, - "properties": { - "station name": "Lyons 0.3 NNE", - "latitude": 40.226333, - "daily precip": 0.93, - "total precip": 0.93, - "daily snow total": 7.5, - "longitude": -105.266667, - "station": "\ufffdCO-BO-146", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4nuuid", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0905, - 40.1945 - ] - }, - "properties": { - "station name": "Longmont 1.7 NNE", - "latitude": 40.1945, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 5.3, - "longitude": -105.0905, - "station": "\ufffdCO-BO-149", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0skmpc", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1179, - 40.1421 - ] - }, - "properties": { - "station name": "Longmont 2.0 SSW", - "latitude": 40.1421, - "daily precip": 0, - "total precip": 0, - "daily snow total": 5.5, - "longitude": -105.1179, - "station": "\ufffdCO-BO-150", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzovto5", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2858, - 40.0613 - ] - }, - "properties": { - "station name": "Boulder 3.0 NNW", - "latitude": 40.0613, - "daily precip": 0.94, - "total precip": 0.94, - "daily snow total": 9.1, - "longitude": -105.2858, - "station": "\ufffdCO-BO-164", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6h6xuw", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2307, - 40.0124 - ] - }, - "properties": { - "station name": "Boulder 1.8 ESE", - "latitude": 40.0124, - "daily precip": 0.9, - "total precip": 0.9, - "daily snow total": 9.2, - "longitude": -105.2307, - "station": "\ufffdCO-BO-165", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzi97hm", - "geometry": { - "type": "Point", - "coordinates": [ - -105.134971, - 40.0168 - ] - }, - "properties": { - "station name": "Lafayette 2.5 NW", - "latitude": 40.0168, - "daily precip": 0.62, - "total precip": 0.62, - "daily snow total": 6.8, - "longitude": -105.134971, - "station": "\ufffdCO-BO-222", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1ga2v1", - "geometry": { - "type": "Point", - "coordinates": [ - -105.198728, - 40 - ] - }, - "properties": { - "station name": "Niwot 2.3 W", - "latitude": "40.-102041", - "daily precip": "0.76", - "total precip": 0.76, - "daily snow total": "5.3", - "longitude": "-105.198728", - "station": "\ufffdCO-BO-248", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr8ojebs", - "geometry": { - "type": "Point", - "coordinates": [ - -105.076626, - 40.19942 - ] - }, - "properties": { - "station name": "Longmont 2.6 NE", - "latitude": 40.19942, - "daily precip": 0.36, - "total precip": 0.36, - "daily snow total": 4.7, - "longitude": -105.076626, - "station": "\ufffdCO-BO-252", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8cazdi", - "geometry": { - "type": "Point", - "coordinates": [ - -105.11, - 39.989316 - ] - }, - "properties": { - "station name": "Lafayette 0.8 WSW", - "latitude": "39.989316", - "daily precip": "0.61", - "total precip": 0.61, - "daily snow total": "5.9", - "longitude": "-105.11-106", - "station": "\ufffdCO-BO-266", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr5igjcn", - "geometry": { - "type": "Point", - "coordinates": [ - -105.079923, - 40.03737 - ] - }, - "properties": { - "station name": "Erie 1.9 WNW", - "latitude": 40.03737, - "daily precip": 0.56, - "total precip": 0.56, - "daily snow total": 6, - "longitude": -105.079923, - "station": "\ufffdCO-BO-271", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzw7923", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0729374, - 40.0414439 - ] - }, - "properties": { - "station name": "Erie 1.7 WNW", - "latitude": 40.0414439, - "daily precip": 0.6, - "total precip": 0.6, - "daily snow total": 5, - "longitude": -105.0729374, - "station": "\ufffdCO-BO-285", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzc9al8", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2463, - 40.032633 - ] - }, - "properties": { - "station name": "Boulder 0.5 NNE", - "latitude": 40.032633, - "daily precip": 0.92, - "total precip": 0.92, - "daily snow total": 9.1, - "longitude": -105.2463, - "station": "\ufffdCO-BO-288", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7a5ee0", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1287757, - 40.0176745 - ] - }, - "properties": { - "station name": "Lafayette 2.3 NW", - "latitude": 40.0176745, - "daily precip": 0.68, - "total precip": 0.68, - "daily snow total": 5.7, - "longitude": -105.1287757, - "station": "\ufffdCO-BO-290", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyp75iw", - "geometry": { - "type": "Point", - "coordinates": [ - -105.155356, - 40.136884 - ] - }, - "properties": { - "station name": "Longmont 3.4 SW", - "latitude": 40.136884, - "daily precip": 0.68, - "total precip": 0.68, - "daily snow total": 5.8, - "longitude": -105.155356, - "station": "\ufffdCO-BO-305", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4u2s05", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2549515, - 40.0022316 - ] - }, - "properties": { - "station name": "Boulder 1.7 S", - "latitude": 40.0022316, - "daily precip": 0.95, - "total precip": 0.95, - "daily snow total": 8.5, - "longitude": -105.2549515, - "station": "\ufffdCO-BO-321", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbrlrk5", - "geometry": { - "type": "Point", - "coordinates": [ - -105.51248, - 39.96605 - ] - }, - "properties": { - "station name": "Nederland 0.4 WNW", - "latitude": 39.96605, - "daily precip": 0.61, - "total precip": 0.61, - "daily snow total": 10.2, - "longitude": -105.51248, - "station": "\ufffdCO-BO-322", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz0ccd3", - "geometry": { - "type": "Point", - "coordinates": [ - -105.121479, - 40.1462275 - ] - }, - "properties": { - "station name": "Longmont 1.9 SSW", - "latitude": 40.1462275, - "daily precip": 0.47, - "total precip": 0.47, - "daily snow total": 5.6, - "longitude": -105.121479, - "station": "\ufffdCO-BO-327", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd7zw6j", - "geometry": { - "type": "Point", - "coordinates": [ - -105.170205, - 39.98959 - ] - }, - "properties": { - "station name": "Boulder 5.0 ESE", - "latitude": 39.98959, - "daily precip": 0.58, - "total precip": 0.58, - "daily snow total": 6, - "longitude": -105.170205, - "station": "\ufffdCO-BO-329", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3pme9e", - "geometry": { - "type": "Point", - "coordinates": [ - -105.165157, - 40.138003 - ] - }, - "properties": { - "station name": "Longmont 3.7 SW", - "latitude": 40.138003, - "daily precip": 0.52, - "total precip": 0.52, - "daily snow total": 5, - "longitude": -105.165157, - "station": "\ufffdCO-BO-339", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2lz36f", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3689333, - 40.08386667 - ] - }, - "properties": { - "station name": "Jamestown 2.5 SSE", - "latitude": 40.08386667, - "daily precip": 1, - "total precip": 1, - "daily snow total": 12, - "longitude": -105.3689333, - "station": "\ufffdCO-BO-343", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2o4cf1", - "geometry": { - "type": "Point", - "coordinates": [ - -105.032886, - 39.951348 - ] - }, - "properties": { - "station name": "Broomfield 1.6 ENE", - "latitude": 39.951348, - "daily precip": 0.55, - "total precip": 0.55, - "daily snow total": 4.5, - "longitude": -105.032886, - "station": "\ufffdCO-BR-23", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0jr9be", - "geometry": { - "type": "Point", - "coordinates": [ - -105.07429, - 39.927074 - ] - }, - "properties": { - "station name": "Broomfield 1.3 SSW", - "latitude": 39.927074, - "daily precip": 0.6, - "total precip": 0.6, - "daily snow total": 5.4, - "longitude": -105.07429, - "station": "\ufffdCO-BR-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0yth6v", - "geometry": { - "type": "Point", - "coordinates": [ - -105.091588, - 39.93382 - ] - }, - "properties": { - "station name": "Broomfield 1.7 WSW", - "latitude": 39.93382, - "daily precip": 0.85, - "total precip": 0.85, - "daily snow total": 7, - "longitude": -105.091588, - "station": "\ufffdCO-BR-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3hsrq3", - "geometry": { - "type": "Point", - "coordinates": [ - -106.1923972, - 38.5432444 - ] - }, - "properties": { - "station name": "Maysville 2.2 NE", - "latitude": 38.5432444, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 3.4, - "longitude": -106.1923972, - "station": "\ufffdCO-CF-20", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrecopsl", - "geometry": { - "type": "Point", - "coordinates": [ - -106.2085, - 38.8579 - ] - }, - "properties": { - "station name": "Buena Vista 4.0 WNW", - "latitude": 38.8579, - "daily precip": 0.35, - "total precip": 0.35, - "daily snow total": 5.3, - "longitude": -106.2085, - "station": "\ufffdCO-CF-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8stbc4", - "geometry": { - "type": "Point", - "coordinates": [ - -105.4128, - 39.6391 - ] - }, - "properties": { - "station name": "Evergreen 5 W", - "latitude": 39.6391, - "daily precip": 0.39, - "total precip": 0.39, - "daily snow total": 5.3, - "longitude": -105.4128, - "station": "\ufffdCO-CC-2", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc2x6yd", - "geometry": { - "type": "Point", - "coordinates": [ - -105.573, - 39.794809 - ] - }, - "properties": { - "station name": "Idaho Springs 4.9 NW", - "latitude": 39.794809, - "daily precip": 0.54, - "total precip": 0.54, - "daily snow total": 4.8, - "longitude": -105.573, - "station": "\ufffdCO-CC-19", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6am7dj", - "geometry": { - "type": "Point", - "coordinates": [ - -105.40448, - 39.64744949 - ] - }, - "properties": { - "station name": "Evergreen 3.4 WNW", - "latitude": 39.64744949, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 5.6, - "longitude": -105.40448, - "station": "\ufffdCO-CC-22", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmren79qa", - "geometry": { - "type": "Point", - "coordinates": [ - -105.496345, - 37.084968 - ] - }, - "properties": { - "station name": "San Luis 8.8 SW", - "latitude": 37.084968, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -105.496345, - "station": "\ufffdCO-CS-12", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr56qpbv", - "geometry": { - "type": "Point", - "coordinates": [ - -105.5115, - 38.1009 - ] - }, - "properties": { - "station name": "Westcliffe 3.4 SW", - "latitude": 38.1009, - "daily precip": 0.03, - "total precip": 0.03, - "daily snow total": 0.4, - "longitude": -105.5115, - "station": "\ufffdCO-CU-17", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1ac7cx", - "geometry": { - "type": "Point", - "coordinates": [ - -108.0743, - 38.6853 - ] - }, - "properties": { - "station name": "Delta 3.9 S", - "latitude": 38.6853, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.0743, - "station": "\ufffdCO-DL-11", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3a7jjh", - "geometry": { - "type": "Point", - "coordinates": [ - -107.80311, - 38.81276 - ] - }, - "properties": { - "station name": "Hotchkiss 4.7 W", - "latitude": 38.81276, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.80311, - "station": "\ufffdCO-DL-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmregcijp", - "geometry": { - "type": "Point", - "coordinates": [ - -107.966959, - 38.831869 - ] - }, - "properties": { - "station name": "Eckert 1.1 SW", - "latitude": 38.831869, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.966959, - "station": "\ufffdCO-DL-23", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2wsch3", - "geometry": { - "type": "Point", - "coordinates": [ - -107.574818, - 38.842058 - ] - }, - "properties": { - "station name": "Paonia 2.1 SSE", - "latitude": 38.842058, - "daily precip": 0.12, - "total precip": 0.12, - "daily snow total": 0, - "longitude": -107.574818, - "station": "\ufffdCO-DL-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd0qm67", - "geometry": { - "type": "Point", - "coordinates": [ - -107.82831, - 38.85778 - ] - }, - "properties": { - "station name": "Hotchkiss 7.1 WNW", - "latitude": 38.85778, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.82831, - "station": "\ufffdCO-DL-26", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr98wj8a", - "geometry": { - "type": "Point", - "coordinates": [ - -107.9713889, - 38.75722222 - ] - }, - "properties": { - "station name": "Delta 5.6 E", - "latitude": 38.75722222, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.9713889, - "station": "\ufffdCO-DL-28", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0l0hg7", - "geometry": { - "type": "Point", - "coordinates": [ - -107.601283, - 38.885637 - ] - }, - "properties": { - "station name": "Paonia 1.3 NNW", - "latitude": 38.885637, - "daily precip": 0.02, - "total precip": 0.02, - "daily snow total": 0, - "longitude": -107.601283, - "station": "\ufffdCO-DL-30", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr31bs2j", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9657, - 39.6656 - ] - }, - "properties": { - "station name": "Denver 5.2 S", - "latitude": 39.6656, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 4, - "longitude": -104.9657, - "station": "\ufffdCO-DN-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1f9hqj", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9489, - 39.7264 - ] - }, - "properties": { - "station name": "Denver 2.1 ESE", - "latitude": 39.7264, - "daily precip": 0.49, - "total precip": 0.49, - "daily snow total": 4, - "longitude": -104.9489, - "station": "\ufffdCO-DN-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0ywo26", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9151, - 39.6863 - ] - }, - "properties": { - "station name": "Denver 5.4 SSE", - "latitude": 39.6863, - "daily precip": 0.34, - "total precip": 0.34, - "daily snow total": 3.3, - "longitude": -104.9151, - "station": "\ufffdCO-DN-82", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6mqg2n", - "geometry": { - "type": "Point", - "coordinates": [ - -104.943975, - 39.667897 - ] - }, - "properties": { - "station name": "Cherry Hills Village 2.1 N", - "latitude": 39.667897, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 3.5, - "longitude": -104.943975, - "station": "\ufffdCO-DN--109", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz0v8v2", - "geometry": { - "type": "Point", - "coordinates": [ - -104.951195, - 39.699867 - ] - }, - "properties": { - "station name": "Denver 2.0 SSE", - "latitude": 39.699867, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 5, - "longitude": -104.951195, - "station": "\ufffdCO-DN-116", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmra24nzw", - "geometry": { - "type": "Point", - "coordinates": [ - -104.876, - 39.6596 - ] - }, - "properties": { - "station name": "Cherry Creek Reservoir 1.9 N", - "latitude": 39.6596, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 3.5, - "longitude": -104.876, - "station": "\ufffdCO-DN-120", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd4irgd", - "geometry": { - "type": "Point", - "coordinates": [ - -104.923484, - 39.68704 - ] - }, - "properties": { - "station name": "Denver 3.5 SE", - "latitude": 39.68704, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -104.923484, - "station": "\ufffdCO-DN-122", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzkwze8", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0361269, - 39.676156 - ] - }, - "properties": { - "station name": "Denver 5.3 SW", - "latitude": 39.676156, - "daily precip": 0.49, - "total precip": 0.49, - "daily snow total": 4, - "longitude": -105.0361269, - "station": "\ufffdCO-DN-141", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1216uv", - "geometry": { - "type": "Point", - "coordinates": [ - -104.985527, - 39.71216965 - ] - }, - "properties": { - "station name": "Denver 1.7 SW", - "latitude": 39.71216965, - "daily precip": 0.78, - "total precip": 0.78, - "daily snow total": 0, - "longitude": -104.985527, - "station": "\ufffdCO-DN-168", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr018b2r", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0287552, - 39.74980164 - ] - }, - "properties": { - "station name": "Denver 3.9 WNW", - "latitude": 39.74980164, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 5, - "longitude": -105.0287552, - "station": "\ufffdCO-DN-180", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr47g1z0", - "geometry": { - "type": "Point", - "coordinates": [ - -104.89112, - 39.46166 - ] - }, - "properties": { - "station name": "Castle Pines 2.2 NNE", - "latitude": 39.46166, - "daily precip": 0.41, - "total precip": 0.41, - "daily snow total": 3.5, - "longitude": -104.89112, - "station": "\ufffdCO-DG-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbexlnb", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7043, - 39.4254 - ] - }, - "properties": { - "station name": "Franktown 3.5 NE", - "latitude": 39.4254, - "daily precip": 0.43, - "total precip": 0.43, - "daily snow total": 3.3, - "longitude": -104.7043, - "station": "\ufffdCO-DG-30", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3cck01", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8954, - 39.5531 - ] - }, - "properties": { - "station name": "Littleton 7.7 ESE", - "latitude": 39.5531, - "daily precip": 0.73, - "total precip": 0.73, - "daily snow total": 3.9, - "longitude": -104.8954, - "station": "\ufffdCO-DG-32", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrajs50f", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8649, - 39.3475 - ] - }, - "properties": { - "station name": "Castle Rock 1.7 SSW", - "latitude": 39.3475, - "daily precip": 0.29, - "total precip": 0.29, - "daily snow total": 3.1, - "longitude": -104.8649, - "station": "\ufffdCO-DG-62", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzdd6ji", - "geometry": { - "type": "Point", - "coordinates": [ - -104.904, - 39.4711 - ] - }, - "properties": { - "station name": "Castle Rock 7.3 NNW", - "latitude": 39.4711, - "daily precip": 0.38, - "total precip": 0.38, - "daily snow total": 3.7, - "longitude": -104.904, - "station": "\ufffdCO-DG-80", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr08dnqn", - "geometry": { - "type": "Point", - "coordinates": [ - -104.899722, - 39.2 - ] - }, - "properties": { - "station name": "Larkspur 1.4 SW", - "latitude": "39.2-10833", - "daily precip": "0.26", - "total precip": 0.26, - "daily snow total": "2.7", - "longitude": "-104.899722", - "station": "\ufffdCO-DG-98", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr8cacju", - "geometry": { - "type": "Point", - "coordinates": [ - -104.949167, - 39.518611 - ] - }, - "properties": { - "station name": "Highlands Ranch 2.7 SSE", - "latitude": 39.518611, - "daily precip": 0.49, - "total precip": 0.49, - "daily snow total": 3.6, - "longitude": -104.949167, - "station": "\ufffdCO-DG-121", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4yaccx", - "geometry": { - "type": "Point", - "coordinates": [ - -104.732094, - 39.438561 - ] - }, - "properties": { - "station name": "Parker 5.2 SSE", - "latitude": 39.438561, - "daily precip": 0.43, - "total precip": 0.43, - "daily snow total": 4.2, - "longitude": -104.732094, - "station": "\ufffdCO-DG-132", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmra2k9bd", - "geometry": { - "type": "Point", - "coordinates": [ - -104.973922, - 39.546944 - ] - }, - "properties": { - "station name": "Highlands Ranch 0.6 SSW", - "latitude": 39.546944, - "daily precip": 0.39, - "total precip": 0.39, - "daily snow total": 4.2, - "longitude": -104.973922, - "station": "\ufffdCO-DG-140", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrb7tmjq", - "geometry": { - "type": "Point", - "coordinates": [ - -104.903761, - 39.391119 - ] - }, - "properties": { - "station name": "Castle Rock 2.9 WNW", - "latitude": 39.391119, - "daily precip": 0.24, - "total precip": 0.24, - "daily snow total": 2.8, - "longitude": -104.903761, - "station": "\ufffdCO-DG-145", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcu7om9", - "geometry": { - "type": "Point", - "coordinates": [ - -104.801271, - 39.519358 - ] - }, - "properties": { - "station name": "Parker 2.1 WNW", - "latitude": 39.519358, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 3.9, - "longitude": -104.801271, - "station": "\ufffdCO-DG-146", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc0v9kn", - "geometry": { - "type": "Point", - "coordinates": [ - -104.703752, - 39.450642 - ] - }, - "properties": { - "station name": "Parker 5.2 SE", - "latitude": 39.450642, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 0, - "longitude": -104.703752, - "station": "\ufffdCO-DG-149", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbqvqt8", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8919085, - 39.4615132 - ] - }, - "properties": { - "station name": "Castle Rock 6.5 NNW", - "latitude": 39.4615132, - "daily precip": 0.39, - "total precip": 0.39, - "daily snow total": 3.8, - "longitude": -104.8919085, - "station": "\ufffdCO-DG-157", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3vamjz", - "geometry": { - "type": "Point", - "coordinates": [ - -104.798791, - 39.498424 - ] - }, - "properties": { - "station name": "Parker 2.0 WSW", - "latitude": 39.498424, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 4.1, - "longitude": -104.798791, - "station": "\ufffdCO-DG-158", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmreph0od", - "geometry": { - "type": "Point", - "coordinates": [ - -105.071, - 39.470942 - ] - }, - "properties": { - "station name": "Roxborough Park 2.0 N", - "latitude": 39.470942, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 4.8, - "longitude": -105.071, - "station": "\ufffdCO-DG-159", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbrauhn", - "geometry": { - "type": "Point", - "coordinates": [ - -104.71272, - 39.38725 - ] - }, - "properties": { - "station name": "Franktown 2.1 ENE", - "latitude": 39.38725, - "daily precip": 0.33, - "total precip": 0.33, - "daily snow total": 2.5, - "longitude": -104.71272, - "station": "\ufffdCO-DG-162", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr392jd3", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9611189, - 39.3315205 - ] - }, - "properties": { - "station name": "Sedalia 6.8 S", - "latitude": 39.3315205, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 3.8, - "longitude": -104.9611189, - "station": "\ufffdCO-DG-167", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbjahdf", - "geometry": { - "type": "Point", - "coordinates": [ - -104.872274, - 39.444064 - ] - }, - "properties": { - "station name": "Castle Rock 4.6 NNW", - "latitude": 39.444064, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 3.4, - "longitude": -104.872274, - "station": "\ufffdCO-DG-171", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre24ql3", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9654617, - 39.5461998 - ] - }, - "properties": { - "station name": "Highlands Ranch 0.6 SSE", - "latitude": 39.5461998, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 3.8, - "longitude": -104.9654617, - "station": "\ufffdCO-DG-176", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmratgfx3", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9917674, - 39.52188611 - ] - }, - "properties": { - "station name": "Highlands Ranch 2.5 SSW", - "latitude": 39.52188611, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 3, - "longitude": -104.9917674, - "station": "\ufffdCO-DG-178", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8d41vd", - "geometry": { - "type": "Point", - "coordinates": [ - -104.944614, - 39.520017 - ] - }, - "properties": { - "station name": "Highlands Ranch 2.7 SSE", - "latitude": 39.520017, - "daily precip": 0.43, - "total precip": 0.43, - "daily snow total": 5, - "longitude": -104.944614, - "station": "\ufffdCO-DG-183", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3vxb7h", - "geometry": { - "type": "Point", - "coordinates": [ - -104.947, - 39.285 - ] - }, - "properties": { - "station name": "Sedalia 10.5 S", - "latitude": 39.285, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 2, - "longitude": -104.947, - "station": "\ufffdCO-DG-185", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5v4twl", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8796005, - 39.49710083 - ] - }, - "properties": { - "station name": "Castle Rock 8.7 N", - "latitude": 39.49710083, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 0, - "longitude": -104.8796005, - "station": "\ufffdCO-DG-192", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3ln38c", - "geometry": { - "type": "Point", - "coordinates": [ - -106.911, - 39.6 - ] - }, - "properties": { - "station name": "Gypsum 3.0 SE", - "latitude": "39.6-102", - "daily precip": "0", - "total precip": 0, - "daily snow total": "2.9", - "longitude": "-106.911", - "station": "\ufffdCO-EG-1", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr0ijxyj", - "geometry": { - "type": "Point", - "coordinates": [ - -106.9249, - 39.3793 - ] - }, - "properties": { - "station name": "Basalt 5.8 E", - "latitude": 39.3793, - "daily precip": 0.11, - "total precip": 0.11, - "daily snow total": 1.8, - "longitude": -106.9249, - "station": "\ufffdCO-EG-6", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr38v202", - "geometry": { - "type": "Point", - "coordinates": [ - -106.6806, - 39.7332 - ] - }, - "properties": { - "station name": "Wolcott 2.3 N", - "latitude": 39.7332, - "daily precip": 0.27, - "total precip": 0.27, - "daily snow total": 5, - "longitude": -106.6806, - "station": "\ufffdCO-EG-8", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8ls55t", - "geometry": { - "type": "Point", - "coordinates": [ - -106.395292, - 39.645013 - ] - }, - "properties": { - "station name": "Vail 0.9 WNW", - "latitude": 39.645013, - "daily precip": 0.41, - "total precip": 0.41, - "daily snow total": 5.4, - "longitude": -106.395292, - "station": "\ufffdCO-EG-21", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmretbnyi", - "geometry": { - "type": "Point", - "coordinates": [ - -106.819647, - 39.641486 - ] - }, - "properties": { - "station name": "Eagle 1.0 SSE", - "latitude": 39.641486, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 2, - "longitude": -106.819647, - "station": "\ufffdCO-EG-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcch4ju", - "geometry": { - "type": "Point", - "coordinates": [ - -106.956277, - 39.616582 - ] - }, - "properties": { - "station name": "Gypsum 1.9 SSW", - "latitude": 39.616582, - "daily precip": 0.12, - "total precip": 0.12, - "daily snow total": 1.5, - "longitude": -106.956277, - "station": "\ufffdCO-EG-29", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr83uc63", - "geometry": { - "type": "Point", - "coordinates": [ - -106.9385, - 39.6441 - ] - }, - "properties": { - "station name": "Gypsum 0.5 E", - "latitude": 39.6441, - "daily precip": 0.09, - "total precip": 0.09, - "daily snow total": 1.8, - "longitude": -106.9385, - "station": "\ufffdCO-EG-30", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmreiaatf", - "geometry": { - "type": "Point", - "coordinates": [ - -106.95323, - 39.62213 - ] - }, - "properties": { - "station name": "Gypsum 1.5 SSW", - "latitude": 39.62213, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 1.1, - "longitude": -106.95323, - "station": "\ufffdCO-EG-32", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbjka2s", - "geometry": { - "type": "Point", - "coordinates": [ - -103.8056, - 39.2858 - ] - }, - "properties": { - "station name": "Limon 6.3 WNW", - "latitude": 39.2858, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 4, - "longitude": -103.8056, - "station": "\ufffdCO-EL-12", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrejzl9p", - "geometry": { - "type": "Point", - "coordinates": [ - -104.564557, - 39.48366 - ] - }, - "properties": { - "station name": "Elizabeth 8.7 NNE", - "latitude": 39.48366, - "daily precip": 0.38, - "total precip": 0.38, - "daily snow total": 4.9, - "longitude": -104.564557, - "station": "\ufffdCO-EL-63", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3d1qzf", - "geometry": { - "type": "Point", - "coordinates": [ - -104.5229, - 39.5247 - ] - }, - "properties": { - "station name": null, - "latitude": 39.5247, - "daily precip": 0.29, - "total precip": 0.29, - "daily snow total": 3, - "longitude": -104.5229, - "station": "\ufffdCO-EL-71", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcv532h", - "geometry": { - "type": "Point", - "coordinates": [ - -104.2931, - 39.0804 - ] - }, - "properties": { - "station name": "Calhan 3.1 N", - "latitude": 39.0804, - "daily precip": 0.17, - "total precip": 0.17, - "daily snow total": 3, - "longitude": -104.2931, - "station": "\ufffdCO-EP-7", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzso716", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7629, - 39.0988 - ] - }, - "properties": { - "station name": "Colorado Springs 18.7 N", - "latitude": 39.0988, - "daily precip": 0.16, - "total precip": 0.16, - "daily snow total": 2.9, - "longitude": -104.7629, - "station": "\ufffdCO-EP-12", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyhuqyo", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8343, - 39.0985 - ] - }, - "properties": { - "station name": "Monument 2.1 ENE", - "latitude": 39.0985, - "daily precip": 0.15, - "total precip": 0.15, - "daily snow total": 2.3, - "longitude": -104.8343, - "station": "\ufffdCO-EP-17", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz541vn", - "geometry": { - "type": "Point", - "coordinates": [ - -104.849076, - 38.905232 - ] - }, - "properties": { - "station name": "Colorado Springs 5.7 WNW", - "latitude": 38.905232, - "daily precip": 0.01, - "total precip": 0.01, - "daily snow total": 1.2, - "longitude": -104.849076, - "station": "\ufffdCO-EP-37", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr12pbkp", - "geometry": { - "type": "Point", - "coordinates": [ - -104.838611, - 38.798889 - ] - }, - "properties": { - "station name": "Ivywild 0.6 E", - "latitude": 38.798889, - "daily precip": 0.09, - "total precip": 0.09, - "daily snow total": 1.8, - "longitude": -104.838611, - "station": "\ufffdCO-EP-58", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6w0v9y", - "geometry": { - "type": "Point", - "coordinates": [ - -104.797, - 38.83 - ] - }, - "properties": { - "station name": "Colorado Springs 1.3 ESE", - "latitude": 38.83, - "daily precip": 0.09, - "total precip": 0.09, - "daily snow total": 1.2, - "longitude": -104.797, - "station": "\ufffdCO-EP-60", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8c8ncs", - "geometry": { - "type": "Point", - "coordinates": [ - -104.830221, - 39.047 - ] - }, - "properties": { - "station name": "Gleneagle 0.4 WNW", - "latitude": "39.047-109", - "daily precip": "0.08", - "total precip": 0.08, - "daily snow total": "1.5", - "longitude": "-104.830221", - "station": "\ufffdCO-EP-61", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmrd3ptao", - "geometry": { - "type": "Point", - "coordinates": [ - -104.65084, - 39.094001 - ] - }, - "properties": { - "station name": "Black Forest 3.4 NNE", - "latitude": 39.094001, - "daily precip": 0.18, - "total precip": 0.18, - "daily snow total": 0, - "longitude": -104.65084, - "station": "\ufffdCO-EP-62", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9q16ob", - "geometry": { - "type": "Point", - "coordinates": [ - -104.441547, - 38.630996 - ] - }, - "properties": { - "station name": "Widefield 13.7 ESE", - "latitude": 38.630996, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -104.441547, - "station": "\ufffdCO-EP-65", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzb200t", - "geometry": { - "type": "Point", - "coordinates": [ - -104.64455, - 39.099933 - ] - }, - "properties": { - "station name": "Black Forest 3.9 NNE", - "latitude": 39.099933, - "daily precip": 0.16, - "total precip": 0.16, - "daily snow total": 2.5, - "longitude": -104.64455, - "station": "\ufffdCO-EP-66", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbwbawb", - "geometry": { - "type": "Point", - "coordinates": [ - -104.74184, - 38.91632 - ] - }, - "properties": { - "station name": "Colorado Sprngs 6.1 NE", - "latitude": 38.91632, - "daily precip": 0.12, - "total precip": 0.12, - "daily snow total": 1.3, - "longitude": -104.74184, - "station": "\ufffdCO-EP-165", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7y7bkh", - "geometry": { - "type": "Point", - "coordinates": [ - -104.707577, - 39.020266 - ] - }, - "properties": { - "station name": "Black Forest 2.8 SW", - "latitude": 39.020266, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 1.4, - "longitude": -104.707577, - "station": "\ufffdCO-EP-166", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr17thye", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8911, - 38.848 - ] - }, - "properties": { - "station name": "Manitou Springs 1.2 ESE", - "latitude": 38.848, - "daily precip": 0.08, - "total precip": 0.08, - "daily snow total": 2, - "longitude": -104.8911, - "station": "\ufffdCO-EP-175", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5x6ehh", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8387, - 39.0537 - ] - }, - "properties": { - "station name": "Colorado Springs 14.9 N", - "latitude": 39.0537, - "daily precip": 0.13, - "total precip": 0.13, - "daily snow total": 1.6, - "longitude": -104.8387, - "station": "\ufffdCO-EP-183", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr08bvks", - "geometry": { - "type": "Point", - "coordinates": [ - -104.637523, - 39.008098 - ] - }, - "properties": { - "station name": "Black Forest 3.1 SSE", - "latitude": 39.008098, - "daily precip": 0.12, - "total precip": 0.12, - "daily snow total": 0, - "longitude": -104.637523, - "station": "\ufffdCO-EP-187", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1efyyw", - "geometry": { - "type": "Point", - "coordinates": [ - -104.761167, - 38.8611 - ] - }, - "properties": { - "station name": "Colorado Springs 3.7 ENE", - "latitude": 38.8611, - "daily precip": 0.06, - "total precip": 0.06, - "daily snow total": 1.3, - "longitude": -104.761167, - "station": "\ufffdCO-EP-188", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr61ldfh", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8469756, - 38.93529065 - ] - }, - "properties": { - "station name": "Colorado Springs 7.1 NNW", - "latitude": 38.93529065, - "daily precip": 0.09, - "total precip": 0.09, - "daily snow total": 1, - "longitude": -104.8469756, - "station": "\ufffdCO-EP-207", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3iq193", - "geometry": { - "type": "Point", - "coordinates": [ - -104.811452, - 38.790916 - ] - }, - "properties": { - "station name": "Colorado Springs 3.0 S", - "latitude": 38.790916, - "daily precip": 0.08, - "total precip": 0.08, - "daily snow total": 2, - "longitude": -104.811452, - "station": "\ufffdCO-EP-210", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd62drv", - "geometry": { - "type": "Point", - "coordinates": [ - -104.866415, - 38.817284 - ] - }, - "properties": { - "station name": "Colorado Springs 2.7 WSW", - "latitude": 38.817284, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 2.5, - "longitude": -104.866415, - "station": "\ufffdCO-EP-215", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6vs9gs", - "geometry": { - "type": "Point", - "coordinates": [ - -104.785223, - 38.865637 - ] - }, - "properties": { - "station name": "Colorado Springs 2.9 NE", - "latitude": 38.865637, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -104.785223, - "station": "\ufffdCO-EP-231", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3rs0og", - "geometry": { - "type": "Point", - "coordinates": [ - -104.781608, - 38.943846 - ] - }, - "properties": { - "station name": "Colorado Springs 7.0 NNE", - "latitude": 38.943846, - "daily precip": 0.11, - "total precip": 0.11, - "daily snow total": 1, - "longitude": -104.781608, - "station": "\ufffdCO-EP-234", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzr7jq9", - "geometry": { - "type": "Point", - "coordinates": [ - -104.751564, - 39.11838 - ] - }, - "properties": { - "station name": "Monument 6.6 ENE", - "latitude": 39.11838, - "daily precip": 0.21, - "total precip": 0.21, - "daily snow total": 2.7, - "longitude": -104.751564, - "station": "\ufffdCO-EP-235", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1qschx", - "geometry": { - "type": "Point", - "coordinates": [ - -104.605968, - 38.96213 - ] - }, - "properties": { - "station name": "Falcon 2.3 NNE", - "latitude": 38.96213, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 1, - "longitude": -104.605968, - "station": "\ufffdCO-EP-237", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5fokte", - "geometry": { - "type": "Point", - "coordinates": [ - -104.824082, - 39.04 - ] - }, - "properties": { - "station name": "Gleneagle 0.3 S", - "latitude": "39.04-1034", - "daily precip": "0.07", - "total precip": 0.07, - "daily snow total": "1.7", - "longitude": "-104.824082", - "station": "\ufffdCO-EP-247", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr5a136p", - "geometry": { - "type": "Point", - "coordinates": [ - -104.600537, - 38.954037 - ] - }, - "properties": { - "station name": "Peyton 8.3 SW", - "latitude": 38.954037, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 1.5, - "longitude": -104.600537, - "station": "\ufffdCO-EP-256", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0d1gwh", - "geometry": { - "type": "Point", - "coordinates": [ - -104.829255, - 38.783546 - ] - }, - "properties": { - "station name": "Colorado Springs 3.5 S", - "latitude": 38.783546, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 2, - "longitude": -104.829255, - "station": "\ufffdCO-EP-264", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1mayox", - "geometry": { - "type": "Point", - "coordinates": [ - -104.81161, - 39.11283 - ] - }, - "properties": { - "station name": "Monument 3.8 NE", - "latitude": 39.11283, - "daily precip": 0.19, - "total precip": 0.19, - "daily snow total": 2.4, - "longitude": -104.81161, - "station": "\ufffdCO-EP-265", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8ep683", - "geometry": { - "type": "Point", - "coordinates": [ - -104.744889, - 39.013917 - ] - }, - "properties": { - "station name": "Black Forest 4.7 WSW", - "latitude": 39.013917, - "daily precip": 0.11, - "total precip": 0.11, - "daily snow total": 0, - "longitude": -104.744889, - "station": "\ufffdCO-EP-271", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2nbghe", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7489, - 38.9172 - ] - }, - "properties": { - "station name": "Colorado Springs 6.9 NE", - "latitude": 38.9172, - "daily precip": 0.07, - "total precip": 0.07, - "daily snow total": 1.1, - "longitude": -104.7489, - "station": "\ufffdCO-EP-282", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcpm3pn", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7250595, - 38.74245071 - ] - }, - "properties": { - "station name": "Colorado Springs 8.2 SE", - "latitude": 38.74245071, - "daily precip": 0.08, - "total precip": 0.08, - "daily snow total": 0, - "longitude": -104.7250595, - "station": "\ufffdCO-EP-291", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzuqjxl", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8415527, - 38.83391953 - ] - }, - "properties": { - "station name": "Colorado Springs 1.1 W", - "latitude": 38.83391953, - "daily precip": 0.09, - "total precip": 0.09, - "daily snow total": 1.5, - "longitude": -104.8415527, - "station": "\ufffdCO-EP-303", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc32b13", - "geometry": { - "type": "Point", - "coordinates": [ - -104.838724, - 39.083551 - ] - }, - "properties": { - "station name": "Monument 1.4 NE", - "latitude": 39.083551, - "daily precip": 0.14, - "total precip": 0.14, - "daily snow total": 2.6, - "longitude": -104.838724, - "station": "\ufffdCO-EP-311", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzery0y", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8101919, - 38.79485227 - ] - }, - "properties": { - "station name": "Colorado Springs 2.8 SSE", - "latitude": 38.79485227, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 0, - "longitude": -104.8101919, - "station": "\ufffdCO-EP-314", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre6kjh9", - "geometry": { - "type": "Point", - "coordinates": [ - -105.492, - 38.342 - ] - }, - "properties": { - "station name": "Texas Creek 6.2 SE", - "latitude": 38.342, - "daily precip": 0.14, - "total precip": 0.14, - "daily snow total": 2.7, - "longitude": -105.492, - "station": "\ufffdCO-FM-5", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr631smv", - "geometry": { - "type": "Point", - "coordinates": [ - -105.039969, - 38.443121 - ] - }, - "properties": { - "station name": "Penrose 1.7 WNW", - "latitude": 38.443121, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0.5, - "longitude": -105.039969, - "station": "\ufffdCO-FM-8", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz5dh61", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2314, - 38.4298 - ] - }, - "properties": { - "station name": "Canon City .84 SE", - "latitude": 38.4298, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0.8, - "longitude": -105.2314, - "station": "\ufffdCO-FM-9", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1khjjd", - "geometry": { - "type": "Point", - "coordinates": [ - -105.6306, - 38.3137 - ] - }, - "properties": { - "station name": "Cotopaxi 4.9 SE", - "latitude": 38.3137, - "daily precip": 0.21, - "total precip": 0.21, - "daily snow total": 3.5, - "longitude": -105.6306, - "station": "\ufffdCO-FM-14", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr702an9", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1923, - 38.4657 - ] - }, - "properties": { - "station name": "Canon City 3.1 NE", - "latitude": 38.4657, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 1, - "longitude": -105.1923, - "station": "\ufffdCO-FM-18", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcymqjq", - "geometry": { - "type": "Point", - "coordinates": [ - -105.6417, - 38.3086 - ] - }, - "properties": { - "station name": "Cotopaxi 4.8 SSE", - "latitude": 38.3086, - "daily precip": 0.26, - "total precip": 0.26, - "daily snow total": 2.9, - "longitude": -105.6417, - "station": "\ufffdCO-FM-21", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdvb14j", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2466, - 38.4727 - ] - }, - "properties": { - "station name": "Canon City 0.7 NNW", - "latitude": 38.4727, - "daily precip": 0.12, - "total precip": 0.12, - "daily snow total": 1.8, - "longitude": -105.2466, - "station": "\ufffdCO-FM-48", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyo1grj", - "geometry": { - "type": "Point", - "coordinates": [ - -105.238354, - 38.453982 - ] - }, - "properties": { - "station name": "Canon City 0.7 SSE", - "latitude": 38.453982, - "daily precip": 0.08, - "total precip": 0.08, - "daily snow total": 1.3, - "longitude": -105.238354, - "station": "\ufffdCO-FM-59", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr78449z", - "geometry": { - "type": "Point", - "coordinates": [ - -105.555, - 38.6336 - ] - }, - "properties": { - "station name": "Canon City 22.3 NW", - "latitude": 38.6336, - "daily precip": 0.07, - "total precip": 0.07, - "daily snow total": 2.6, - "longitude": -105.555, - "station": "\ufffdCO-FM-73", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4eneyi", - "geometry": { - "type": "Point", - "coordinates": [ - -107.3269, - 39.5413 - ] - }, - "properties": { - "station name": "Glenwood Springs .64 S", - "latitude": 39.5413, - "daily precip": 0.01, - "total precip": 0.01, - "daily snow total": 0, - "longitude": -107.3269, - "station": "\ufffdCO-GF-1", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7fdecf", - "geometry": { - "type": "Point", - "coordinates": [ - -107.768, - 39.5502 - ] - }, - "properties": { - "station name": "Rifle 0.9 NE", - "latitude": 39.5502, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.768, - "station": "\ufffdCO-GF-2", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc3k2cm", - "geometry": { - "type": "Point", - "coordinates": [ - -107.3224, - 39.5308 - ] - }, - "properties": { - "station name": "Glenwood Springs 1.4 S", - "latitude": 39.5308, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.3224, - "station": "\ufffdCO-GF-4", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr60ltz8", - "geometry": { - "type": "Point", - "coordinates": [ - -107.7288, - 39.5552 - ] - }, - "properties": { - "station name": "Rifle 3.2 ENE", - "latitude": 39.5552, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.7288, - "station": "\ufffdCO-GF-28", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8yudy8", - "geometry": { - "type": "Point", - "coordinates": [ - -107.2923, - 39.4779 - ] - }, - "properties": { - "station name": "Glenwood Springs 5.3 SSE", - "latitude": 39.4779, - "daily precip": 0.01, - "total precip": 0.01, - "daily snow total": 0, - "longitude": -107.2923, - "station": "\ufffdCO-GF-33", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc2e2za", - "geometry": { - "type": "Point", - "coordinates": [ - -107.183879, - 39.458153 - ] - }, - "properties": { - "station name": "Carbondale 4.6 NNE", - "latitude": 39.458153, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0.6, - "longitude": -107.183879, - "station": "\ufffdCO-GF-49", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyci9sf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.51, - 39.90653333 - ] - }, - "properties": { - "station name": "Rollinsville 1.1 SSW", - "latitude": "39.90653333", - "daily precip": "0.78", - "total precip": 0.78, - "daily snow total": "10.2", - "longitude": "-105.51-10667", - "station": "\ufffdCO-GL-17", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr0lmy2z", - "geometry": { - "type": "Point", - "coordinates": [ - -106.5441, - 40.1625 - ] - }, - "properties": { - "station name": "Kremmling 10.9 NW", - "latitude": 40.1625, - "daily precip": 0.26, - "total precip": 0.26, - "daily snow total": 3.4, - "longitude": -106.5441, - "station": "\ufffdCO-GR-3", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0wxbl7", - "geometry": { - "type": "Point", - "coordinates": [ - -105.8609, - 40.0046 - ] - }, - "properties": { - "station name": "Tabernash 1.9 W", - "latitude": 40.0046, - "daily precip": 0.69, - "total precip": 0.69, - "daily snow total": 6.8, - "longitude": -105.8609, - "station": "\ufffdCO-GR-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3ue1r2", - "geometry": { - "type": "Point", - "coordinates": [ - -105.9453, - 40.0879 - ] - }, - "properties": { - "station name": "Granby .33 WNW", - "latitude": 40.0879, - "daily precip": 0.8, - "total precip": 0.8, - "daily snow total": 5.9, - "longitude": -105.9453, - "station": "\ufffdCO-GR-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc1tedr", - "geometry": { - "type": "Point", - "coordinates": [ - -106.200002, - 40.09 - ] - }, - "properties": { - "station name": "Parshall 3.0 NNW", - "latitude": "40.09-1093", - "daily precip": "0.26", - "total precip": 0.26, - "daily snow total": "2.8", - "longitude": "-106.200002", - "station": "\ufffdCO-GR-52", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmrem3yyf", - "geometry": { - "type": "Point", - "coordinates": [ - -107.0611, - 38.5025 - ] - }, - "properties": { - "station name": "Gunnison 7.9 WSW", - "latitude": 38.5025, - "daily precip": 0.02, - "total precip": 0.02, - "daily snow total": 0, - "longitude": -107.0611, - "station": "\ufffdCO-GN-14", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz7y6xb", - "geometry": { - "type": "Point", - "coordinates": [ - -106.9908, - 38.9603 - ] - }, - "properties": { - "station name": "Crested Butte 6.2 N", - "latitude": 38.9603, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 4, - "longitude": -106.9908, - "station": "\ufffdCO-GN-18", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqztaynr", - "geometry": { - "type": "Point", - "coordinates": [ - -107.55495, - 38.288467 - ] - }, - "properties": { - "station name": "Cimarron 11.2 S", - "latitude": 38.288467, - "daily precip": 0.12, - "total precip": 0.12, - "daily snow total": 3.5, - "longitude": -107.55495, - "station": "\ufffdCO-GN-47", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdind0i", - "geometry": { - "type": "Point", - "coordinates": [ - -106.619176, - 38.424862 - ] - }, - "properties": { - "station name": "Doyleville 2.1 W", - "latitude": 38.424862, - "daily precip": 0.03, - "total precip": 0.03, - "daily snow total": 0, - "longitude": -106.619176, - "station": "\ufffdCO-GN-49", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1jnfsi", - "geometry": { - "type": "Point", - "coordinates": [ - -107.2169952, - 39.07232285 - ] - }, - "properties": { - "station name": "Marble 1.5 W", - "latitude": 39.07232285, - "daily precip": 0.3, - "total precip": 0.3, - "daily snow total": 0, - "longitude": -107.2169952, - "station": "\ufffdCO-GN-55", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcyw1zd", - "geometry": { - "type": "Point", - "coordinates": [ - -104.795295, - 37.629881 - ] - }, - "properties": { - "station name": "Walsenburg 1.0 WNW", - "latitude": 37.629881, - "daily precip": 0.06, - "total precip": 0.06, - "daily snow total": 0.3, - "longitude": -104.795295, - "station": "\ufffdCO-HF-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8xdozr", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 37.503028 - ] - }, - "properties": { - "station name": "La Veta 0.5 SSW", - "latitude": "37.503028", - "daily precip": "0", - "total precip": 0, - "daily snow total": "0", - "longitude": "-105.0-10861", - "station": "\ufffdCO-HF-30", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr0s386q", - "geometry": { - "type": "Point", - "coordinates": [ - -105.086156, - 37.8170375 - ] - }, - "properties": { - "station name": "Gardner 5.2 ENE", - "latitude": 37.8170375, - "daily precip": 0.02, - "total precip": 0.02, - "daily snow total": 0.1, - "longitude": -105.086156, - "station": "\ufffdCO-HF-32", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcfa8wp", - "geometry": { - "type": "Point", - "coordinates": [ - -105.075, - 39.5884 - ] - }, - "properties": { - "station name": "Denver 11.0 SSW", - "latitude": 39.5884, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 4.7, - "longitude": -105.075, - "station": "\ufffdCO-JF-1", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr23xgp7", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2382, - 39.7664 - ] - }, - "properties": { - "station name": "Golden 1.2 NW", - "latitude": 39.7664, - "daily precip": 0.54, - "total precip": 0.54, - "daily snow total": 7.7, - "longitude": -105.2382, - "station": "\ufffdCO-JF-20", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdffspm", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2273, - 39.5346 - ] - }, - "properties": { - "station name": "Conifer 4.2 ENE", - "latitude": 39.5346, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 5.8, - "longitude": -105.2273, - "station": "\ufffdCO-JF-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6srzez", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1533, - 39.8153 - ] - }, - "properties": { - "station name": "Denver 10.3 WNW", - "latitude": 39.8153, - "daily precip": 0.53, - "total precip": 0.53, - "daily snow total": 5.7, - "longitude": -105.1533, - "station": "\ufffdCO-JF-26", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr07k9ud", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2297, - 39.7611 - ] - }, - "properties": { - "station name": "Golden 0.7 NW", - "latitude": 39.7611, - "daily precip": 0.77, - "total precip": 0.77, - "daily snow total": 9.5, - "longitude": -105.2297, - "station": "\ufffdCO-JF-40", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyqs0v1", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3565, - 39.70819 - ] - }, - "properties": { - "station name": "Bergen Park 1.1 N", - "latitude": 39.70819, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 5.5, - "longitude": -105.3565, - "station": "\ufffdCO-JF-52", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmramgzme", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0762, - 39.581 - ] - }, - "properties": { - "station name": "Chatfield Dam 2 NW", - "latitude": 39.581, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 4.8, - "longitude": -105.0762, - "station": "\ufffdCO-JF-61", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdfs37g", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 39.8826 - ] - }, - "properties": { - "station name": "Broomfield 2.3 SSW", - "latitude": "39.8826", - "daily precip": "0.49", - "total precip": 0.49, - "daily snow total": "3.8", - "longitude": "-105.-1056", - "station": "\ufffdCO-JF-72", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmrbl6khc", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2542, - 39.6212 - ] - }, - "properties": { - "station name": "Evergreen 3.2 ESE", - "latitude": 39.6212, - "daily precip": 0.48, - "total precip": 0.48, - "daily snow total": 0, - "longitude": -105.2542, - "station": "\ufffdCO-JF-84", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzohjpv", - "geometry": { - "type": "Point", - "coordinates": [ - -105.308, - 39.5677 - ] - }, - "properties": { - "station name": "Evergreen 4.6 S", - "latitude": 39.5677, - "daily precip": 0.28, - "total precip": 0.28, - "daily snow total": 3.5, - "longitude": -105.308, - "station": "\ufffdCO-JF-125", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd1uv2l", - "geometry": { - "type": "Point", - "coordinates": [ - -105.36718, - 39.585371 - ] - }, - "properties": { - "station name": "Evergreen 3.6 SSW", - "latitude": 39.585371, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 5.5, - "longitude": -105.36718, - "station": "\ufffdCO-JF-146", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3v5952", - "geometry": { - "type": "Point", - "coordinates": [ - -105.177477, - 39.496481 - ] - }, - "properties": { - "station name": "Aspen Park 5.2 ESE", - "latitude": 39.496481, - "daily precip": 0.45, - "total precip": 0.45, - "daily snow total": 5, - "longitude": -105.177477, - "station": "\ufffdCO-JF-151", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6ab62b", - "geometry": { - "type": "Point", - "coordinates": [ - -105.07579, - 39.68353 - ] - }, - "properties": { - "station name": "Lakewood 2.2 ESE", - "latitude": 39.68353, - "daily precip": 0.76, - "total precip": 0.76, - "daily snow total": 5.5, - "longitude": -105.07579, - "station": "\ufffdCO-JF-179", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrb6973w", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1635, - 39.5769 - ] - }, - "properties": { - "station name": "Littleton 8.2 WSW", - "latitude": 39.5769, - "daily precip": 0, - "total precip": 0, - "daily snow total": 7, - "longitude": -105.1635, - "station": "\ufffdCO-JF-201", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr54dg8f", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1371, - 39.6082 - ] - }, - "properties": { - "station name": "Littleton 6.4 W", - "latitude": 39.6082, - "daily precip": 0.55, - "total precip": 0.55, - "daily snow total": 5.9, - "longitude": -105.1371, - "station": "\ufffdCO-JF-212", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr14r2kg", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0589, - 39.7736 - ] - }, - "properties": { - "station name": "Denver 6.6 W", - "latitude": 39.7736, - "daily precip": 0.56, - "total precip": 0.56, - "daily snow total": 5.7, - "longitude": -105.0589, - "station": "\ufffdCO-JF-217", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1pp4lt", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3913, - 39.4722 - ] - }, - "properties": { - "station name": "Conifer 5.7 SW", - "latitude": 39.4722, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 3, - "longitude": -105.3913, - "station": "\ufffdCO-JF-222", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrem3rsf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1009, - 39.8502 - ] - }, - "properties": { - "station name": "Arvada 3.3 NNW", - "latitude": 39.8502, - "daily precip": 0.28, - "total precip": 0.28, - "daily snow total": 3.5, - "longitude": -105.1009, - "station": "\ufffdCO-JF-251", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmra564dp", - "geometry": { - "type": "Point", - "coordinates": [ - -105.146817, - 39.756366 - ] - }, - "properties": { - "station name": "Wheat Ridge 2.8 WSW", - "latitude": 39.756366, - "daily precip": 0.62, - "total precip": 0.62, - "daily snow total": 5.6, - "longitude": -105.146817, - "station": "\ufffdCO-JF-290", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0pou2u", - "geometry": { - "type": "Point", - "coordinates": [ - -105.12218, - 39.683711 - ] - }, - "properties": { - "station name": "Lakewood 0.9 SSW", - "latitude": 39.683711, - "daily precip": 0.6, - "total precip": 0.6, - "daily snow total": 5.4, - "longitude": -105.12218, - "station": "\ufffdCO-JF-326", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdtf3vw", - "geometry": { - "type": "Point", - "coordinates": [ - -105.168441, - 39.759253 - ] - }, - "properties": { - "station name": "Golden 2.9 ENE", - "latitude": 39.759253, - "daily precip": 0.7, - "total precip": 0.7, - "daily snow total": 6, - "longitude": -105.168441, - "station": "\ufffdCO-JF-330", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrayr4d4", - "geometry": { - "type": "Point", - "coordinates": [ - -105.390301, - 39.88175 - ] - }, - "properties": { - "station name": "Golden 12.5 NW", - "latitude": 39.88175, - "daily precip": 0.73, - "total precip": 0.73, - "daily snow total": 7.1, - "longitude": -105.390301, - "station": "\ufffdCO-JF-331", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1gf5vt", - "geometry": { - "type": "Point", - "coordinates": [ - -105.136721, - 39.67736 - ] - }, - "properties": { - "station name": "Lakewood 1.7 SW", - "latitude": 39.67736, - "daily precip": 0.61, - "total precip": 0.61, - "daily snow total": 6.7, - "longitude": -105.136721, - "station": "\ufffdCO-JF-333", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7ukpmi", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1142, - 39.7667 - ] - }, - "properties": { - "station name": "Wheat Ridge 0.9 WSW", - "latitude": 39.7667, - "daily precip": 0.6, - "total precip": 0.6, - "daily snow total": 5.2, - "longitude": -105.1142, - "station": "\ufffdCO-JF-343", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9c6ydn", - "geometry": { - "type": "Point", - "coordinates": [ - -105.100501, - 39.76545 - ] - }, - "properties": { - "station name": "Wheat Ridge 0.6 S", - "latitude": 39.76545, - "daily precip": 0.46, - "total precip": 0.46, - "daily snow total": 4.5, - "longitude": -105.100501, - "station": "\ufffdCO-JF-354", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbphpip", - "geometry": { - "type": "Point", - "coordinates": [ - -105.139661, - 39.608553 - ] - }, - "properties": { - "station name": "Littleton 6.6 W", - "latitude": 39.608553, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 5.5, - "longitude": -105.139661, - "station": "\ufffdCO-JF-359", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmravwfsi", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3074, - 39.42762 - ] - }, - "properties": { - "station name": "Pine 1.3 ENE", - "latitude": 39.42762, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 1.9, - "longitude": -105.3074, - "station": "\ufffdCO-JF-360", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyczrn8", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2471619, - 39.71973038 - ] - }, - "properties": { - "station name": "Golden 2.1 SW", - "latitude": 39.71973038, - "daily precip": 0.85, - "total precip": 0.85, - "daily snow total": 8.5, - "longitude": -105.2471619, - "station": "\ufffdCO-JF-365", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8jdg2k", - "geometry": { - "type": "Point", - "coordinates": [ - -105.12993, - 39.617745 - ] - }, - "properties": { - "station name": "Littleton 6.0 W", - "latitude": 39.617745, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 5.3, - "longitude": -105.12993, - "station": "\ufffdCO-JF-376", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4j9gq9", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1509933, - 39.81424332 - ] - }, - "properties": { - "station name": "Arvada 2.4 WSW", - "latitude": 39.81424332, - "daily precip": 0.58, - "total precip": 0.58, - "daily snow total": 6, - "longitude": -105.1509933, - "station": "\ufffdCO-JF-384", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4hew7a", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1892014, - 39.736 - ] - }, - "properties": { - "station name": "Golden 1.4 E", - "latitude": "39.736-1030578613", - "daily precip": "0", - "total precip": 0, - "daily snow total": "8.5", - "longitude": "-105.1892014", - "station": "\ufffdCO-JF-392", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmrcmss74", - "geometry": { - "type": "Point", - "coordinates": [ - -102.7735, - 38.4797 - ] - }, - "properties": { - "station name": "Eads .45 E", - "latitude": 38.4797, - "daily precip": 0.11, - "total precip": 0.11, - "daily snow total": 1.2, - "longitude": -102.7735, - "station": "\ufffdCO-KW-4", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrarzl85", - "geometry": { - "type": "Point", - "coordinates": [ - -102.950071, - 38.27992 - ] - }, - "properties": { - "station name": "Eads 16.6 SW", - "latitude": 38.27992, - "daily precip": 0.08, - "total precip": 0.08, - "daily snow total": 0, - "longitude": -102.950071, - "station": "\ufffdCO-KW-29", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5e04yb", - "geometry": { - "type": "Point", - "coordinates": [ - -102.2613, - 39.3063 - ] - }, - "properties": { - "station name": "Burlington 0.58 NE", - "latitude": 39.3063, - "daily precip": 0.94, - "total precip": 0.94, - "daily snow total": 10.5, - "longitude": -102.2613, - "station": "\ufffdCO-KC-27", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8ctuey", - "geometry": { - "type": "Point", - "coordinates": [ - -102.8229, - 39.4915 - ] - }, - "properties": { - "station name": "Liberty 15 SW", - "latitude": 39.4915, - "daily precip": 0.86, - "total precip": 0.86, - "daily snow total": 8, - "longitude": -102.8229, - "station": "\ufffdCO-KC-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc8iqfi", - "geometry": { - "type": "Point", - "coordinates": [ - -102.603622, - 39.304592 - ] - }, - "properties": { - "station name": "Stratton 0.1 N", - "latitude": 39.304592, - "daily precip": 1.5, - "total precip": 1.5, - "daily snow total": 12, - "longitude": -102.603622, - "station": "\ufffdCO-KC-123", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1mg44j", - "geometry": { - "type": "Point", - "coordinates": [ - -106.2816, - 39.1601 - ] - }, - "properties": { - "station name": "Leadville 6.3 S", - "latitude": 39.1601, - "daily precip": 0.24, - "total precip": 0.24, - "daily snow total": 4.5, - "longitude": -106.2816, - "station": "\ufffdCO-LK-10", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbepebx", - "geometry": { - "type": "Point", - "coordinates": [ - -106.336, - 39.269 - ] - }, - "properties": { - "station name": "Leadville 2.7 NW", - "latitude": 39.269, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 4.2, - "longitude": -106.336, - "station": "\ufffdCO-LK-21", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3kqm6x", - "geometry": { - "type": "Point", - "coordinates": [ - -106.300618, - 39.252216 - ] - }, - "properties": { - "station name": "Leadville 0.5 NW", - "latitude": 39.252216, - "daily precip": 0.31, - "total precip": 0.31, - "daily snow total": 2.9, - "longitude": -106.300618, - "station": "\ufffdCO-LK-28", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr16ygm3", - "geometry": { - "type": "Point", - "coordinates": [ - -107.793, - 37.2584 - ] - }, - "properties": { - "station name": "Durango 4.9 ESE", - "latitude": 37.2584, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.793, - "station": "\ufffdCO-LP-8", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrei858t", - "geometry": { - "type": "Point", - "coordinates": [ - -107.8386, - 37.3029 - ] - }, - "properties": { - "station name": "Durango 3.1 NE", - "latitude": 37.3029, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.8386, - "station": "\ufffdCO-LP-19", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr342r51", - "geometry": { - "type": "Point", - "coordinates": [ - -107.6097, - 37.2226 - ] - }, - "properties": { - "station name": "Bayfield 0.6 WSW", - "latitude": 37.2226, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.6097, - "station": "\ufffdCO-LP-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrebwulx", - "geometry": { - "type": "Point", - "coordinates": [ - -108.1445, - 37.1112 - ] - }, - "properties": { - "station name": "Hesperus 13.3 SSW", - "latitude": 37.1112, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.1445, - "station": "\ufffdCO-LP-26", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1x14rw", - "geometry": { - "type": "Point", - "coordinates": [ - -107.8455, - 37.3875 - ] - }, - "properties": { - "station name": "Durango 7.1 N", - "latitude": 37.3875, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.8455, - "station": "\ufffdCO-LP-34", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7537mf", - "geometry": { - "type": "Point", - "coordinates": [ - -107.594858, - 37.237854 - ] - }, - "properties": { - "station name": "Bayfield 0.3 N", - "latitude": 37.237854, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.594858, - "station": "\ufffdCO-LP-42", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8awi6s", - "geometry": { - "type": "Point", - "coordinates": [ - -107.9951, - 37.262 - ] - }, - "properties": { - "station name": "Durango 7.1 WSW", - "latitude": 37.262, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.9951, - "station": "\ufffdCO-LP-60", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3lexem", - "geometry": { - "type": "Point", - "coordinates": [ - -107.9456, - 37.2526 - ] - }, - "properties": { - "station name": "Durango 4.8 WSW", - "latitude": 37.2526, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.9456, - "station": "\ufffdCO-LP-61", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcoynp4", - "geometry": { - "type": "Point", - "coordinates": [ - -107.8143845, - 37.59599304 - ] - }, - "properties": { - "station name": "Rockwood 6.7 N", - "latitude": 37.59599304, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.8143845, - "station": "\ufffdCO-LP-66", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz49trd", - "geometry": { - "type": "Point", - "coordinates": [ - -107.6264191, - 37.15847778 - ] - }, - "properties": { - "station name": "Ignacio 2.9 N", - "latitude": 37.15847778, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.6264191, - "station": "\ufffdCO-LP-67", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1geoq5", - "geometry": { - "type": "Point", - "coordinates": [ - -108.22887, - 37.13775 - ] - }, - "properties": { - "station name": "Redmesa 4.2 NW", - "latitude": 37.13775, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.22887, - "station": "\ufffdCO-LP-70", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7gty2w", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0682, - 40.5691 - ] - }, - "properties": { - "station name": "Fort Collins 0.9 SE", - "latitude": 40.5691, - "daily precip": 0.64, - "total precip": 0.64, - "daily snow total": 7, - "longitude": -105.0682, - "station": "\ufffdCO-LR-22", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrarmxo8", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1194, - 40.5287 - ] - }, - "properties": { - "station name": "Fort Collins 3.7 SW", - "latitude": 40.5287, - "daily precip": 0.74, - "total precip": 0.74, - "daily snow total": 6.2, - "longitude": -105.1194, - "station": "\ufffdCO-LR-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbeoi4a", - "geometry": { - "type": "Point", - "coordinates": [ - -104.963004, - 40.587251 - ] - }, - "properties": { - "station name": "Timnath 4.1 NNE", - "latitude": 40.587251, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 4.5, - "longitude": -104.963004, - "station": "\ufffdCO-LR-36", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0si5pp", - "geometry": { - "type": "Point", - "coordinates": [ - -105.2692, - 40.2934 - ] - }, - "properties": { - "station name": "Lyons 4.8 N", - "latitude": 40.2934, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 9.2, - "longitude": -105.2692, - "station": "\ufffdCO-LR-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6ghz2f", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1289, - 40.5538 - ] - }, - "properties": { - "station name": "Fort Collins 2.8 WSW", - "latitude": 40.5538, - "daily precip": 0.61, - "total precip": 0.61, - "daily snow total": 6, - "longitude": -105.1289, - "station": "\ufffdCO-LR-75", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr6x06v5", - "geometry": { - "type": "Point", - "coordinates": [ - -104.948, - 40.443 - ] - }, - "properties": { - "station name": "Windsor 3.4 SW", - "latitude": 40.443, - "daily precip": 0.53, - "total precip": 0.53, - "daily snow total": 4.7, - "longitude": -104.948, - "station": "\ufffdCO-LR-93", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5ds6e4", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0619, - 40.4407 - ] - }, - "properties": { - "station name": "Loveland 3.0 NNE", - "latitude": 40.4407, - "daily precip": 0.35, - "total precip": 0.35, - "daily snow total": 3.4, - "longitude": -105.0619, - "station": "\ufffdCO-LR--104", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1h2utb", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3092, - 40.47 - ] - }, - "properties": { - "station name": "Drake 3.0 NNE", - "latitude": 40.47, - "daily precip": 0.7, - "total precip": 0.7, - "daily snow total": 7, - "longitude": -105.3092, - "station": "\ufffdCO-LR-225", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7cfade", - "geometry": { - "type": "Point", - "coordinates": [ - -105.4878, - 40.4018 - ] - }, - "properties": { - "station name": "Estes Park 2.2 NE", - "latitude": 40.4018, - "daily precip": 0.72, - "total precip": 0.72, - "daily snow total": 5.6, - "longitude": -105.4878, - "station": "\ufffdCO-LR-240", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrabkwiw", - "geometry": { - "type": "Point", - "coordinates": [ - -105.4096, - 40.751 - ] - }, - "properties": { - "station name": "Livermore 10.5 WSW", - "latitude": 40.751, - "daily precip": 0.34, - "total precip": 0.34, - "daily snow total": 7, - "longitude": -105.4096, - "station": "\ufffdCO-LR-250", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc9wxp6", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1817, - 40.635 - ] - }, - "properties": { - "station name": "Bellvue 1 NW", - "latitude": 40.635, - "daily precip": 0.66, - "total precip": 0.66, - "daily snow total": 6.9, - "longitude": -105.1817, - "station": "\ufffdCO-LR-252", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9819xz", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0643, - 40.5562 - ] - }, - "properties": { - "station name": "FCL 1.7 SE", - "latitude": 40.5562, - "daily precip": 0.43, - "total precip": 0.43, - "daily snow total": 5.5, - "longitude": -105.0643, - "station": "\ufffdCO-LR-270", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbu1sij", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1152, - 40.5993 - ] - }, - "properties": { - "station name": "FCL 2.2 NW", - "latitude": 40.5993, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 5.4, - "longitude": -105.1152, - "station": "\ufffdCO-LR-273", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzoy0xe", - "geometry": { - "type": "Point", - "coordinates": [ - -105.147301, - 40.587602 - ] - }, - "properties": { - "station name": "FCL 3.0 W", - "latitude": 40.587602, - "daily precip": 0.64, - "total precip": 0.64, - "daily snow total": 5.6, - "longitude": -105.147301, - "station": "\ufffdCO-LR-284", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdfy53t", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0291, - 40.5373 - ] - }, - "properties": { - "station name": "FCL 4.0 SE", - "latitude": 40.5373, - "daily precip": 0.56, - "total precip": 0.56, - "daily snow total": 4, - "longitude": -105.0291, - "station": "\ufffdCO-LR-290", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr24hxtg", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1175, - 40.5999 - ] - }, - "properties": { - "station name": "FCL 2.3 NW", - "latitude": 40.5999, - "daily precip": 0.53, - "total precip": 0.53, - "daily snow total": 5.1, - "longitude": -105.1175, - "station": "\ufffdCO-LR-311", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2dwcng", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0649, - 40.624 - ] - }, - "properties": { - "station name": "FCL 3.1 NE", - "latitude": 40.624, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 3.5, - "longitude": -105.0649, - "station": "\ufffdCO-LR-312", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3867e6", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0634, - 40.6068 - ] - }, - "properties": { - "station name": "FCL 2.55 NE", - "latitude": 40.6068, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 5.4, - "longitude": -105.0634, - "station": "\ufffdCO-LR-340", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcysqql", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0944, - 40.5468 - ] - }, - "properties": { - "station name": "FCL 2.1 S", - "latitude": 40.5468, - "daily precip": 0.65, - "total precip": 0.65, - "daily snow total": 6.5, - "longitude": -105.0944, - "station": "\ufffdCO-LR-372", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2rojh5", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1187, - 40.5407 - ] - }, - "properties": { - "station name": "FCL 3.0 SW", - "latitude": 40.5407, - "daily precip": 0.68, - "total precip": 0.68, - "daily snow total": 6.4, - "longitude": -105.1187, - "station": "\ufffdCO-LR-391", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5vm1iy", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0147, - 40.5725 - ] - }, - "properties": { - "station name": "FCL 3.7 E", - "latitude": 40.5725, - "daily precip": 0.41, - "total precip": 0.41, - "daily snow total": 3.8, - "longitude": -105.0147, - "station": "\ufffdCO-LR-403", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4he6gm", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1006, - 40.365 - ] - }, - "properties": { - "station name": "LOV 3.4 S", - "latitude": 40.365, - "daily precip": 0.43, - "total precip": 0.43, - "daily snow total": 4.2, - "longitude": -105.1006, - "station": "\ufffdCO-LR-472", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqztxsvh", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1587, - 40.3926 - ] - }, - "properties": { - "station name": "LOV 4.0 W", - "latitude": 40.3926, - "daily precip": 0.77, - "total precip": 0.77, - "daily snow total": 7.5, - "longitude": -105.1587, - "station": "\ufffdCO-LR-509", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre66fjc", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9708, - 40.3748 - ] - }, - "properties": { - "station name": "Loveland 7 SE", - "latitude": 40.3748, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 0, - "longitude": -104.9708, - "station": "\ufffdCO-LR-519", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2fmsii", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1159, - 40.4183 - ] - }, - "properties": { - "station name": "Loveland 1.6 WNW", - "latitude": 40.4183, - "daily precip": 0.29, - "total precip": 0.29, - "daily snow total": 0, - "longitude": -105.1159, - "station": "\ufffdCO-LR-544", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbgy3gu", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0433, - 40.4113 - ] - }, - "properties": { - "station name": "Loveland 1.9 ENE", - "latitude": 40.4113, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 4.5, - "longitude": -105.0433, - "station": "\ufffdCO-LR-560", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdjfvva", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1307, - 40.5489 - ] - }, - "properties": { - "station name": "Fort Collins 3.5 SW", - "latitude": 40.5489, - "daily precip": 0.72, - "total precip": 0.72, - "daily snow total": 7.1, - "longitude": -105.1307, - "station": "\ufffdCO-LR-610", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9t9fvd", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9843, - 40.4693 - ] - }, - "properties": { - "station name": "Fort Collins 10 SSE", - "latitude": 40.4693, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 4.5, - "longitude": -104.9843, - "station": "\ufffdCO-LR-625", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdqdprg", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0253, - 40.5321 - ] - }, - "properties": { - "station name": "Fort Collins 4.8 SE", - "latitude": 40.5321, - "daily precip": 0.62, - "total precip": 0.62, - "daily snow total": 3, - "longitude": -105.0253, - "station": "\ufffdCO-LR-632", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmra3496d", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0412, - 40.6 - ] - }, - "properties": { - "station name": "Fort Collins 2.8 NE", - "latitude": "40.6-108", - "daily precip": "0.46", - "total precip": 0.46, - "daily snow total": "3.8", - "longitude": "-105.0412", - "station": "\ufffdCO-LR-636", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr27al2l", - "geometry": { - "type": "Point", - "coordinates": [ - -105.092217, - 40.528061 - ] - }, - "properties": { - "station name": "Fort Collins 4.0 S", - "latitude": 40.528061, - "daily precip": 0.58, - "total precip": 0.58, - "daily snow total": 5.8, - "longitude": -105.092217, - "station": "\ufffdCO-LR-645", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr306ze9", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1194, - 40.5687 - ] - }, - "properties": { - "station name": "Fort Collins 2.9 WNW", - "latitude": 40.5687, - "daily precip": 0.75, - "total precip": 0.75, - "daily snow total": 5.5, - "longitude": -105.1194, - "station": "\ufffdCO-LR-654", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdb5nkr", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 40.441995 - ] - }, - "properties": { - "station name": "Loveland 2.4 NW", - "latitude": "40.441995", - "daily precip": "0.46", - "total precip": 0.46, - "daily snow total": "3.5", - "longitude": "-105.-106742", - "station": "\ufffdCO-LR-676", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr1syhp0", - "geometry": { - "type": "Point", - "coordinates": [ - -105.064732, - 40.621674 - ] - }, - "properties": { - "station name": "Fort Collins 4.6 N", - "latitude": 40.621674, - "daily precip": 0.64, - "total precip": 0.64, - "daily snow total": 3.6, - "longitude": -105.064732, - "station": "\ufffdCO-LR-681", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4eomow", - "geometry": { - "type": "Point", - "coordinates": [ - -105.22, - 40.58 - ] - }, - "properties": { - "station name": "Horsetooth Mountain 3.2 NNW", - "latitude": 40.58, - "daily precip": 0.71, - "total precip": 0.71, - "daily snow total": 9.5, - "longitude": -105.22, - "station": "\ufffdCO-LR-683", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7hb1gw", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 40.415171 - ] - }, - "properties": { - "station name": "Loveland 1.8 W", - "latitude": "40.415171", - "daily precip": "0.65", - "total precip": 0.65, - "daily snow total": "4.4", - "longitude": "-105.-104804", - "station": "\ufffdCO-LR-691", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr62ghlf", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 40.516089 - ] - }, - "properties": { - "station name": "Fort Collins 3.3 SSW", - "latitude": "40.516089", - "daily precip": "0.62", - "total precip": 0.62, - "daily snow total": "5.8", - "longitude": "-105.-102566", - "station": "\ufffdCO-LR-707", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmraklsx1", - "geometry": { - "type": "Point", - "coordinates": [ - -105.085361, - 40.45 - ] - }, - "properties": { - "station name": "Loveland 2.4 NNW", - "latitude": "40.45-1032", - "daily precip": "0.61", - "total precip": 0.61, - "daily snow total": "4.2", - "longitude": "-105.085361", - "station": "\ufffdCO-LR-715", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmre3v0v6", - "geometry": { - "type": "Point", - "coordinates": [ - -105.169101, - 40.269574 - ] - }, - "properties": { - "station name": "Berthoud 5.3 WSW", - "latitude": 40.269574, - "daily precip": 0.53, - "total precip": 0.53, - "daily snow total": 5.8, - "longitude": -105.169101, - "station": "\ufffdCO-LR-752", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc4z7of", - "geometry": { - "type": "Point", - "coordinates": [ - -105.148734, - 40.634783 - ] - }, - "properties": { - "station name": "Laporte 1.4 NW", - "latitude": 40.634783, - "daily precip": 0.64, - "total precip": 0.64, - "daily snow total": 6, - "longitude": -105.148734, - "station": "\ufffdCO-LR-761", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr92g9fg", - "geometry": { - "type": "Point", - "coordinates": [ - -105.06372, - 40.62147 - ] - }, - "properties": { - "station name": "Fort Collins 4.6 N", - "latitude": 40.62147, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 3.5, - "longitude": -105.06372, - "station": "\ufffdCO-LR-762", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzd0829", - "geometry": { - "type": "Point", - "coordinates": [ - -105.521653, - 40.346414 - ] - }, - "properties": { - "station name": "Estes Park 1.8 S", - "latitude": 40.346414, - "daily precip": 0.7, - "total precip": 0.7, - "daily snow total": 11.1, - "longitude": -105.521653, - "station": "\ufffdCO-LR-767", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmraug1eu", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0731, - 40.54603 - ] - }, - "properties": { - "station name": "Fort Collins 0.7 SSW", - "latitude": 40.54603, - "daily precip": 0.68, - "total precip": 0.68, - "daily snow total": 5.2, - "longitude": -105.0731, - "station": "\ufffdCO-LR-769", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8mbea8", - "geometry": { - "type": "Point", - "coordinates": [ - -105.081731, - 40.63743 - ] - }, - "properties": { - "station name": "Fort Collins 5.4 N", - "latitude": 40.63743, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 3.7, - "longitude": -105.081731, - "station": "\ufffdCO-LR-797", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr67dmk0", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1486, - 40.3761 - ] - }, - "properties": { - "station name": "Loveland 5.0 SW", - "latitude": 40.3761, - "daily precip": 0.72, - "total precip": 0.72, - "daily snow total": 7.7, - "longitude": -105.1486, - "station": "\ufffdCO-LR-799", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqym84gs", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1266, - 40.43467 - ] - }, - "properties": { - "station name": "Loveland 3.1 WNW", - "latitude": 40.43467, - "daily precip": 0.55, - "total precip": 0.55, - "daily snow total": 5.4, - "longitude": -105.1266, - "station": "\ufffdCO-LR-812", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqymk3er", - "geometry": { - "type": "Point", - "coordinates": [ - -105.054233, - 40.543009 - ] - }, - "properties": { - "station name": "Fort Collins 1.1 SE", - "latitude": 40.543009, - "daily precip": 0.49, - "total precip": 0.49, - "daily snow total": 5.2, - "longitude": -105.054233, - "station": "\ufffdCO-LR-829", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcd3o52", - "geometry": { - "type": "Point", - "coordinates": [ - -105.073769, - 40.563599 - ] - }, - "properties": { - "station name": "Fort Collins 0.6 NNW", - "latitude": 40.563599, - "daily precip": 0.68, - "total precip": 0.68, - "daily snow total": 5.7, - "longitude": -105.073769, - "station": "\ufffdCO-LR-832", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr84w77y", - "geometry": { - "type": "Point", - "coordinates": [ - -105.048, - 40.3885 - ] - }, - "properties": { - "station name": "Loveland 2.4 SSE", - "latitude": 40.3885, - "daily precip": 0.55, - "total precip": 0.55, - "daily snow total": 4, - "longitude": -105.048, - "station": "\ufffdCO-LR-840", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5njuaq", - "geometry": { - "type": "Point", - "coordinates": [ - -105.163285, - 40.386276 - ] - }, - "properties": { - "station name": "Loveland 5.3 WSW", - "latitude": 40.386276, - "daily precip": 0.63, - "total precip": 0.63, - "daily snow total": 5.4, - "longitude": -105.163285, - "station": "\ufffdCO-LR-843", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzmcux0", - "geometry": { - "type": "Point", - "coordinates": [ - -105.07, - 40.569 - ] - }, - "properties": { - "station name": "Fort Collins 0.9 N", - "latitude": 40.569, - "daily precip": 0.61, - "total precip": 0.61, - "daily snow total": 4.8, - "longitude": -105.07, - "station": "\ufffdCO-LR-849", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr660goq", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 40.442364 - ] - }, - "properties": { - "station name": "Loveland 2.3 NW", - "latitude": "40.442364", - "daily precip": "0.68", - "total precip": 0.68, - "daily snow total": "4", - "longitude": "-105.-102981", - "station": "\ufffdCO-LR-854", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr1mux3y", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0872, - 40.5633 - ] - }, - "properties": { - "station name": "Fort Collins 1.1 WNW", - "latitude": 40.5633, - "daily precip": 0.65, - "total precip": 0.65, - "daily snow total": 5.8, - "longitude": -105.0872, - "station": "\ufffdCO-LR-863", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrd5jw9r", - "geometry": { - "type": "Point", - "coordinates": [ - -105.5181, - 40.3409 - ] - }, - "properties": { - "station name": "Estes Park 2.2 S", - "latitude": 40.3409, - "daily precip": 0.57, - "total precip": 0.57, - "daily snow total": 7.1, - "longitude": -105.5181, - "station": "\ufffdCO-LR-866", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrb3nmh7", - "geometry": { - "type": "Point", - "coordinates": [ - -105.125591, - 40.565781 - ] - }, - "properties": { - "station name": "Fort Collins 3.1 WNW", - "latitude": 40.565781, - "daily precip": 0.63, - "total precip": 0.63, - "daily snow total": 6.4, - "longitude": -105.125591, - "station": "\ufffdCO-LR-878", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzcgcw4", - "geometry": { - "type": "Point", - "coordinates": [ - -105.068025, - 40.502249 - ] - }, - "properties": { - "station name": "Fort Collins 3.7 S", - "latitude": 40.502249, - "daily precip": 0.56, - "total precip": 0.56, - "daily snow total": 5, - "longitude": -105.068025, - "station": "\ufffdCO-LR-885", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr98oxm5", - "geometry": { - "type": "Point", - "coordinates": [ - -105.097083, - 40.784183 - ] - }, - "properties": { - "station name": "Wellington 7.5 NW", - "latitude": 40.784183, - "daily precip": 0.14, - "total precip": 0.14, - "daily snow total": 2, - "longitude": -105.097083, - "station": "\ufffdCO-LR-887", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr73d671", - "geometry": { - "type": "Point", - "coordinates": [ - -105.164965, - 40.272604 - ] - }, - "properties": { - "station name": "Berthoud 5.0 WSW", - "latitude": 40.272604, - "daily precip": 0.91, - "total precip": 0.91, - "daily snow total": 6, - "longitude": -105.164965, - "station": "\ufffdCO-LR-889", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9qfk48", - "geometry": { - "type": "Point", - "coordinates": [ - -105.414993, - 40.720613 - ] - }, - "properties": { - "station name": "Livermore 9.9 WSW", - "latitude": 40.720613, - "daily precip": 0.6, - "total precip": 0.6, - "daily snow total": 8.8, - "longitude": -105.414993, - "station": "\ufffdCO-LR-897", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8rk7lu", - "geometry": { - "type": "Point", - "coordinates": [ - -105, - 40.487473 - ] - }, - "properties": { - "station name": "Fort Collins 5.0 SSW", - "latitude": "40.487473", - "daily precip": "0.32", - "total precip": 0.32, - "daily snow total": "0", - "longitude": "-105.-10204", - "station": "\ufffdCO-LR-904", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr7dqudj", - "geometry": { - "type": "Point", - "coordinates": [ - -105.448226, - 40.736741 - ] - }, - "properties": { - "station name": "Livermore 12.1 WSW", - "latitude": 40.736741, - "daily precip": 0.6, - "total precip": 0.6, - "daily snow total": 8, - "longitude": -105.448226, - "station": "\ufffdCO-LR-905", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzpmlbx", - "geometry": { - "type": "Point", - "coordinates": [ - -105.06796, - 40.72275 - ] - }, - "properties": { - "station name": "Wellington 3.7 WNW", - "latitude": 40.72275, - "daily precip": 0.14, - "total precip": 0.14, - "daily snow total": 2, - "longitude": -105.06796, - "station": "\ufffdCO-LR-918", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzry2iu", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1608, - 40.2843 - ] - }, - "properties": { - "station name": "Berthoud 4.4 WSW", - "latitude": 40.2843, - "daily precip": 0.71, - "total precip": 0.71, - "daily snow total": 7.9, - "longitude": -105.1608, - "station": "\ufffdCO-LR-922", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0j1tnf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.120223, - 40.377756 - ] - }, - "properties": { - "station name": "Loveland 3.8 SW", - "latitude": 40.377756, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 3.6, - "longitude": -105.120223, - "station": "\ufffdCO-LR-923", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr93bd9o", - "geometry": { - "type": "Point", - "coordinates": [ - -105.03281, - 40.55035 - ] - }, - "properties": { - "station name": "Fort Collins 1.9 E", - "latitude": 40.55035, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 2.3, - "longitude": -105.03281, - "station": "\ufffdCO-LR-925", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8tvmdo", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3669, - 40.8621 - ] - }, - "properties": { - "station name": "Livermore 10.5 NW", - "latitude": 40.8621, - "daily precip": 0.31, - "total precip": 0.31, - "daily snow total": 0, - "longitude": -105.3669, - "station": "\ufffdCO-LR-945", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyoaiie", - "geometry": { - "type": "Point", - "coordinates": [ - -105.00721, - 40.70792 - ] - }, - "properties": { - "station name": "Wellington 0.4 NW", - "latitude": 40.70792, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 2.6, - "longitude": -105.00721, - "station": "\ufffdCO-LR-952", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre3nj7d", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0441208, - 40.56796646 - ] - }, - "properties": { - "station name": "Fort Collins 1.5 NE", - "latitude": 40.56796646, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 3.5, - "longitude": -105.0441208, - "station": "\ufffdCO-LR-953", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr585eyp", - "geometry": { - "type": "Point", - "coordinates": [ - -105.3181305, - 40.5663 - ] - }, - "properties": { - "station name": "Masonville 8.6 NW", - "latitude": "40.5663-108825684", - "daily precip": "0.21", - "total precip": 0.21, - "daily snow total": "0", - "longitude": "-105.3181305", - "station": "\ufffdCO-LR-964", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr9jfiuq", - "geometry": { - "type": "Point", - "coordinates": [ - -105.008867, - 40.506306 - ] - }, - "properties": { - "station name": "Fort Collins 4.6 SE", - "latitude": 40.506306, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 3, - "longitude": -105.008867, - "station": "\ufffdCO-LR-973", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmraj2i82", - "geometry": { - "type": "Point", - "coordinates": [ - -105.129752, - 40.581319 - ] - }, - "properties": { - "station name": "Fort Collins 3.7 WNW", - "latitude": 40.581319, - "daily precip": 0.66, - "total precip": 0.66, - "daily snow total": 5.5, - "longitude": -105.129752, - "station": "\ufffdCO-LR-976", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8gzadc", - "geometry": { - "type": "Point", - "coordinates": [ - -105.1982935, - 40.78134774 - ] - }, - "properties": { - "station name": "Livermore 2.7 NE", - "latitude": 40.78134774, - "daily precip": 0.19, - "total precip": 0.19, - "daily snow total": 4, - "longitude": -105.1982935, - "station": "\ufffdCO-LR-981", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5xfagy", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0926614, - 40.51902719 - ] - }, - "properties": { - "station name": "Fort Collins 2.8 SSW", - "latitude": 40.51902719, - "daily precip": 0.68, - "total precip": 0.68, - "daily snow total": 0, - "longitude": -105.0926614, - "station": "\ufffdCO-LR-986", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc2pmhu", - "geometry": { - "type": "Point", - "coordinates": [ - -104, - 37.3369 - ] - }, - "properties": { - "station name": "Model 7.9 ESE", - "latitude": "37.3369", - "daily precip": "0", - "total precip": 0, - "daily snow total": "0", - "longitude": "-104.-1084", - "station": "\ufffdCO-LA-12", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr7atodd", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7258, - 37.212 - ] - }, - "properties": { - "station name": "Boncarbo 1.5 WSW", - "latitude": 37.212, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -104.7258, - "station": "\ufffdCO-LA-13", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr851ol9", - "geometry": { - "type": "Point", - "coordinates": [ - -103.302, - 37.1242 - ] - }, - "properties": { - "station name": "Kim 8.8 SSE", - "latitude": 37.1242, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -103.302, - "station": "\ufffdCO-LA-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1imz8c", - "geometry": { - "type": "Point", - "coordinates": [ - -103.6262, - 38.7245 - ] - }, - "properties": { - "station name": "Karval 4.8 W", - "latitude": 38.7245, - "daily precip": 0.17, - "total precip": 0.17, - "daily snow total": 3, - "longitude": -103.6262, - "station": "\ufffdCO-LN-34", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr31uwmg", - "geometry": { - "type": "Point", - "coordinates": [ - -103.6901167, - 39.2585368 - ] - }, - "properties": { - "station name": "Limon 0.5 S", - "latitude": 39.2585368, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 3.7, - "longitude": -103.6901167, - "station": "\ufffdCO-LN-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbcqk5c", - "geometry": { - "type": "Point", - "coordinates": [ - -103.694401, - 39.26666223 - ] - }, - "properties": { - "station name": "Limon 0.3 W", - "latitude": "39.26666223", - "daily precip": "0.16", - "total precip": 0.16, - "daily snow total": "0", - "longitude": "-103.6944010-10871", - "station": "\ufffdCO-LN-51", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmqzdtqfp", - "geometry": { - "type": "Point", - "coordinates": [ - -103.2376, - 40.6421 - ] - }, - "properties": { - "station name": "Sterling 1.8 NW", - "latitude": 40.6421, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 1.1, - "longitude": -103.2376, - "station": "\ufffdCO-LG-2", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8tsve0", - "geometry": { - "type": "Point", - "coordinates": [ - -103.209027, - 40.628999 - ] - }, - "properties": { - "station name": "Sterling 1.5 S", - "latitude": 40.628999, - "daily precip": 0.04, - "total precip": 0.04, - "daily snow total": 0.7, - "longitude": -103.209027, - "station": "\ufffdCO-LG-49", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbqy8mw", - "geometry": { - "type": "Point", - "coordinates": [ - -108.61869, - 39.177895 - ] - }, - "properties": { - "station name": "Grand Junction 8NNW", - "latitude": 39.177895, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.61869, - "station": "\ufffdCO-ME-3", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0q6lmi", - "geometry": { - "type": "Point", - "coordinates": [ - -108.7063, - 39.2222 - ] - }, - "properties": { - "station name": "Fruita 4.5 NNE", - "latitude": 39.2222, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.7063, - "station": "\ufffdCO-ME-7", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0bquwd", - "geometry": { - "type": "Point", - "coordinates": [ - -108.9395, - 39.2685 - ] - }, - "properties": { - "station name": "Mack 5 NW", - "latitude": 39.2685, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.9395, - "station": "\ufffdCO-ME-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1xbtzn", - "geometry": { - "type": "Point", - "coordinates": [ - -108.6066, - 39.0721 - ] - }, - "properties": { - "station name": "Grand Junction 2.4 W", - "latitude": 39.0721, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.6066, - "station": "\ufffdCO-ME-47", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzfyrvk", - "geometry": { - "type": "Point", - "coordinates": [ - -107.9575, - 39.2396 - ] - }, - "properties": { - "station name": "Collbran 0.2 ESE", - "latitude": 39.2396, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.9575, - "station": "\ufffdCO-ME-53", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr61p2o9", - "geometry": { - "type": "Point", - "coordinates": [ - -108.537271, - 39.075185 - ] - }, - "properties": { - "station name": "Grand Junction 1.2 SE", - "latitude": 39.075185, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.537271, - "station": "\ufffdCO-ME-57", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr87t6h2", - "geometry": { - "type": "Point", - "coordinates": [ - -107.957469, - 39.239672 - ] - }, - "properties": { - "station name": "Collbran 0.1 ENE", - "latitude": 39.239672, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.957469, - "station": "\ufffdCO-ME-58", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr93i0e6", - "geometry": { - "type": "Point", - "coordinates": [ - -108.628093, - 39.088364 - ] - }, - "properties": { - "station name": "Grand Junction 4.0 W", - "latitude": 39.088364, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.628093, - "station": "\ufffdCO-ME-69", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre9zqxf", - "geometry": { - "type": "Point", - "coordinates": [ - -108.557331, - 39.07235 - ] - }, - "properties": { - "station name": "Grand Junction 1.1 SSW", - "latitude": 39.07235, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.557331, - "station": "\ufffdCO-ME-75", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmreums75", - "geometry": { - "type": "Point", - "coordinates": [ - -108.623557, - 39.075223 - ] - }, - "properties": { - "station name": "Grand Junction 3.9 WSW", - "latitude": 39.075223, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.623557, - "station": "\ufffdCO-ME-79", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc704u1", - "geometry": { - "type": "Point", - "coordinates": [ - -108.4629211, - 39.06448746 - ] - }, - "properties": { - "station name": "Grand Junction 5.1 ESE", - "latitude": 39.06448746, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.4629211, - "station": "\ufffdCO-ME-91", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqynqapy", - "geometry": { - "type": "Point", - "coordinates": [ - -108.396161, - 38.925378 - ] - }, - "properties": { - "station name": "Whitewater 4.2 SSE", - "latitude": 38.925378, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.396161, - "station": "\ufffdCO-ME-94", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr07ujij", - "geometry": { - "type": "Point", - "coordinates": [ - -108.6364, - 39.0538 - ] - }, - "properties": { - "station name": "Grand Junction 5.0 WSW", - "latitude": 39.0538, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.6364, - "station": "\ufffdCO-ME-96", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr02ip7k", - "geometry": { - "type": "Point", - "coordinates": [ - -108.607364, - 39.074115 - ] - }, - "properties": { - "station name": "Grand Junction 3.1 WSW", - "latitude": 39.074115, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.607364, - "station": "\ufffdCO-ME-99", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8dnjo1", - "geometry": { - "type": "Point", - "coordinates": [ - -108.53678131, - 39.03175354 - ] - }, - "properties": { - "station name": "Grand Junction 3.9 SSE", - "latitude": "39.03175354", - "daily precip": "0", - "total precip": 0, - "daily snow total": "0", - "longitude": "-108.53678131-1035", - "station": "\ufffdCO-ME--102", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr9oux0d", - "geometry": { - "type": "Point", - "coordinates": [ - -107.5316913, - 40.51343504 - ] - }, - "properties": { - "station name": "Craig 1.2 ESE", - "latitude": 40.51343504, - "daily precip": 0.02, - "total precip": 0.02, - "daily snow total": 0, - "longitude": -107.5316913, - "station": "\ufffdCO-MF-21", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8oms37", - "geometry": { - "type": "Point", - "coordinates": [ - -107.527332, - 40.520036 - ] - }, - "properties": { - "station name": "Craig 1.4 E", - "latitude": 40.520036, - "daily precip": 0.01, - "total precip": 0.01, - "daily snow total": 0, - "longitude": -107.527332, - "station": "\ufffdCO-MF-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr41d5ou", - "geometry": { - "type": "Point", - "coordinates": [ - -108.4177, - 37.4884 - ] - }, - "properties": { - "station name": "Dolores 4.8 ENE", - "latitude": 37.4884, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.4177, - "station": "\ufffdCO-MZ-30", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcm2x3h", - "geometry": { - "type": "Point", - "coordinates": [ - -108.7244, - 37.3367 - ] - }, - "properties": { - "station name": "Cortez 7.7 W", - "latitude": 37.3367, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.7244, - "station": "\ufffdCO-MZ-31", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr58deg4", - "geometry": { - "type": "Point", - "coordinates": [ - -108.5938, - 37.3398 - ] - }, - "properties": { - "station name": "Cortez 1.2 SW", - "latitude": 37.3398, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.5938, - "station": "\ufffdCO-MZ-34", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7lod9r", - "geometry": { - "type": "Point", - "coordinates": [ - -108.6122111, - 37.3711696 - ] - }, - "properties": { - "station name": "Cortez 2.3 NW", - "latitude": 37.3711696, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.6122111, - "station": "\ufffdCO-MZ-43", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr85s90x", - "geometry": { - "type": "Point", - "coordinates": [ - -108.523683, - 37.421796 - ] - }, - "properties": { - "station name": "Dolores 3.9 SSW", - "latitude": 37.421796, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -108.523683, - "station": "\ufffdCO-MZ-48", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr175xlu", - "geometry": { - "type": "Point", - "coordinates": [ - -107.8574, - 38.4729 - ] - }, - "properties": { - "station name": "Montrose 1.2 ESE", - "latitude": 38.4729, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0, - "longitude": -107.8574, - "station": "\ufffdCO-MT-5", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz0ytzb", - "geometry": { - "type": "Point", - "coordinates": [ - -107.89114, - 38.470869 - ] - }, - "properties": { - "station name": "Montrose 1.2 WSW", - "latitude": 38.470869, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0, - "longitude": -107.89114, - "station": "\ufffdCO-MT-13", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre4higg", - "geometry": { - "type": "Point", - "coordinates": [ - -107.8225, - 38.4633 - ] - }, - "properties": { - "station name": "Montrose 2.9 ESE", - "latitude": 38.4633, - "daily precip": 0.06, - "total precip": 0.06, - "daily snow total": 0, - "longitude": -107.8225, - "station": "\ufffdCO-MT-15", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9xrb2i", - "geometry": { - "type": "Point", - "coordinates": [ - -107.819919, - 38.383019 - ] - }, - "properties": { - "station name": "Montrose 7.2 SSE", - "latitude": 38.383019, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 0.6, - "longitude": -107.819919, - "station": "\ufffdCO-MT-24", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1jw63d", - "geometry": { - "type": "Point", - "coordinates": [ - -107.967, - 38.6507 - ] - }, - "properties": { - "station name": "Olathe 3.2 NNE", - "latitude": 38.6507, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -107.967, - "station": "\ufffdCO-MT-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7ocwku", - "geometry": { - "type": "Point", - "coordinates": [ - -107.835117, - 38.4822 - ] - }, - "properties": { - "station name": "Montrose 2.0 E", - "latitude": 38.4822, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0, - "longitude": -107.835117, - "station": "\ufffdCO-MT-27", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbc0d27", - "geometry": { - "type": "Point", - "coordinates": [ - -107.7488, - 38.5246 - ] - }, - "properties": { - "station name": "Montrose 7.3 ENE", - "latitude": 38.5246, - "daily precip": 0.1, - "total precip": 0.1, - "daily snow total": 3, - "longitude": -107.7488, - "station": "\ufffdCO-MT-31", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcptfpl", - "geometry": { - "type": "Point", - "coordinates": [ - -107.842, - 38.476 - ] - }, - "properties": { - "station name": "Montrose 1.6 E", - "latitude": 38.476, - "daily precip": 0.06, - "total precip": 0.06, - "daily snow total": 0, - "longitude": -107.842, - "station": "\ufffdCO-MT-36", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7zxiuq", - "geometry": { - "type": "Point", - "coordinates": [ - -103.624, - 40.2469 - ] - }, - "properties": { - "station name": "Brush 0.8 S", - "latitude": 40.2469, - "daily precip": 0.18, - "total precip": 0.18, - "daily snow total": 3.3, - "longitude": -103.624, - "station": "\ufffdCO-MR-1", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqznie98", - "geometry": { - "type": "Point", - "coordinates": [ - -103.54646, - 40.29305 - ] - }, - "properties": { - "station name": "Hillrose 2.5 SSW", - "latitude": 40.29305, - "daily precip": 0.13, - "total precip": 0.13, - "daily snow total": 0, - "longitude": -103.54646, - "station": "\ufffdCO-MR-81", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8x9l78", - "geometry": { - "type": "Point", - "coordinates": [ - -103.716914, - 40.332772 - ] - }, - "properties": { - "station name": "Fort Morgan 6.2 NE", - "latitude": 40.332772, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 0, - "longitude": -103.716914, - "station": "\ufffdCO-MR-86", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqykibk3", - "geometry": { - "type": "Point", - "coordinates": [ - -103.812733, - 40.243433 - ] - }, - "properties": { - "station name": "Fort Morgan 1.8 SSW", - "latitude": 40.243433, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 0, - "longitude": -103.812733, - "station": "\ufffdCO-MR-93", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqz7qy15", - "geometry": { - "type": "Point", - "coordinates": [ - -103.5092, - 38 - ] - }, - "properties": { - "station name": "Cheraw .15 NNE", - "latitude": "38.-109", - "daily precip": "0.06", - "total precip": 0.06, - "daily snow total": "0", - "longitude": "-103.5092", - "station": "\ufffdCO-OT-6", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmre1mk4i", - "geometry": { - "type": "Point", - "coordinates": [ - -103.5601, - 37.9785 - ] - }, - "properties": { - "station name": "La Junta 1.0 WSW", - "latitude": 37.9785, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0, - "longitude": -103.5601, - "station": "\ufffdCO-OT-9", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5s2jrl", - "geometry": { - "type": "Point", - "coordinates": [ - -103.628633, - 38.014336 - ] - }, - "properties": { - "station name": "Swink 0.1 WNW", - "latitude": 38.014336, - "daily precip": 0.02, - "total precip": 0.02, - "daily snow total": 0.1, - "longitude": -103.628633, - "station": "\ufffdCO-OT-23", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr05kjq5", - "geometry": { - "type": "Point", - "coordinates": [ - -103.544288, - 37.966308 - ] - }, - "properties": { - "station name": "La Junta 1.0 S", - "latitude": 37.966308, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -103.544288, - "station": "\ufffdCO-OT-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5igejl", - "geometry": { - "type": "Point", - "coordinates": [ - -103.67986, - 37.982596 - ] - }, - "properties": { - "station name": "La Junta 7.4 W", - "latitude": 37.982596, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -103.67986, - "station": "\ufffdCO-OT-31", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr91o5sy", - "geometry": { - "type": "Point", - "coordinates": [ - -103.9822097, - 37.8229211 - ] - }, - "properties": { - "station name": "Timpas 11.6 W", - "latitude": 37.8229211, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -103.9822097, - "station": "\ufffdCO-OT-33", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5jhjlf", - "geometry": { - "type": "Point", - "coordinates": [ - -107.6724, - 38.0259 - ] - }, - "properties": { - "station name": "Ouray .23 NNW", - "latitude": 38.0259, - "daily precip": 0.13, - "total precip": 0.13, - "daily snow total": 3.5, - "longitude": -107.6724, - "station": "\ufffdCO-OR-2", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4bhrr4", - "geometry": { - "type": "Point", - "coordinates": [ - -107.758859, - 38.149838 - ] - }, - "properties": { - "station name": "Ridgway 0.5 SW", - "latitude": 38.149838, - "daily precip": 0.17, - "total precip": 0.17, - "daily snow total": 4.5, - "longitude": -107.758859, - "station": "\ufffdCO-OR-10", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9k7mvr", - "geometry": { - "type": "Point", - "coordinates": [ - -107.7699759, - 38.20125827 - ] - }, - "properties": { - "station name": "Ridgway 3.3 NNW", - "latitude": 38.20125827, - "daily precip": 0.21, - "total precip": 0.21, - "daily snow total": 5.8, - "longitude": -107.7699759, - "station": "\ufffdCO-OR-13", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcp01k7", - "geometry": { - "type": "Point", - "coordinates": [ - -106.0516, - 39.2323 - ] - }, - "properties": { - "station name": "Fairplay 2.7 WNW", - "latitude": 39.2323, - "daily precip": 0.51, - "total precip": 0.51, - "daily snow total": 5.7, - "longitude": -106.0516, - "station": "\ufffdCO-PK-15", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9y7zwf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.494, - 39.0205 - ] - }, - "properties": { - "station name": "Lake George 7.2 WNW", - "latitude": 39.0205, - "daily precip": 0.18, - "total precip": 0.18, - "daily snow total": 3.1, - "longitude": -105.494, - "station": "\ufffdCO-PK-39", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr46tvrl", - "geometry": { - "type": "Point", - "coordinates": [ - -105.5239, - 39.4905 - ] - }, - "properties": { - "station name": "Bailey 6.4 NNW", - "latitude": 39.4905, - "daily precip": 0.26, - "total precip": 0.26, - "daily snow total": 3.7, - "longitude": -105.5239, - "station": "\ufffdCO-PK-69", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1loscf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.62, - 39.27 - ] - }, - "properties": { - "station name": "Jefferson 12.1 SE", - "latitude": 39.27, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 6, - "longitude": -105.62, - "station": "\ufffdCO-PK-89", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzcgdzy", - "geometry": { - "type": "Point", - "coordinates": [ - -105.775031, - 38.846819 - ] - }, - "properties": { - "station name": "Hartsel 12.0 S", - "latitude": 38.846819, - "daily precip": 0.19, - "total precip": 0.19, - "daily snow total": 2.1, - "longitude": -105.775031, - "station": "\ufffdCO-PK-90", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzi8ypv", - "geometry": { - "type": "Point", - "coordinates": [ - -102.3, - 40.5784 - ] - }, - "properties": { - "station name": "Holyoke .59 SW", - "latitude": "40.5784", - "daily precip": "0", - "total precip": 0, - "daily snow total": "0", - "longitude": "-102.3-103", - "station": "\ufffdCO-PH-14", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr8vorrh", - "geometry": { - "type": "Point", - "coordinates": [ - -102, - 40.4694 - ] - }, - "properties": { - "station name": "Holyoke 13 SE", - "latitude": "40.4694", - "daily precip": "0.12", - "total precip": 0.12, - "daily snow total": "0", - "longitude": "-102.-10855", - "station": "\ufffdCO-PH-33", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr94n1kg", - "geometry": { - "type": "Point", - "coordinates": [ - -102.3089872, - 40.5824195 - ] - }, - "properties": { - "station name": "Holyoke 0.3 WSW", - "latitude": 40.5824195, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0, - "longitude": -102.3089872, - "station": "\ufffdCO-PH-45", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3wwv56", - "geometry": { - "type": "Point", - "coordinates": [ - -106.86178, - 39.26795 - ] - }, - "properties": { - "station name": "Woody Creek 1.3 SE", - "latitude": 39.26795, - "daily precip": 0.36, - "total precip": 0.36, - "daily snow total": 3.5, - "longitude": -106.86178, - "station": "\ufffdCO-PT-10", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1ft8sj", - "geometry": { - "type": "Point", - "coordinates": [ - -104.919, - 38.233 - ] - }, - "properties": { - "station name": "Pueblo 17 W", - "latitude": 38.233, - "daily precip": 0.04, - "total precip": 0.04, - "daily snow total": 0.7, - "longitude": -104.919, - "station": "\ufffdCO-PU-14", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9pzwcs", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8148, - 38.32 - ] - }, - "properties": { - "station name": "Pueblo West 3.6 WSW", - "latitude": 38.32, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 0.5, - "longitude": -104.8148, - "station": "\ufffdCO-PU-36", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3938tw", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7593, - 38.3357 - ] - }, - "properties": { - "station name": "Pueblo West 2.3 WSW", - "latitude": 38.3357, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -104.7593, - "station": "\ufffdCO-PU-41", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4xcvk3", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8305, - 38.334389 - ] - }, - "properties": { - "station name": "Pueblo West 6.0 W", - "latitude": 38.334389, - "daily precip": 0.01, - "total precip": 0.01, - "daily snow total": 0.4, - "longitude": -104.8305, - "station": "\ufffdCO-PU-55", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1rxywy", - "geometry": { - "type": "Point", - "coordinates": [ - -104.743968, - 38.30417 - ] - }, - "properties": { - "station name": "Pueblo West 3.4 SSW", - "latitude": 38.30417, - "daily precip": 0.03, - "total precip": 0.03, - "daily snow total": 0.6, - "longitude": -104.743968, - "station": "\ufffdCO-PU-65", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc4eyq1", - "geometry": { - "type": "Point", - "coordinates": [ - -104.868515, - 37.913512 - ] - }, - "properties": { - "station name": "Rye 3.5 E", - "latitude": 37.913512, - "daily precip": 0.06, - "total precip": 0.06, - "daily snow total": 1, - "longitude": -104.868515, - "station": "\ufffdCO-PU-77", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7psysu", - "geometry": { - "type": "Point", - "coordinates": [ - -104.6208191, - 38.29944229 - ] - }, - "properties": { - "station name": "Pueblo 0.1 NW", - "latitude": 38.29944229, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 0.8, - "longitude": -104.6208191, - "station": "\ufffdCO-PU-82", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4iaqg3", - "geometry": { - "type": "Point", - "coordinates": [ - -104.824623, - 37.90413666 - ] - }, - "properties": { - "station name": "Rye 5.9 ESE", - "latitude": "37.90413666", - "daily precip": "0.06", - "total precip": 0.06, - "daily snow total": "0.8", - "longitude": "-104.824623-10791", - "station": "\ufffdCO-PU-92", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr84imug", - "geometry": { - "type": "Point", - "coordinates": [ - -104.78983, - 38.33388 - ] - }, - "properties": { - "station name": "Pueblo West 3.8 WSW", - "latitude": 38.33388, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 1, - "longitude": -104.78983, - "station": "\ufffdCO-PU-94", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5l6fg8", - "geometry": { - "type": "Point", - "coordinates": [ - -106.1217, - 37.5459 - ] - }, - "properties": { - "station name": "Montevista 2.7 SSE", - "latitude": 37.5459, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.1217, - "station": "\ufffdCO-RG-2", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8pyi7a", - "geometry": { - "type": "Point", - "coordinates": [ - -106.0936, - 37.613 - ] - }, - "properties": { - "station name": "Monte Vista 3.6 NE", - "latitude": 37.613, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.0936, - "station": "\ufffdCO-RG-15", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr44uqux", - "geometry": { - "type": "Point", - "coordinates": [ - -106.291679, - 37.679229 - ] - }, - "properties": { - "station name": "Del Norte 3.3 E", - "latitude": 37.679229, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.291679, - "station": "\ufffdCO-RG-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4gc2ei", - "geometry": { - "type": "Point", - "coordinates": [ - -106.30838, - 37.69068 - ] - }, - "properties": { - "station name": "Del Norte 2.5 ENE", - "latitude": 37.69068, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.30838, - "station": "\ufffdCO-RG-19", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcade6y", - "geometry": { - "type": "Point", - "coordinates": [ - -106.289142, - 37.472049 - ] - }, - "properties": { - "station name": "Monte Vista 10.8 SW", - "latitude": 37.472049, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.289142, - "station": "\ufffdCO-RG-21", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7u1anl", - "geometry": { - "type": "Point", - "coordinates": [ - -106.8139, - 40.4697 - ] - }, - "properties": { - "station name": "Steamboat Springs 1 SE", - "latitude": 40.4697, - "daily precip": 0.29, - "total precip": 0.29, - "daily snow total": 2.8, - "longitude": -106.8139, - "station": "\ufffdCO-RT-25", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8kx9sg", - "geometry": { - "type": "Point", - "coordinates": [ - -106.852715, - 40.264038 - ] - }, - "properties": { - "station name": "Oak Creek 5.5 E", - "latitude": 40.264038, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 0.6, - "longitude": -106.852715, - "station": "\ufffdCO-RT-33", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7nxfuj", - "geometry": { - "type": "Point", - "coordinates": [ - -106.8997995, - 40.3986532 - ] - }, - "properties": { - "station name": "Steamboat Springs 6.9 SW", - "latitude": 40.3986532, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 0, - "longitude": -106.8997995, - "station": "\ufffdCO-RT-34", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrb9szo9", - "geometry": { - "type": "Point", - "coordinates": [ - -106.8238496, - 40.49043216 - ] - }, - "properties": { - "station name": "Steamboat Springs 0.9 N", - "latitude": 40.49043216, - "daily precip": 0.25, - "total precip": 0.25, - "daily snow total": 0, - "longitude": -106.8238496, - "station": "\ufffdCO-RT-42", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3ju6ha", - "geometry": { - "type": "Point", - "coordinates": [ - -106.7853, - 40.4744 - ] - }, - "properties": { - "station name": "Steamboat Springs 1.9 E", - "latitude": 40.4744, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 2.4, - "longitude": -106.7853, - "station": "\ufffdCO-RT-43", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr5yygyt", - "geometry": { - "type": "Point", - "coordinates": [ - -106.9878439, - 40.28001957 - ] - }, - "properties": { - "station name": "Oak Creek 1.7 WNW", - "latitude": 40.28001957, - "daily precip": 0.42, - "total precip": 0.42, - "daily snow total": 1, - "longitude": -106.9878439, - "station": "\ufffdCO-RT-44", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzgwlk6", - "geometry": { - "type": "Point", - "coordinates": [ - -106.9592636, - 40.52191526 - ] - }, - "properties": { - "station name": "Steamboat Springs 7.9 WNW", - "latitude": 40.52191526, - "daily precip": 0.28, - "total precip": 0.28, - "daily snow total": 0.4, - "longitude": -106.9592636, - "station": "\ufffdCO-RT-48", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1ymamk", - "geometry": { - "type": "Point", - "coordinates": [ - -106.3409, - 37.7922 - ] - }, - "properties": { - "station name": "La Garita 5.6 WSW", - "latitude": 37.7922, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.3409, - "station": "\ufffdCO-SA-11", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmreu3q7d", - "geometry": { - "type": "Point", - "coordinates": [ - -106.4157, - 38.4026 - ] - }, - "properties": { - "station name": "Sargents 0.3 NE", - "latitude": 38.4026, - "daily precip": 0.17, - "total precip": 0.17, - "daily snow total": 1.3, - "longitude": -106.4157, - "station": "\ufffdCO-SA-35", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrb8i2ij", - "geometry": { - "type": "Point", - "coordinates": [ - -106.1, - 38.236111 - ] - }, - "properties": { - "station name": "Villa Grove 8.2 W", - "latitude": 38.236111, - "daily precip": 0, - "total precip": 0, - "daily snow total": 0, - "longitude": -106.1, - "station": "\ufffdCO-SA-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1qqhbt", - "geometry": { - "type": "Point", - "coordinates": [ - -108.316479, - 38.130802 - ] - }, - "properties": { - "station name": "Norwood 1.4 W", - "latitude": 38.130802, - "daily precip": 0.05, - "total precip": 0.05, - "daily snow total": 1.2, - "longitude": -108.316479, - "station": "\ufffdCO-SM-7", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyoztwz", - "geometry": { - "type": "Point", - "coordinates": [ - -106.1018, - 39.6239 - ] - }, - "properties": { - "station name": "Silverthorne 2.1 WSW", - "latitude": 39.6239, - "daily precip": 0.95, - "total precip": 0.95, - "daily snow total": 9.7, - "longitude": -106.1018, - "station": "\ufffdCO-SU-6", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyy8h72", - "geometry": { - "type": "Point", - "coordinates": [ - -106.137, - 39.722 - ] - }, - "properties": { - "station name": "Silverthorne 7.4 NW", - "latitude": 39.722, - "daily precip": 0.59, - "total precip": 0.59, - "daily snow total": 8.7, - "longitude": -106.137, - "station": "\ufffdCO-SU-8", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr512e1d", - "geometry": { - "type": "Point", - "coordinates": [ - -106.0071, - 39.597 - ] - }, - "properties": { - "station name": "Dillon 2.3 SE", - "latitude": 39.597, - "daily precip": 0.58, - "total precip": 0.58, - "daily snow total": 7.5, - "longitude": -106.0071, - "station": "\ufffdCO-SU-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdcwfbi", - "geometry": { - "type": "Point", - "coordinates": [ - -106.305, - 39.9024 - ] - }, - "properties": { - "station name": "Silverthorne 21 NW", - "latitude": 39.9024, - "daily precip": 0.65, - "total precip": 0.65, - "daily snow total": 7.3, - "longitude": -106.305, - "station": "\ufffdCO-SU-35", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzjl05i", - "geometry": { - "type": "Point", - "coordinates": [ - -106, - 39.4688 - ] - }, - "properties": { - "station name": "Breckenridge 3.3 SE", - "latitude": "39.4688", - "daily precip": "0.52", - "total precip": 0.52, - "daily snow total": "7.6", - "longitude": "-106.0-109", - "station": "\ufffdCO-SU-40", - "multi-day precip": "", - "num of reports": "1" - } - }, - { - "type": "Feature", - "id": "adtdmr2fp64q", - "geometry": { - "type": "Point", - "coordinates": [ - -105.9773, - 39.6011 - ] - }, - "properties": { - "station name": "Keystone 0.7 SW", - "latitude": 39.6011, - "daily precip": 0.74, - "total precip": 0.74, - "daily snow total": 7.2, - "longitude": -105.9773, - "station": "\ufffdCO-SU-52", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr847n9n", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0482833, - 38.9939166 - ] - }, - "properties": { - "station name": "Woodland Park 0.2 ESE", - "latitude": 38.9939166, - "daily precip": 0.13, - "total precip": 0.13, - "daily snow total": 2.5, - "longitude": -105.0482833, - "station": "\ufffdCO-TL-14", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzen4uf", - "geometry": { - "type": "Point", - "coordinates": [ - -103.1851, - 40.1766 - ] - }, - "properties": { - "station name": "Akron 1.9NE", - "latitude": 40.1766, - "daily precip": 0.3, - "total precip": 0.3, - "daily snow total": 3.5, - "longitude": -103.1851, - "station": "\ufffdCO-WA-16", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrc2yx82", - "geometry": { - "type": "Point", - "coordinates": [ - -103.4989, - 39.755 - ] - }, - "properties": { - "station name": "Woodrow 16.8 SSE", - "latitude": 39.755, - "daily precip": 0.41, - "total precip": 0.41, - "daily snow total": 3, - "longitude": -103.4989, - "station": "\ufffdCO-WA-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr1pv40q", - "geometry": { - "type": "Point", - "coordinates": [ - -103.149094, - 39.685498 - ] - }, - "properties": { - "station name": "Anton 5.8 SE", - "latitude": 39.685498, - "daily precip": 0.58, - "total precip": 0.58, - "daily snow total": 7.8, - "longitude": -103.149094, - "station": "\ufffdCO-WA-67", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqyqpsbo", - "geometry": { - "type": "Point", - "coordinates": [ - -104.5823, - 40.4282 - ] - }, - "properties": { - "station name": "Greeley 6.6 E", - "latitude": 40.4282, - "daily precip": 0.2, - "total precip": 0.2, - "daily snow total": 4, - "longitude": -104.5823, - "station": "\ufffdCO-WE-42", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr0btnde", - "geometry": { - "type": "Point", - "coordinates": [ - -104.6394, - 40.2917 - ] - }, - "properties": { - "station name": "Greeley 10.5 SSE", - "latitude": 40.2917, - "daily precip": 0.22, - "total precip": 0.22, - "daily snow total": 2.2, - "longitude": -104.6394, - "station": "\ufffdCO-WE-43", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr87725n", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7256, - 40.4297 - ] - }, - "properties": { - "station name": "Greeley 1.1 ENE", - "latitude": 40.4297, - "daily precip": 0.49, - "total precip": 0.49, - "daily snow total": 4.7, - "longitude": -104.7256, - "station": "\ufffdCO-WE-66", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr24cnjl", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7744, - 40.5052 - ] - }, - "properties": { - "station name": "Eaton 3.6 WSW", - "latitude": 40.5052, - "daily precip": 0.37, - "total precip": 0.37, - "daily snow total": 4, - "longitude": -104.7744, - "station": "\ufffdCO-WE-124", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4xok55", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8781, - 40.8877 - ] - }, - "properties": { - "station name": "Carr 0.6 S", - "latitude": 40.8877, - "daily precip": 0.09, - "total precip": 0.09, - "daily snow total": 0.5, - "longitude": -104.8781, - "station": "\ufffdCO-WE-127", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmreritrv", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7695, - 40.3942 - ] - }, - "properties": { - "station name": "Greeley 3.8 W", - "latitude": 40.3942, - "daily precip": 0.45, - "total precip": 0.45, - "daily snow total": 4.2, - "longitude": -104.7695, - "station": "\ufffdCO-WE-176", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr7vntbs", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9274, - 40.5903 - ] - }, - "properties": { - "station name": "Black Hollow Reservoir 3.0 WSW", - "latitude": 40.5903, - "daily precip": 0.44, - "total precip": 0.44, - "daily snow total": 4, - "longitude": -104.9274, - "station": "\ufffdCO-WE-254", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmqzs6n9u", - "geometry": { - "type": "Point", - "coordinates": [ - -104.564652, - 40.503823 - ] - }, - "properties": { - "station name": "Galeton 1.4 SE", - "latitude": 40.503823, - "daily precip": 0.35, - "total precip": 0.35, - "daily snow total": 2, - "longitude": -104.564652, - "station": "\ufffdCO-WE-296", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrbmm5ab", - "geometry": { - "type": "Point", - "coordinates": [ - -105.015225, - 40.172889 - ] - }, - "properties": { - "station name": "Longmont 5.1 E", - "latitude": 40.172889, - "daily precip": 0.56, - "total precip": 0.56, - "daily snow total": 5.3, - "longitude": -105.015225, - "station": "\ufffdCO-WE-302", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3kictv", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8564289, - 40.51518976 - ] - }, - "properties": { - "station name": "Severance 0.6 SW", - "latitude": 40.51518976, - "daily precip": 0.3, - "total precip": 0.3, - "daily snow total": 3.2, - "longitude": -104.8564289, - "station": "\ufffdCO-WE-324", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8tgmg7", - "geometry": { - "type": "Point", - "coordinates": [ - -104.759537, - 40.710576 - ] - }, - "properties": { - "station name": "Nunn 1.2 ENE", - "latitude": 40.710576, - "daily precip": 0.13, - "total precip": 0.13, - "daily snow total": 2, - "longitude": -104.759537, - "station": "\ufffdCO-WE-345", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr43ixk6", - "geometry": { - "type": "Point", - "coordinates": [ - -104.910556, - 40.473889 - ] - }, - "properties": { - "station name": "Windsor 0.8 SSW", - "latitude": 40.473889, - "daily precip": 0.31, - "total precip": 0.31, - "daily snow total": 3, - "longitude": -104.910556, - "station": "\ufffdCO-WE-350", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmraiz209", - "geometry": { - "type": "Point", - "coordinates": [ - -105.044091, - 40.063781 - ] - }, - "properties": { - "station name": "Erie 2.4 N", - "latitude": 40.063781, - "daily precip": 0.14, - "total precip": 0.14, - "daily snow total": 2.7, - "longitude": -105.044091, - "station": "\ufffdCO-WE-393", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr9gcpud", - "geometry": { - "type": "Point", - "coordinates": [ - -103.959, - 40.6124 - ] - }, - "properties": { - "station name": "New Raymer 9.4 W", - "latitude": 40.6124, - "daily precip": 0.5, - "total precip": 0.5, - "daily snow total": 0, - "longitude": -103.959, - "station": "\ufffdCO-WE-394", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8era4g", - "geometry": { - "type": "Point", - "coordinates": [ - -104.7057266, - 40.5434761 - ] - }, - "properties": { - "station name": "Eaton 1.3 N", - "latitude": 40.5434761, - "daily precip": 0.3, - "total precip": 0.3, - "daily snow total": 3.1, - "longitude": 104.7057266, - "station": "\ufffdCO-WE-396", - "multi-day precip": null, - "num of reports": 1 - } - } - ] -} diff --git a/packages/featureserver/test/integration/fixtures/stats-out-single.json b/packages/featureserver/test/integration/fixtures/stats-out-single.json deleted file mode 100644 index 0badddc64..000000000 --- a/packages/featureserver/test/integration/fixtures/stats-out-single.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "displayFieldName": "", - "fieldAliases": { - "TOTAL_STUD_SUM": "TOTAL_STUD_SUM", - "ZIP_CODE_COUNT": "ZIP_CODE_COUNT" - }, - "fields": [ - { - "name": "TOTAL_STUD_SUM", - "type": "esriFieldTypeDouble", - "alias": "TOTAL_STUD_SUM" - }, - { - "name": "ZIP_CODE_COUNT", - "type": "esriFieldTypeDouble", - "alias": "ZIP_CODE_COUNT" - } - ], - "features": [ - { - "attributes": { - "TOTAL_STUD_SUM": 5421, - "ZIP_CODE_COUNT": 18 - } - } - ] -} diff --git a/packages/featureserver/test/integration/fixtures/trees-crs-102645.json b/packages/featureserver/test/integration/fixtures/trees-crs-102645.json deleted file mode 100644 index 246d6ac98..000000000 --- a/packages/featureserver/test/integration/fixtures/trees-crs-102645.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "FeatureCollection", - "name": "street-trees-102645", - "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::102645" } }, - "features": [ - { "type": "Feature", "properties": { "OBJECTID": 31724, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1999, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 23, "Longitude": -118.15747343, "Latitude": 34.180086872000103 }, "geometry": { "type": "Point", "coordinates": [ 6514038.953486103564501, 1887956.492762538837269 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31722, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1991, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 19, "Longitude": -118.15747179100001, "Latitude": 34.179981473000097 }, "geometry": { "type": "Point", "coordinates": [ 6514039.389178796671331, 1887918.135223435005173 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31723, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1996, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 17, "Longitude": -118.157324903, "Latitude": 34.180040354 }, "geometry": { "type": "Point", "coordinates": [ 6514083.84874156396836, 1887939.493448474211618 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31720, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1980, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 15, "Longitude": -118.15732032, "Latitude": 34.179902619000103 }, "geometry": { "type": "Point", "coordinates": [ 6514085.156479243189096, 1887889.367230779025704 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31721, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1981, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 18, "Longitude": -118.157470069, "Latitude": 34.179832955000101 }, "geometry": { "type": "Point", "coordinates": [ 6514039.825198765844107, 1887864.086112950462848 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31719, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1980, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 14, "Longitude": -118.157321544, "Latitude": 34.179787634 }, "geometry": { "type": "Point", "coordinates": [ 6514084.720782318152487, 1887847.522821671096608 ] } } - ] - } - \ No newline at end of file diff --git a/packages/featureserver/test/integration/fixtures/trees-untagged-102645.json b/packages/featureserver/test/integration/fixtures/trees-untagged-102645.json deleted file mode 100644 index 246d6ac98..000000000 --- a/packages/featureserver/test/integration/fixtures/trees-untagged-102645.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "FeatureCollection", - "name": "street-trees-102645", - "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::102645" } }, - "features": [ - { "type": "Feature", "properties": { "OBJECTID": 31724, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1999, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 23, "Longitude": -118.15747343, "Latitude": 34.180086872000103 }, "geometry": { "type": "Point", "coordinates": [ 6514038.953486103564501, 1887956.492762538837269 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31722, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1991, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 19, "Longitude": -118.15747179100001, "Latitude": 34.179981473000097 }, "geometry": { "type": "Point", "coordinates": [ 6514039.389178796671331, 1887918.135223435005173 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31723, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1996, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 17, "Longitude": -118.157324903, "Latitude": 34.180040354 }, "geometry": { "type": "Point", "coordinates": [ 6514083.84874156396836, 1887939.493448474211618 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31720, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1980, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 15, "Longitude": -118.15732032, "Latitude": 34.179902619000103 }, "geometry": { "type": "Point", "coordinates": [ 6514085.156479243189096, 1887889.367230779025704 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31721, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1981, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 18, "Longitude": -118.157470069, "Latitude": 34.179832955000101 }, "geometry": { "type": "Point", "coordinates": [ 6514039.825198765844107, 1887864.086112950462848 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31719, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1980, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 14, "Longitude": -118.157321544, "Latitude": 34.179787634 }, "geometry": { "type": "Point", "coordinates": [ 6514084.720782318152487, 1887847.522821671096608 ] } } - ] - } - \ No newline at end of file diff --git a/packages/featureserver/test/integration/fixtures/treesSubset.json b/packages/featureserver/test/integration/fixtures/treesSubset.json deleted file mode 100644 index 873882824..000000000 --- a/packages/featureserver/test/integration/fixtures/treesSubset.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"FeatureCollection","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}},"features":[{"type":"Feature","properties":{"OBJECTID":11303,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":505,"Street_Direction":"S","Street_Name":"GRAND","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.162307,"Latitude":34.137114},"geometry":{"type":"Point","coordinates":[-118.16230746759626,34.137113646321595]}},{"type":"Feature","properties":{"OBJECTID":7359,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":564,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":7,"Longitude":-118.138911,"Latitude":34.16683},"geometry":{"type":"Point","coordinates":[-118.13891082012945,34.16683031375111]}},{"type":"Feature","properties":{"OBJECTID":8391,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":542,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.161895,"Latitude":34.172534},"geometry":{"type":"Point","coordinates":[-118.16189539291581,34.172533854576706]}},{"type":"Feature","properties":{"OBJECTID":316,"Common_Name":"XYLOSMA","Genus":"XYLOSMA","Species":"CONGESTUM","House_Number":2180,"Street_Direction":"N","Street_Name":"ALTADENA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.100004,"Latitude":34.183324},"geometry":{"type":"Point","coordinates":[-118.10000401285822,34.183324216717196]}},{"type":"Feature","properties":{"OBJECTID":11304,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":505,"Street_Direction":"S","Street_Name":"GRAND","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.162312,"Latitude":34.13699},"geometry":{"type":"Point","coordinates":[-118.16231151145712,34.13699015455558]}},{"type":"Feature","properties":{"OBJECTID":7360,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":565,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":1,"Longitude":-118.139013,"Latitude":34.166939},"geometry":{"type":"Point","coordinates":[-118.1390127851391,34.16693855073808]}},{"type":"Feature","properties":{"OBJECTID":8392,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":545,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":22,"Longitude":-118.162084,"Latitude":34.172669},"geometry":{"type":"Point","coordinates":[-118.16208413983006,34.172669220084885]}},{"type":"Feature","properties":{"OBJECTID":317,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":2180,"Street_Direction":"N","Street_Name":"ALTADENA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":8,"Longitude":-118.100279,"Latitude":34.183244},"geometry":{"type":"Point","coordinates":[-118.10027873531907,34.18324442644466]}},{"type":"Feature","properties":{"OBJECTID":11305,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":505,"Street_Direction":"S","Street_Name":"GRAND","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":8,"Longitude":-118.162317,"Latitude":34.136875},"geometry":{"type":"Point","coordinates":[-118.16231699933272,34.13687497477171]}},{"type":"Feature","properties":{"OBJECTID":7361,"Common_Name":"WINDMILL PALM","Genus":"TRACHYCARPUS","Species":"FORTUNEI","House_Number":565,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":4,"Longitude":-118.138968,"Latitude":34.166942},"geometry":{"type":"Point","coordinates":[-118.13896814755172,34.16694157078453]}},{"type":"Feature","properties":{"OBJECTID":11306,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":524,"Street_Direction":"S","Street_Name":"GRAND","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.162161,"Latitude":34.136792},"geometry":{"type":"Point","coordinates":[-118.1621608729996,34.13679169620391]}},{"type":"Feature","properties":{"OBJECTID":8393,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":550,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":1,"Longitude":-118.162098,"Latitude":34.172564},"geometry":{"type":"Point","coordinates":[-118.1620980015195,34.17256398103076]}},{"type":"Feature","properties":{"OBJECTID":318,"Common_Name":"FLAX-LEAF PAPERBARK","Genus":"MELALEUCA","Species":"LINARIIFOLIA","House_Number":2190,"Street_Direction":"N","Street_Name":"ALTADENA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":7,"Longitude":-118.100121,"Latitude":34.183455},"geometry":{"type":"Point","coordinates":[-118.10012107937855,34.18345506366259]}},{"type":"Feature","properties":{"OBJECTID":7362,"Common_Name":"BOTTLE TREE","Genus":"BRACHYCHITON","Species":"POPULNEUS","House_Number":570,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.138724,"Latitude":34.166826},"geometry":{"type":"Point","coordinates":[-118.13872382165299,34.166825761109926]}},{"type":"Feature","properties":{"OBJECTID":11307,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":530,"Street_Direction":"S","Street_Name":"GRAND","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.162165,"Latitude":34.136643},"geometry":{"type":"Point","coordinates":[-118.16216488888247,34.13664250362993]}},{"type":"Feature","properties":{"OBJECTID":8394,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":555,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":11,"Longitude":-118.162275,"Latitude":34.172697},"geometry":{"type":"Point","coordinates":[-118.16227549205085,34.17269702275424]}},{"type":"Feature","properties":{"OBJECTID":7363,"Common_Name":"BOTTLE TREE","Genus":"BRACHYCHITON","Species":"POPULNEUS","House_Number":577,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":24,"Longitude":-118.138716,"Latitude":34.166936},"geometry":{"type":"Point","coordinates":[-118.13871635605616,34.166935922383416]}},{"type":"Feature","properties":{"OBJECTID":319,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":2190,"Street_Direction":"N","Street_Name":"ALTADENA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.10002,"Latitude":34.183452},"geometry":{"type":"Point","coordinates":[-118.10002010617178,34.18345225779304]}},{"type":"Feature","properties":{"OBJECTID":11308,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":530,"Street_Direction":"S","Street_Name":"GRAND","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":24,"Longitude":-118.162167,"Latitude":34.136504},"geometry":{"type":"Point","coordinates":[-118.16216749121132,34.136504054696836]}},{"type":"Feature","properties":{"OBJECTID":8395,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":560,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":8,"Longitude":-118.162258,"Latitude":34.172585},"geometry":{"type":"Point","coordinates":[-118.1622583946417,34.17258481039977]}},{"type":"Feature","properties":{"OBJECTID":7364,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":580,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":9,"Longitude":-118.138614,"Latitude":34.166824},"geometry":{"type":"Point","coordinates":[-118.13861360553399,34.16682401771622]}},{"type":"Feature","properties":{"OBJECTID":320,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":2190,"Street_Direction":"N","Street_Name":"ALTADENA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.100081,"Latitude":34.183479},"geometry":{"type":"Point","coordinates":[-118.10008124132926,34.1834787014212]}},{"type":"Feature","properties":{"OBJECTID":11309,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":530,"Street_Direction":"S","Street_Name":"GRAND","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.162067,"Latitude":34.136461},"geometry":{"type":"Point","coordinates":[-118.16206693622065,34.13646122437432]}},{"type":"Feature","properties":{"OBJECTID":8396,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":565,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.162394,"Latitude":34.172716},"geometry":{"type":"Point","coordinates":[-118.16239368231766,34.17271556999126]}},{"type":"Feature","properties":{"OBJECTID":7365,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":585,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":27,"Longitude":-118.138609,"Latitude":34.166936},"geometry":{"type":"Point","coordinates":[-118.13860929277861,34.16693619930697]}},{"type":"Feature","properties":{"OBJECTID":321,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":2190,"Street_Direction":"N","Street_Name":"ALTADENA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.099986,"Latitude":34.183479},"geometry":{"type":"Point","coordinates":[-118.09998560225344,34.18347878141796]}},{"type":"Feature","properties":{"OBJECTID":11310,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":530,"Street_Direction":"S","Street_Name":"GRAND","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.162045,"Latitude":34.136476},"geometry":{"type":"Point","coordinates":[-118.16204543419569,34.13647557492385]}},{"type":"Feature","properties":{"OBJECTID":8397,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":565,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.162498,"Latitude":34.172734},"geometry":{"type":"Point","coordinates":[-118.16249780679253,34.17273413601301]}},{"type":"Feature","properties":{"OBJECTID":7366,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":585,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.138558,"Latitude":34.166936},"geometry":{"type":"Point","coordinates":[-118.13855756141967,34.166936258589594]}},{"type":"Feature","properties":{"OBJECTID":322,"Common_Name":"VICTORIAN BOX","Genus":"PITTOSPORUM","Species":"UNDULATUM","House_Number":2190,"Street_Direction":"N","Street_Name":"ALTADENA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":6,"Longitude":-118.100036,"Latitude":34.183514},"geometry":{"type":"Point","coordinates":[-118.10003612022082,34.183514064342205]}},{"type":"Feature","properties":{"OBJECTID":11311,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":525,"Street_Direction":"S","Street_Name":"GRAND","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":10,"Longitude":-118.162323,"Latitude":34.136788},"geometry":{"type":"Point","coordinates":[-118.16232325701414,34.13678828955262]}},{"type":"Feature","properties":{"OBJECTID":8398,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":565,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":4,"Longitude":-118.162518,"Latitude":34.17301},"geometry":{"type":"Point","coordinates":[-118.16251803545757,34.17301002082437]}},{"type":"Feature","properties":{"OBJECTID":7367,"Common_Name":"BOTTLE TREE","Genus":"BRACHYCHITON","Species":"POPULNEUS","House_Number":597,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.138432,"Latitude":34.166942},"geometry":{"type":"Point","coordinates":[-118.1384316126573,34.16694201215884]}},{"type":"Feature","properties":{"OBJECTID":323,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":2200,"Street_Direction":"N","Street_Name":"ALTADENA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.100242,"Latitude":34.183394},"geometry":{"type":"Point","coordinates":[-118.10024217696385,34.183393900858]}},{"type":"Feature","properties":{"OBJECTID":11312,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":535,"Street_Direction":"S","Street_Name":"GRAND","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.162331,"Latitude":34.136613},"geometry":{"type":"Point","coordinates":[-118.16233148301036,34.13661255024074]}},{"type":"Feature","properties":{"OBJECTID":8399,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":584,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.162792,"Latitude":34.172648},"geometry":{"type":"Point","coordinates":[-118.16279245526037,34.17264803834065]}},{"type":"Feature","properties":{"OBJECTID":7368,"Common_Name":"BOTTLE TREE","Genus":"BRACHYCHITON","Species":"POPULNEUS","House_Number":597,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":35,"Longitude":-118.13824,"Latitude":34.166946},"geometry":{"type":"Point","coordinates":[-118.138240432864,34.1669459704063]}},{"type":"Feature","properties":{"OBJECTID":324,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":2250,"Street_Direction":"N","Street_Name":"ALTADENA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.102423,"Latitude":34.187238},"geometry":{"type":"Point","coordinates":[-118.10242262076348,34.187237664422355]}},{"type":"Feature","properties":{"OBJECTID":11313,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":535,"Street_Direction":"S","Street_Name":"GRAND","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.162337,"Latitude":34.136472},"geometry":{"type":"Point","coordinates":[-118.16233692240459,34.1364724350704]}},{"type":"Feature","properties":{"OBJECTID":8400,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":584,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.162749,"Latitude":34.17247},"geometry":{"type":"Point","coordinates":[-118.16274935741644,34.172470425170644]}},{"type":"Feature","properties":{"OBJECTID":7369,"Common_Name":"BOTTLE TREE","Genus":"BRACHYCHITON","Species":"POPULNEUS","House_Number":597,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":30,"Longitude":-118.138279,"Latitude":34.167124},"geometry":{"type":"Point","coordinates":[-118.1382789648696,34.167123539753234]}},{"type":"Feature","properties":{"OBJECTID":325,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":39,"Street_Direction":"S","Street_Name":"ALTADENA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.098757,"Latitude":34.14542},"geometry":{"type":"Point","coordinates":[-118.09875726745325,34.1454203660178]}},{"type":"Feature","properties":{"OBJECTID":7370,"Common_Name":"WINDMILL PALM","Genus":"TRACHYCARPUS","Species":"FORTUNEI","House_Number":600,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":6,"Longitude":-118.138289,"Latitude":34.16684},"geometry":{"type":"Point","coordinates":[-118.1382886174291,34.1668402810814]}},{"type":"Feature","properties":{"OBJECTID":8401,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":584,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":8,"Longitude":-118.162735,"Latitude":34.17254},"geometry":{"type":"Point","coordinates":[-118.16273524071921,34.17253953756125]}},{"type":"Feature","properties":{"OBJECTID":11314,"Common_Name":"CALIFORNIA FAN PALM","Genus":"WASHINGTONIA","Species":"FILIFERA","House_Number":2460,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":34,"Longitude":-118.099435,"Latitude":34.163315},"geometry":{"type":"Point","coordinates":[-118.09943497675638,34.163315449935354]}},{"type":"Feature","properties":{"OBJECTID":326,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":39,"Street_Direction":"S","Street_Name":"ALTADENA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.098752,"Latitude":34.145179},"geometry":{"type":"Point","coordinates":[-118.09875200986204,34.145179187428724]}},{"type":"Feature","properties":{"OBJECTID":7371,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":600,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.138185,"Latitude":34.166835},"geometry":{"type":"Point","coordinates":[-118.13818514338496,34.1668347909366]}},{"type":"Feature","properties":{"OBJECTID":8402,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":594,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":1,"Longitude":-118.163004,"Latitude":34.172671},"geometry":{"type":"Point","coordinates":[-118.16300388590959,34.172671443104534]}},{"type":"Feature","properties":{"OBJECTID":11315,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":2465,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.099329,"Latitude":34.16342},"geometry":{"type":"Point","coordinates":[-118.09932934881799,34.16341996738031]}},{"type":"Feature","properties":{"OBJECTID":327,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":39,"Street_Direction":"S","Street_Name":"ALTADENA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.098752,"Latitude":34.145039},"geometry":{"type":"Point","coordinates":[-118.09875184376351,34.145038610992195]}},{"type":"Feature","properties":{"OBJECTID":7372,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":606,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.138034,"Latitude":34.166829},"geometry":{"type":"Point","coordinates":[-118.1380344347355,34.16682935372602]}},{"type":"Feature","properties":{"OBJECTID":8403,"Common_Name":"STUMP","Genus":"STUMP","Species":null,"House_Number":604,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.163168,"Latitude":34.172693},"geometry":{"type":"Point","coordinates":[-118.16316781133371,34.17269293724669]}},{"type":"Feature","properties":{"OBJECTID":11316,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":2717,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":19,"Longitude":-118.094364,"Latitude":34.163118},"geometry":{"type":"Point","coordinates":[-118.09436383706587,34.16311842968105]}},{"type":"Feature","properties":{"OBJECTID":328,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1024,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":22,"Longitude":-118.163346,"Latitude":34.161019},"geometry":{"type":"Point","coordinates":[-118.16334630781833,34.161019399608406]}},{"type":"Feature","properties":{"OBJECTID":8404,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":609,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":19,"Longitude":-118.163372,"Latitude":34.172831},"geometry":{"type":"Point","coordinates":[-118.16337219112734,34.17283076427709]}},{"type":"Feature","properties":{"OBJECTID":7373,"Common_Name":"BOTTLE TREE","Genus":"BRACHYCHITON","Species":"POPULNEUS","House_Number":606,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.138019,"Latitude":34.166829},"geometry":{"type":"Point","coordinates":[-118.13801868986303,34.166829371696664]}},{"type":"Feature","properties":{"OBJECTID":11317,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":2717,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":27,"Longitude":-118.09402,"Latitude":34.163165},"geometry":{"type":"Point","coordinates":[-118.09402029674628,34.16316491695317]}},{"type":"Feature","properties":{"OBJECTID":329,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1030,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":29,"Longitude":-118.163282,"Latitude":34.161101},"geometry":{"type":"Point","coordinates":[-118.16328181033946,34.16110120244589]}},{"type":"Feature","properties":{"OBJECTID":8405,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":610,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.163391,"Latitude":34.172718},"geometry":{"type":"Point","coordinates":[-118.16339112197835,34.172718298758085]}},{"type":"Feature","properties":{"OBJECTID":11318,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":1160,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":24,"Longitude":-118.126577,"Latitude":34.151289},"geometry":{"type":"Point","coordinates":[-118.1265767271479,34.15128899774436]}},{"type":"Feature","properties":{"OBJECTID":7374,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":609,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":24,"Longitude":-118.138122,"Latitude":34.166943},"geometry":{"type":"Point","coordinates":[-118.13812234314624,34.166943300676905]}},{"type":"Feature","properties":{"OBJECTID":330,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1030,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.163205,"Latitude":34.16121},"geometry":{"type":"Point","coordinates":[-118.16320527253397,34.161209677987365]}},{"type":"Feature","properties":{"OBJECTID":8406,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":615,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.163514,"Latitude":34.172848},"geometry":{"type":"Point","coordinates":[-118.16351364741435,34.17284798799518]}},{"type":"Feature","properties":{"OBJECTID":331,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1036,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.163156,"Latitude":34.161265},"geometry":{"type":"Point","coordinates":[-118.16315596658795,34.16126480466724]}},{"type":"Feature","properties":{"OBJECTID":7375,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":616,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.137847,"Latitude":34.16683},"geometry":{"type":"Point","coordinates":[-118.13784661258538,34.166829741060404]}},{"type":"Feature","properties":{"OBJECTID":11319,"Common_Name":"MEDITERRANEAN FAN PALM","Genus":"CHAMAEROPS","Species":"HUMILIS","House_Number":1160,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":11,"Longitude":-118.126656,"Latitude":34.151331},"geometry":{"type":"Point","coordinates":[-118.12665611071074,34.15133141188398]}},{"type":"Feature","properties":{"OBJECTID":8407,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":620,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.1635,"Latitude":34.172728},"geometry":{"type":"Point","coordinates":[-118.16350039778393,34.172728021945794]}},{"type":"Feature","properties":{"OBJECTID":332,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1036,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":25,"Longitude":-118.163102,"Latitude":34.161341},"geometry":{"type":"Point","coordinates":[-118.16310197174003,34.161341349929316]}},{"type":"Feature","properties":{"OBJECTID":11320,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":191,"Street_Direction":null,"Street_Name":"CORDOVA","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.146092,"Latitude":34.142274},"geometry":{"type":"Point","coordinates":[-118.14609220803858,34.14227444704194]}},{"type":"Feature","properties":{"OBJECTID":7376,"Common_Name":"BOTTLE TREE","Genus":"BRACHYCHITON","Species":"POPULNEUS","House_Number":619,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.137891,"Latitude":34.166947},"geometry":{"type":"Point","coordinates":[-118.13789067801106,34.16694730370366]}},{"type":"Feature","properties":{"OBJECTID":333,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1036,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.163056,"Latitude":34.161403},"geometry":{"type":"Point","coordinates":[-118.16305583304991,34.161403464575585]}},{"type":"Feature","properties":{"OBJECTID":8408,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":621,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.163632,"Latitude":34.172861},"geometry":{"type":"Point","coordinates":[-118.16363152557756,34.1728608890531]}},{"type":"Feature","properties":{"OBJECTID":7377,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":619,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":29,"Longitude":-118.137812,"Latitude":34.166946},"geometry":{"type":"Point","coordinates":[-118.13781195153939,34.166945524570735]}},{"type":"Feature","properties":{"OBJECTID":11321,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":195,"Street_Direction":null,"Street_Name":"CORDOVA","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.145929,"Latitude":34.142355},"geometry":{"type":"Point","coordinates":[-118.14592899241538,34.14235450088741]}},{"type":"Feature","properties":{"OBJECTID":334,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1040,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":30,"Longitude":-118.163016,"Latitude":34.161477},"geometry":{"type":"Point","coordinates":[-118.16301602397527,34.16147693177297]}},{"type":"Feature","properties":{"OBJECTID":8409,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":628,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.163669,"Latitude":34.172753},"geometry":{"type":"Point","coordinates":[-118.1636690809001,34.17275345768589]}},{"type":"Feature","properties":{"OBJECTID":7378,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":619,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":1,"Longitude":-118.137708,"Latitude":34.166942},"geometry":{"type":"Point","coordinates":[-118.13770848047639,34.16694190288903]}},{"type":"Feature","properties":{"OBJECTID":335,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1040,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.162973,"Latitude":34.161553},"geometry":{"type":"Point","coordinates":[-118.16297254042364,34.1615525883207]}},{"type":"Feature","properties":{"OBJECTID":11322,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":1155,"Street_Direction":"S","Street_Name":"GRAND","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.16323,"Latitude":34.126686},"geometry":{"type":"Point","coordinates":[-118.16323044176296,34.12668589057362]}},{"type":"Feature","properties":{"OBJECTID":8410,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":628,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":24,"Longitude":-118.163739,"Latitude":34.172501},"geometry":{"type":"Point","coordinates":[-118.16373861923677,34.17250089409124]}},{"type":"Feature","properties":{"OBJECTID":336,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1044,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":33,"Longitude":-118.162895,"Latitude":34.161707},"geometry":{"type":"Point","coordinates":[-118.16289504120836,34.16170738565662]}},{"type":"Feature","properties":{"OBJECTID":11323,"Common_Name":"CAROB","Genus":"CERATONIA","Species":"SILIQUA","House_Number":1115,"Street_Direction":null,"Street_Name":"FOREST","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.161523,"Latitude":34.163894},"geometry":{"type":"Point","coordinates":[-118.16152308725164,34.16389373724327]}},{"type":"Feature","properties":{"OBJECTID":7379,"Common_Name":"BOTTLE TREE","Genus":"BRACHYCHITON","Species":"POPULNEUS","House_Number":624,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.137686,"Latitude":34.166831},"geometry":{"type":"Point","coordinates":[-118.13768625822881,34.166831218337705]}},{"type":"Feature","properties":{"OBJECTID":8411,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":643,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.164022,"Latitude":34.172908},"geometry":{"type":"Point","coordinates":[-118.16402184105905,34.17290824878936]}},{"type":"Feature","properties":{"OBJECTID":337,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1044,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.162862,"Latitude":34.161822},"geometry":{"type":"Point","coordinates":[-118.16286162162004,34.16182192068167]}},{"type":"Feature","properties":{"OBJECTID":11324,"Common_Name":"CAROB","Genus":"CERATONIA","Species":"SILIQUA","House_Number":1117,"Street_Direction":"","Street_Name":"FOREST","Street_Type":"AVE","Street_Suffix":"","Trunk_Diameter":22,"Longitude":-118.161602,"Latitude":34.163987},"geometry":{"type":"Point","coordinates":[-118.1616023460645,34.16398748440032]}},{"type":"Feature","properties":{"OBJECTID":7380,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":631,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.137533,"Latitude":34.167028},"geometry":{"type":"Point","coordinates":[-118.13753318094984,34.16702810486765]}},{"type":"Feature","properties":{"OBJECTID":8412,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":644,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.164025,"Latitude":34.172792},"geometry":{"type":"Point","coordinates":[-118.16402542523763,34.17279245659505]}},{"type":"Feature","properties":{"OBJECTID":338,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1048,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":33,"Longitude":-118.162823,"Latitude":34.161943},"geometry":{"type":"Point","coordinates":[-118.16282348296203,34.16194301708843]}},{"type":"Feature","properties":{"OBJECTID":7381,"Common_Name":"WINDMILL PALM","Genus":"TRACHYCARPUS","Species":"FORTUNEI","House_Number":631,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":7,"Longitude":-118.137481,"Latitude":34.166942},"geometry":{"type":"Point","coordinates":[-118.13748130694032,34.16694216136614]}},{"type":"Feature","properties":{"OBJECTID":7382,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":664,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.136908,"Latitude":34.166838},"geometry":{"type":"Point","coordinates":[-118.1369081741425,34.16683822672841]}},{"type":"Feature","properties":{"OBJECTID":11325,"Common_Name":"CAROB","Genus":"CERATONIA","Species":"SILIQUA","House_Number":1118,"Street_Direction":null,"Street_Name":"FOREST","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.161442,"Latitude":34.163995},"geometry":{"type":"Point","coordinates":[-118.1614423510197,34.16399510058384]}},{"type":"Feature","properties":{"OBJECTID":339,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1048,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":2,"Longitude":-118.162802,"Latitude":34.162056},"geometry":{"type":"Point","coordinates":[-118.16280162400375,34.16205578755872]}},{"type":"Feature","properties":{"OBJECTID":8413,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":650,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.164151,"Latitude":34.172798},"geometry":{"type":"Point","coordinates":[-118.16415131802142,34.17279820794741]}},{"type":"Feature","properties":{"OBJECTID":7383,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":664,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":"","Trunk_Diameter":15,"Longitude":-118.137025,"Latitude":34.166692},"geometry":{"type":"Point","coordinates":[-118.13702505497542,34.16669246638322]}},{"type":"Feature","properties":{"OBJECTID":11326,"Common_Name":"CAROB","Genus":"CERATONIA","Species":"SILIQUA","House_Number":1119,"Street_Direction":null,"Street_Name":"FOREST","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":19,"Longitude":-118.161742,"Latitude":34.164171},"geometry":{"type":"Point","coordinates":[-118.16174182511426,34.164171139159535]}},{"type":"Feature","properties":{"OBJECTID":8414,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":650,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.164256,"Latitude":34.172808},"geometry":{"type":"Point","coordinates":[-118.16425584321404,34.17280793690079]}},{"type":"Feature","properties":{"OBJECTID":340,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1054,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":28,"Longitude":-118.162786,"Latitude":34.162165},"geometry":{"type":"Point","coordinates":[-118.16278606575366,34.162165056108215]}},{"type":"Feature","properties":{"OBJECTID":7384,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":674,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.136732,"Latitude":34.166841},"geometry":{"type":"Point","coordinates":[-118.13673207928409,34.16684108728097]}},{"type":"Feature","properties":{"OBJECTID":8415,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":654,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":10,"Longitude":-118.16438,"Latitude":34.172583},"geometry":{"type":"Point","coordinates":[-118.16437970385262,34.17258293469887]}},{"type":"Feature","properties":{"OBJECTID":11327,"Common_Name":"CAROB","Genus":"CERATONIA","Species":"SILIQUA","House_Number":1120,"Street_Direction":null,"Street_Name":"FOREST","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.161536,"Latitude":34.164112},"geometry":{"type":"Point","coordinates":[-118.16153632233339,34.164112156174475]}},{"type":"Feature","properties":{"OBJECTID":7385,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":677,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.136583,"Latitude":34.166953},"geometry":{"type":"Point","coordinates":[-118.13658337711331,34.16695303529208]}},{"type":"Feature","properties":{"OBJECTID":341,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1054,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.162762,"Latitude":34.162282},"geometry":{"type":"Point","coordinates":[-118.16276211231157,34.162282200016534]}},{"type":"Feature","properties":{"OBJECTID":8416,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":655,"Street_Direction":null,"Street_Name":"DEL MONTE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.164323,"Latitude":34.172938},"geometry":{"type":"Point","coordinates":[-118.1643230785914,34.17293831524533]}},{"type":"Feature","properties":{"OBJECTID":11328,"Common_Name":"CAROB","Genus":"CERATONIA","Species":"SILIQUA","House_Number":1121,"Street_Direction":null,"Street_Name":"FOREST","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.161813,"Latitude":34.164257},"geometry":{"type":"Point","coordinates":[-118.16181303336427,34.16425681291275]}},{"type":"Feature","properties":{"OBJECTID":7386,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":684,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":24,"Longitude":-118.136522,"Latitude":34.166841},"geometry":{"type":"Point","coordinates":[-118.13652236019519,34.16684132422057]}},{"type":"Feature","properties":{"OBJECTID":342,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1064,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.162718,"Latitude":34.16239},"geometry":{"type":"Point","coordinates":[-118.16271764017893,34.16239019484169]}},{"type":"Feature","properties":{"OBJECTID":8417,"Common_Name":"CHINESE TALLOW TREE","Genus":"SAPIUM","Species":"SEBIFERUM","House_Number":637,"Street_Direction":null,"Street_Name":"DOUGLAS","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.137418,"Latitude":34.165834},"geometry":{"type":"Point","coordinates":[-118.13741770152359,34.16583364669751]}},{"type":"Feature","properties":{"OBJECTID":7387,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":685,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":25,"Longitude":-118.136406,"Latitude":34.166954},"geometry":{"type":"Point","coordinates":[-118.13640647723611,34.16695390028904]}},{"type":"Feature","properties":{"OBJECTID":11329,"Common_Name":"CAROB","Genus":"CERATONIA","Species":"SILIQUA","House_Number":1122,"Street_Direction":null,"Street_Name":"FOREST","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.161593,"Latitude":34.164195},"geometry":{"type":"Point","coordinates":[-118.16159286981721,34.16419469337789]}},{"type":"Feature","properties":{"OBJECTID":343,"Common_Name":"NO ROOM FOR REPLANT","Genus":"NO","Species":"ROOM FOR REPLANT","House_Number":1064,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.162507,"Latitude":34.162641},"geometry":{"type":"Point","coordinates":[-118.1625073271954,34.16264087086161]}},{"type":"Feature","properties":{"OBJECTID":8418,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":644,"Street_Direction":null,"Street_Name":"DOUGLAS","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.13713,"Latitude":34.165522},"geometry":{"type":"Point","coordinates":[-118.13712953112126,34.16552242171255]}},{"type":"Feature","properties":{"OBJECTID":7388,"Common_Name":"HORSETAIL TREE","Genus":"CASUARINA","Species":"EQUISETIFOLIA","House_Number":703,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.136032,"Latitude":34.166956},"geometry":{"type":"Point","coordinates":[-118.13603186648521,34.166955652918055]}},{"type":"Feature","properties":{"OBJECTID":8419,"Common_Name":"BOTTLEBRUSH","Genus":"CALLISTEMON","Species":"CITRINUS","House_Number":645,"Street_Direction":null,"Street_Name":"DOUGLAS","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.137244,"Latitude":34.165834},"geometry":{"type":"Point","coordinates":[-118.13724392215205,34.16583384404607]}},{"type":"Feature","properties":{"OBJECTID":11330,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":1123,"Street_Direction":null,"Street_Name":"FOREST","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.161908,"Latitude":34.164379},"geometry":{"type":"Point","coordinates":[-118.16190799372463,34.16437901193376]}},{"type":"Feature","properties":{"OBJECTID":344,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1064,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.162664,"Latitude":34.162493},"geometry":{"type":"Point","coordinates":[-118.1626642210042,34.16249339562107]}},{"type":"Feature","properties":{"OBJECTID":11331,"Common_Name":"PURPLE-LEAF PLUM","Genus":"PRUNUS","Species":"CERASIFERA","House_Number":1116,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":2,"Longitude":-118.162154,"Latitude":34.164686},"geometry":{"type":"Point","coordinates":[-118.16215427903309,34.16468625478557]}},{"type":"Feature","properties":{"OBJECTID":345,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1064,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":29,"Longitude":-118.162571,"Latitude":34.162609},"geometry":{"type":"Point","coordinates":[-118.16257139948068,34.16260932128491]}},{"type":"Feature","properties":{"OBJECTID":7389,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":587,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.13832,"Latitude":34.146048},"geometry":{"type":"Point","coordinates":[-118.13832004064443,34.146048356678925]}},{"type":"Feature","properties":{"OBJECTID":11332,"Common_Name":"LAVENDER BLOOM","Genus":"TABEBUIA","Species":"AVELLANDAE","House_Number":1130,"Street_Direction":null,"Street_Name":"FOREST","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":2,"Longitude":-118.161957,"Latitude":34.164647},"geometry":{"type":"Point","coordinates":[-118.16195674450456,34.164647112652936]}},{"type":"Feature","properties":{"OBJECTID":346,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1064,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":30,"Longitude":-118.162308,"Latitude":34.162683},"geometry":{"type":"Point","coordinates":[-118.1623081737278,34.16268265206462]}},{"type":"Feature","properties":{"OBJECTID":8420,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2054,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":25,"Longitude":-118.107806,"Latitude":34.162427},"geometry":{"type":"Point","coordinates":[-118.1078055731799,34.162426992032984]}},{"type":"Feature","properties":{"OBJECTID":7390,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":587,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.13832,"Latitude":34.146131},"geometry":{"type":"Point","coordinates":[-118.13831952621595,34.14613128279923]}},{"type":"Feature","properties":{"OBJECTID":11333,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3129,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.085711,"Latitude":34.150235},"geometry":{"type":"Point","coordinates":[-118.08571123119509,34.150234639012595]}},{"type":"Feature","properties":{"OBJECTID":347,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1065,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":19,"Longitude":-118.16285,"Latitude":34.162456},"geometry":{"type":"Point","coordinates":[-118.16285047374079,34.16245568899924]}},{"type":"Feature","properties":{"OBJECTID":8421,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":2064,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.107641,"Latitude":34.16243},"geometry":{"type":"Point","coordinates":[-118.10764125140645,34.16242968343635]}},{"type":"Feature","properties":{"OBJECTID":11334,"Common_Name":"UNDER PROCESS FOR PLANT","Genus":"UNDER PROCESS /PLANT","Species":null,"House_Number":3035,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.086082,"Latitude":34.150122},"geometry":{"type":"Point","coordinates":[-118.08608233626171,34.150121726417645]}},{"type":"Feature","properties":{"OBJECTID":7391,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":587,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":22,"Longitude":-118.138322,"Latitude":34.146259},"geometry":{"type":"Point","coordinates":[-118.13832234568814,34.146259190604106]}},{"type":"Feature","properties":{"OBJECTID":348,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1065,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":28,"Longitude":-118.162796,"Latitude":34.162551},"geometry":{"type":"Point","coordinates":[-118.16279564697274,34.162551097991454]}},{"type":"Feature","properties":{"OBJECTID":8422,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":2064,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":9,"Longitude":-118.107584,"Latitude":34.162431},"geometry":{"type":"Point","coordinates":[-118.10758388590594,34.162430925408614]}},{"type":"Feature","properties":{"OBJECTID":11335,"Common_Name":"SIBERIAN ELM","Genus":"ULMUS","Species":"PUMILA","House_Number":3035,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.0859,"Latitude":34.150126},"geometry":{"type":"Point","coordinates":[-118.08590044304623,34.150126484238946]}},{"type":"Feature","properties":{"OBJECTID":7392,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":587,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":"","Trunk_Diameter":17,"Longitude":-118.138324,"Latitude":34.146371},"geometry":{"type":"Point","coordinates":[-118.13832383382629,34.14637084081961]}},{"type":"Feature","properties":{"OBJECTID":349,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1065,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.162739,"Latitude":34.162621},"geometry":{"type":"Point","coordinates":[-118.16273890596331,34.16262093218067]}},{"type":"Feature","properties":{"OBJECTID":8423,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":2082,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":"","Trunk_Diameter":3,"Longitude":-118.107419,"Latitude":34.162399},"geometry":{"type":"Point","coordinates":[-118.10741861735231,34.162399047244925]}},{"type":"Feature","properties":{"OBJECTID":11336,"Common_Name":"UNDER PROCESS FOR PLANT","Genus":"UNDER PROCESS /PLANT","Species":null,"House_Number":3135,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.085578,"Latitude":34.150326},"geometry":{"type":"Point","coordinates":[-118.08557765250868,34.150325943285544]}},{"type":"Feature","properties":{"OBJECTID":7393,"Common_Name":"MAINDENHAIR TREE","Genus":"GINKGO","Species":"BILOBA","House_Number":532,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":2,"Longitude":-118.138564,"Latitude":34.14576},"geometry":{"type":"Point","coordinates":[-118.13856369269023,34.14576004030488]}},{"type":"Feature","properties":{"OBJECTID":350,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1065,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":28,"Longitude":-118.162658,"Latitude":34.162707},"geometry":{"type":"Point","coordinates":[-118.16265795301324,34.16270707516599]}},{"type":"Feature","properties":{"OBJECTID":8424,"Common_Name":"CAROB","Genus":"CERATONIA","Species":"SILIQUA","House_Number":2085,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":22,"Longitude":-118.107373,"Latitude":34.16266},"geometry":{"type":"Point","coordinates":[-118.10737346591446,34.16266033118822]}},{"type":"Feature","properties":{"OBJECTID":11337,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3035,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":11,"Longitude":-118.085359,"Latitude":34.150214},"geometry":{"type":"Point","coordinates":[-118.08535853953136,34.15021449409089]}},{"type":"Feature","properties":{"OBJECTID":7394,"Common_Name":"BOTTLE TREE","Genus":"BRACHYCHITON","Species":"POPULNEUS","House_Number":399,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.142385,"Latitude":34.166914},"geometry":{"type":"Point","coordinates":[-118.14238468467724,34.16691377343222]}},{"type":"Feature","properties":{"OBJECTID":351,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1065,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.162581,"Latitude":34.162779},"geometry":{"type":"Point","coordinates":[-118.16258070353081,34.162779261915574]}},{"type":"Feature","properties":{"OBJECTID":8425,"Common_Name":"CAROB","Genus":"CERATONIA","Species":"SILIQUA","House_Number":2085,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":28,"Longitude":-118.107359,"Latitude":34.162767},"geometry":{"type":"Point","coordinates":[-118.10735852821087,34.16276715874291]}},{"type":"Feature","properties":{"OBJECTID":11338,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3035,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.085344,"Latitude":34.150299},"geometry":{"type":"Point","coordinates":[-118.08534407058399,34.15029921662809]}},{"type":"Feature","properties":{"OBJECTID":7395,"Common_Name":"BOTTLE TREE","Genus":"BRACHYCHITON","Species":"POPULNEUS","House_Number":403,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.142238,"Latitude":34.166917},"geometry":{"type":"Point","coordinates":[-118.14223788685172,34.166916757158674]}},{"type":"Feature","properties":{"OBJECTID":352,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1075,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":26,"Longitude":-118.162502,"Latitude":34.162888},"geometry":{"type":"Point","coordinates":[-118.16250165936971,34.16288788011822]}},{"type":"Feature","properties":{"OBJECTID":8426,"Common_Name":"PLANTING SITE-SMALL","Genus":"PLANTING SITE","Species":"SMALL","House_Number":2085,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.107352,"Latitude":34.162841},"geometry":{"type":"Point","coordinates":[-118.10735216196495,34.16284056163803]}},{"type":"Feature","properties":{"OBJECTID":11339,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3035,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":19,"Longitude":-118.085325,"Latitude":34.150398},"geometry":{"type":"Point","coordinates":[-118.08532545608762,34.150397771568684]}},{"type":"Feature","properties":{"OBJECTID":7396,"Common_Name":"BOTTLE TREE","Genus":"BRACHYCHITON","Species":"POPULNEUS","House_Number":403,"Street_Direction":"E","Street_Name":"CLAREMONT","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.142105,"Latitude":34.166914},"geometry":{"type":"Point","coordinates":[-118.14210528653075,34.166913538617216]}},{"type":"Feature","properties":{"OBJECTID":353,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1075,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.162459,"Latitude":34.162974},"geometry":{"type":"Point","coordinates":[-118.16245940123802,34.16297358330638]}},{"type":"Feature","properties":{"OBJECTID":8427,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2100,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":27,"Longitude":-118.107032,"Latitude":34.162433},"geometry":{"type":"Point","coordinates":[-118.10703232717619,34.16243251472261]}},{"type":"Feature","properties":{"OBJECTID":11340,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":3163,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.085191,"Latitude":34.15041},"geometry":{"type":"Point","coordinates":[-118.08519119653363,34.150410076570815]}},{"type":"Feature","properties":{"OBJECTID":7397,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":250,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.144416,"Latitude":34.145086},"geometry":{"type":"Point","coordinates":[-118.14441607051323,34.145085600244684]}},{"type":"Feature","properties":{"OBJECTID":354,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1080,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.16232,"Latitude":34.162897},"geometry":{"type":"Point","coordinates":[-118.1623199524218,34.16289683566478]}},{"type":"Feature","properties":{"OBJECTID":11341,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3191,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.08443,"Latitude":34.150152},"geometry":{"type":"Point","coordinates":[-118.08442951555271,34.15015249812064]}},{"type":"Feature","properties":{"OBJECTID":7398,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":250,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.144423,"Latitude":34.145163},"geometry":{"type":"Point","coordinates":[-118.14442284432207,34.14516288221928]}},{"type":"Feature","properties":{"OBJECTID":8428,"Common_Name":"PLANTING SITE-SMALL","Genus":"PLANTING SITE","Species":"SMALL","House_Number":2105,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.107012,"Latitude":34.162534},"geometry":{"type":"Point","coordinates":[-118.10701150428103,34.162534144707315]}},{"type":"Feature","properties":{"OBJECTID":355,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1080,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":28,"Longitude":-118.162298,"Latitude":34.163026},"geometry":{"type":"Point","coordinates":[-118.16229779225861,34.163025870981016]}},{"type":"Feature","properties":{"OBJECTID":11342,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3205,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.084247,"Latitude":34.150156},"geometry":{"type":"Point","coordinates":[-118.08424738736447,34.15015559390114]}},{"type":"Feature","properties":{"OBJECTID":7399,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":250,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.144416,"Latitude":34.145019},"geometry":{"type":"Point","coordinates":[-118.14441595603874,34.14501935136693]}},{"type":"Feature","properties":{"OBJECTID":8429,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2110,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.106897,"Latitude":34.162434},"geometry":{"type":"Point","coordinates":[-118.10689657102304,34.162433758112634]}},{"type":"Feature","properties":{"OBJECTID":356,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1080,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":24,"Longitude":-118.161992,"Latitude":34.162815},"geometry":{"type":"Point","coordinates":[-118.16199249690823,34.1628150208294]}},{"type":"Feature","properties":{"OBJECTID":11343,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3215,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":10,"Longitude":-118.084037,"Latitude":34.150159},"geometry":{"type":"Point","coordinates":[-118.08403668937305,34.150158710169215]}},{"type":"Feature","properties":{"OBJECTID":13160,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":960,"Street_Direction":"N","Street_Name":"EL MOLINO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":24,"Longitude":-118.136984,"Latitude":34.162432},"geometry":{"type":"Point","coordinates":[-118.13698420197483,34.16243202437053]}},{"type":"Feature","properties":{"OBJECTID":7400,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":250,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.144423,"Latitude":34.145334},"geometry":{"type":"Point","coordinates":[-118.14442314006246,34.14533402492869]}},{"type":"Feature","properties":{"OBJECTID":8430,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2113,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.106857,"Latitude":34.162538},"geometry":{"type":"Point","coordinates":[-118.10685717099952,34.162537862064546]}},{"type":"Feature","properties":{"OBJECTID":7401,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":250,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.144437,"Latitude":34.145494},"geometry":{"type":"Point","coordinates":[-118.14443669728729,34.14549410984291]}},{"type":"Feature","properties":{"OBJECTID":357,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1080,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":53,"Longitude":-118.162235,"Latitude":34.162804},"geometry":{"type":"Point","coordinates":[-118.16223519949132,34.162804150241534]}},{"type":"Feature","properties":{"OBJECTID":8431,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2116,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":10,"Longitude":-118.106764,"Latitude":34.162432},"geometry":{"type":"Point","coordinates":[-118.10676418885689,34.162431629350216]}},{"type":"Feature","properties":{"OBJECTID":11344,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3220,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.084017,"Latitude":34.150052},"geometry":{"type":"Point","coordinates":[-118.08401687531521,34.150052496589225]}},{"type":"Feature","properties":{"OBJECTID":7402,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":250,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.144437,"Latitude":34.145417},"geometry":{"type":"Point","coordinates":[-118.14443656371478,34.14541681993572]}},{"type":"Feature","properties":{"OBJECTID":358,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1085,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":27,"Longitude":-118.162411,"Latitude":34.163224},"geometry":{"type":"Point","coordinates":[-118.16241093719154,34.163224387797946]}},{"type":"Feature","properties":{"OBJECTID":8432,"Common_Name":"CAROB","Genus":"CERATONIA","Species":"SILIQUA","House_Number":2121,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":39,"Longitude":-118.106717,"Latitude":34.162539},"geometry":{"type":"Point","coordinates":[-118.10671719053202,34.16253917930524]}},{"type":"Feature","properties":{"OBJECTID":11345,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3225,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":"","Trunk_Diameter":15,"Longitude":-118.083847,"Latitude":34.150163},"geometry":{"type":"Point","coordinates":[-118.0838474194308,34.1501628001913]}},{"type":"Feature","properties":{"OBJECTID":7403,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":250,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.144437,"Latitude":34.145649},"geometry":{"type":"Point","coordinates":[-118.14443696443307,34.14564868965762]}},{"type":"Feature","properties":{"OBJECTID":359,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1085,"Street_Direction":null,"Street_Name":"ARMADA","Street_Type":"DR","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.162416,"Latitude":34.163317},"geometry":{"type":"Point","coordinates":[-118.1624157778013,34.16331661609813]}},{"type":"Feature","properties":{"OBJECTID":8433,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":2131,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":9,"Longitude":-118.10652,"Latitude":34.16254},"geometry":{"type":"Point","coordinates":[-118.10652049941064,34.16253994863701]}},{"type":"Feature","properties":{"OBJECTID":11346,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3230,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.083908,"Latitude":34.150043},"geometry":{"type":"Point","coordinates":[-118.08390808010844,34.15004302943779]}},{"type":"Feature","properties":{"OBJECTID":7404,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":255,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.14504,"Latitude":34.146135},"geometry":{"type":"Point","coordinates":[-118.14504019946541,34.14613498632388]}},{"type":"Feature","properties":{"OBJECTID":8434,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":2131,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.106399,"Latitude":34.162669},"geometry":{"type":"Point","coordinates":[-118.10639862828032,34.162668949614236]}},{"type":"Feature","properties":{"OBJECTID":360,"Common_Name":"FERN PINE","Genus":"PODOCARPUS","Species":"GRACILIOR","House_Number":753,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"PKWY","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.147461,"Latitude":34.132753},"geometry":{"type":"Point","coordinates":[-118.14746141719668,34.13275331224762]}},{"type":"Feature","properties":{"OBJECTID":11347,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3230,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.083828,"Latitude":34.15005},"geometry":{"type":"Point","coordinates":[-118.08382798406033,34.15005010431299]}},{"type":"Feature","properties":{"OBJECTID":7405,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":263,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.145017,"Latitude":34.14615},"geometry":{"type":"Point","coordinates":[-118.14501666120151,34.14615001423484]}},{"type":"Feature","properties":{"OBJECTID":8435,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":2131,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.106397,"Latitude":34.162801},"geometry":{"type":"Point","coordinates":[-118.1063973610439,34.162801424394715]}},{"type":"Feature","properties":{"OBJECTID":11348,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3231,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.083655,"Latitude":34.150165},"geometry":{"type":"Point","coordinates":[-118.08365457667082,34.15016491262792]}},{"type":"Feature","properties":{"OBJECTID":361,"Common_Name":"NO ROOM FOR REPLANT","Genus":"NO","Species":"ROOM FOR REPLANT","House_Number":760,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.165612,"Latitude":34.132674},"geometry":{"type":"Point","coordinates":[-118.16561157475847,34.13267376659368]}},{"type":"Feature","properties":{"OBJECTID":7406,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":250,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.144443,"Latitude":34.145571},"geometry":{"type":"Point","coordinates":[-118.14444347006402,34.145571391818294]}},{"type":"Feature","properties":{"OBJECTID":8436,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1920,"Street_Direction":"N","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":9,"Longitude":-118.150669,"Latitude":34.179089},"geometry":{"type":"Point","coordinates":[-118.15066935542681,34.17908869024222]}},{"type":"Feature","properties":{"OBJECTID":11349,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3239,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.083419,"Latitude":34.150168},"geometry":{"type":"Point","coordinates":[-118.08341888074186,34.15016804511216]}},{"type":"Feature","properties":{"OBJECTID":362,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":760,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":"","Trunk_Diameter":25,"Longitude":-118.165594,"Latitude":34.132578},"geometry":{"type":"Point","coordinates":[-118.16559387385908,34.13257793193556]}},{"type":"Feature","properties":{"OBJECTID":7407,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":281,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.144369,"Latitude":34.14611},"geometry":{"type":"Point","coordinates":[-118.14436867102391,34.14611046876155]}},{"type":"Feature","properties":{"OBJECTID":8437,"Common_Name":"SOUTHERN LIVE OAK","Genus":"QUERCUS","Species":"VIRGINIANA","House_Number":1920,"Street_Direction":"N","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":"","Trunk_Diameter":3,"Longitude":-118.150672,"Latitude":34.179174},"geometry":{"type":"Point","coordinates":[-118.1506716706276,34.17917429590267]}},{"type":"Feature","properties":{"OBJECTID":11350,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3255,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.083194,"Latitude":34.150172},"geometry":{"type":"Point","coordinates":[-118.08319449305729,34.15017166339535]}},{"type":"Feature","properties":{"OBJECTID":363,"Common_Name":"FERN PINE","Genus":"PODOCARPUS","Species":"GRACILIOR","House_Number":770,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"PKWY","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.147111,"Latitude":34.132625},"geometry":{"type":"Point","coordinates":[-118.14711058799533,34.13262526344083]}},{"type":"Feature","properties":{"OBJECTID":7408,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":281,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.144369,"Latitude":34.14622},"geometry":{"type":"Point","coordinates":[-118.14436885964156,34.14621966018504]}},{"type":"Feature","properties":{"OBJECTID":11351,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":3275,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":10,"Longitude":-118.08298,"Latitude":34.150181},"geometry":{"type":"Point","coordinates":[-118.08298023006355,34.150180717755624]}},{"type":"Feature","properties":{"OBJECTID":8438,"Common_Name":"STUMP","Genus":"STUMP","Species":null,"House_Number":1927,"Street_Direction":"N","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":27,"Longitude":-118.150868,"Latitude":34.178898},"geometry":{"type":"Point","coordinates":[-118.15086799245168,34.17889765058377]}},{"type":"Feature","properties":{"OBJECTID":364,"Common_Name":"FERN PINE","Genus":"PODOCARPUS","Species":"GRACILIOR","House_Number":770,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"PKWY","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.147114,"Latitude":34.132583},"geometry":{"type":"Point","coordinates":[-118.147113512103,34.132582862686476]}},{"type":"Feature","properties":{"OBJECTID":11352,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3280,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.083493,"Latitude":34.149956},"geometry":{"type":"Point","coordinates":[-118.08349348400168,34.14995629440249]}},{"type":"Feature","properties":{"OBJECTID":7409,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":281,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":11,"Longitude":-118.144372,"Latitude":34.146466},"geometry":{"type":"Point","coordinates":[-118.14437237600468,34.1464663022856]}},{"type":"Feature","properties":{"OBJECTID":8439,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1935,"Street_Direction":"N","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.150874,"Latitude":34.179105},"geometry":{"type":"Point","coordinates":[-118.15087417958941,34.17910535125234]}},{"type":"Feature","properties":{"OBJECTID":365,"Common_Name":"GUATAMALAN HOLLY","Genus":"OLMEDIELLA","Species":"BETSCHLERANA","House_Number":770,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"PKWY","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.147299,"Latitude":34.132383},"geometry":{"type":"Point","coordinates":[-118.14729910089697,34.13238312518531]}},{"type":"Feature","properties":{"OBJECTID":7410,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":281,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.144371,"Latitude":34.146601},"geometry":{"type":"Point","coordinates":[-118.14437106385635,34.14660118823817]}},{"type":"Feature","properties":{"OBJECTID":11353,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3280,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.083358,"Latitude":34.149956},"geometry":{"type":"Point","coordinates":[-118.08335801014935,34.14995638787736]}},{"type":"Feature","properties":{"OBJECTID":8440,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1135,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.142835,"Latitude":34.12646},"geometry":{"type":"Point","coordinates":[-118.14283467389062,34.12646042659974]}},{"type":"Feature","properties":{"OBJECTID":11354,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3280,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.08319,"Latitude":34.149969},"geometry":{"type":"Point","coordinates":[-118.08319015204336,34.14996874627157]}},{"type":"Feature","properties":{"OBJECTID":366,"Common_Name":"GUATAMALAN HOLLY","Genus":"OLMEDIELLA","Species":"BETSCHLERANA","House_Number":770,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"PKWY","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.147296,"Latitude":34.132351},"geometry":{"type":"Point","coordinates":[-118.14729604505065,34.13235070805442]}},{"type":"Feature","properties":{"OBJECTID":7411,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":281,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.14452,"Latitude":34.146078},"geometry":{"type":"Point","coordinates":[-118.14452015172918,34.14607771005288]}},{"type":"Feature","properties":{"OBJECTID":8441,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1135,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":24,"Longitude":-118.142836,"Latitude":34.126334},"geometry":{"type":"Point","coordinates":[-118.14283599581543,34.12633380324506]}},{"type":"Feature","properties":{"OBJECTID":11355,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":3280,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.083031,"Latitude":34.149962},"geometry":{"type":"Point","coordinates":[-118.08303110982186,34.1499615099225]}},{"type":"Feature","properties":{"OBJECTID":367,"Common_Name":"GUATAMALAN HOLLY","Genus":"OLMEDIELLA","Species":"BETSCHLERANA","House_Number":770,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"PKWY","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.147302,"Latitude":34.132209},"geometry":{"type":"Point","coordinates":[-118.14730179306324,34.13220854855819]}},{"type":"Feature","properties":{"OBJECTID":7412,"Common_Name":"MAINDENHAIR TREE","Genus":"GINKGO","Species":"BILOBA","House_Number":302,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":6,"Longitude":-118.143989,"Latitude":34.145723},"geometry":{"type":"Point","coordinates":[-118.14398901949042,34.1457225797635]}},{"type":"Feature","properties":{"OBJECTID":8442,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1135,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":24,"Longitude":-118.142834,"Latitude":34.126205},"geometry":{"type":"Point","coordinates":[-118.14283423681928,34.12620462588897]}},{"type":"Feature","properties":{"OBJECTID":11356,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":3330,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.082273,"Latitude":34.148954},"geometry":{"type":"Point","coordinates":[-118.0822725431989,34.14895395681642]}},{"type":"Feature","properties":{"OBJECTID":368,"Common_Name":"GUATAMALAN HOLLY","Genus":"OLMEDIELLA","Species":"BETSCHLERANA","House_Number":770,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"PKWY","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.14729,"Latitude":34.132266},"geometry":{"type":"Point","coordinates":[-118.14728989712646,34.13226592295764]}},{"type":"Feature","properties":{"OBJECTID":7413,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":315,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.143957,"Latitude":34.146036},"geometry":{"type":"Point","coordinates":[-118.14395741026968,34.14603641244418]}},{"type":"Feature","properties":{"OBJECTID":8443,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1135,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":11,"Longitude":-118.142831,"Latitude":34.126068},"geometry":{"type":"Point","coordinates":[-118.1428309275318,34.1260677774373]}},{"type":"Feature","properties":{"OBJECTID":11357,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":3330,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":4,"Longitude":-118.082381,"Latitude":34.149489},"geometry":{"type":"Point","coordinates":[-118.08238075027863,34.14948937155938]}},{"type":"Feature","properties":{"OBJECTID":369,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":774,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.165569,"Latitude":34.132493},"geometry":{"type":"Point","coordinates":[-118.16556890056822,34.13249302838478]}},{"type":"Feature","properties":{"OBJECTID":7414,"Common_Name":"INDIAN LAUREL FIG","Genus":"FICUS","Species":"MICROCARPA","House_Number":315,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.143939,"Latitude":34.146036},"geometry":{"type":"Point","coordinates":[-118.14393853013908,34.14603575066135]}},{"type":"Feature","properties":{"OBJECTID":8444,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1135,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.14283,"Latitude":34.12593},"geometry":{"type":"Point","coordinates":[-118.14282992401886,34.12593028437152]}},{"type":"Feature","properties":{"OBJECTID":11358,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":3333,"Street_Direction":null,"Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.082159,"Latitude":34.150189},"geometry":{"type":"Point","coordinates":[-118.08215853382035,34.15018865341169]}},{"type":"Feature","properties":{"OBJECTID":7415,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":326,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.143576,"Latitude":34.145723},"geometry":{"type":"Point","coordinates":[-118.14357589066802,34.14572307108331]}},{"type":"Feature","properties":{"OBJECTID":370,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":774,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":26,"Longitude":-118.165553,"Latitude":34.132401},"geometry":{"type":"Point","coordinates":[-118.16555266621282,34.132400832996765]}},{"type":"Feature","properties":{"OBJECTID":8445,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2167,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.105814,"Latitude":34.162542},"geometry":{"type":"Point","coordinates":[-118.10581431902513,34.16254168562675]}},{"type":"Feature","properties":{"OBJECTID":7416,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":330,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.143268,"Latitude":34.145595},"geometry":{"type":"Point","coordinates":[-118.1432682300126,34.14559487321133]}},{"type":"Feature","properties":{"OBJECTID":11359,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":3333,"Street_Direction":null,"Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.082092,"Latitude":34.150192},"geometry":{"type":"Point","coordinates":[-118.08209239203879,34.15019224495832]}},{"type":"Feature","properties":{"OBJECTID":8446,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2173,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.105627,"Latitude":34.162543},"geometry":{"type":"Point","coordinates":[-118.10562650974357,34.16254297312774]}},{"type":"Feature","properties":{"OBJECTID":371,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":782,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":26,"Longitude":-118.165539,"Latitude":34.132315},"geometry":{"type":"Point","coordinates":[-118.16553936347809,34.132314699995355]}},{"type":"Feature","properties":{"OBJECTID":7417,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":330,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.143255,"Latitude":34.145634},"geometry":{"type":"Point","coordinates":[-118.14325501675646,34.145633533901346]}},{"type":"Feature","properties":{"OBJECTID":11360,"Common_Name":"CORK OAK","Genus":"QUERCUS","Species":"SUBER","House_Number":3333,"Street_Direction":null,"Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.081691,"Latitude":34.150198},"geometry":{"type":"Point","coordinates":[-118.08169125756399,34.15019783837979]}},{"type":"Feature","properties":{"OBJECTID":372,"Common_Name":"FERN PINE","Genus":"PODOCARPUS","Species":"GRACILIOR","House_Number":789,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"PKWY","Street_Suffix":null,"Trunk_Diameter":19,"Longitude":-118.147453,"Latitude":34.13217},"geometry":{"type":"Point","coordinates":[-118.14745305618428,34.13217000940756]}},{"type":"Feature","properties":{"OBJECTID":8447,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":2174,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.105674,"Latitude":34.162432},"geometry":{"type":"Point","coordinates":[-118.10567385295879,34.162431747754766]}},{"type":"Feature","properties":{"OBJECTID":7418,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":330,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.143275,"Latitude":34.145501},"geometry":{"type":"Point","coordinates":[-118.14327470941237,34.14550101343921]}},{"type":"Feature","properties":{"OBJECTID":11361,"Common_Name":"CORK OAK","Genus":"QUERCUS","Species":"SUBER","House_Number":3333,"Street_Direction":null,"Street_Name":"FOOTHILL","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":6,"Longitude":-118.081591,"Latitude":34.150194},"geometry":{"type":"Point","coordinates":[-118.08159096863247,34.150194358574225]}},{"type":"Feature","properties":{"OBJECTID":373,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":794,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":24,"Longitude":-118.165498,"Latitude":34.132116},"geometry":{"type":"Point","coordinates":[-118.16549811283164,34.13211575880146]}},{"type":"Feature","properties":{"OBJECTID":8448,"Common_Name":"BOTTLE TREE","Genus":"BRACHYCHITON","Species":"POPULNEUS","House_Number":2182,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.105514,"Latitude":34.162435},"geometry":{"type":"Point","coordinates":[-118.10551447390515,34.162434920578356]}},{"type":"Feature","properties":{"OBJECTID":7419,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":330,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.143275,"Latitude":34.145413},"geometry":{"type":"Point","coordinates":[-118.14327455798534,34.1454126816001]}},{"type":"Feature","properties":{"OBJECTID":11362,"Common_Name":"PLANTING SITE-SMALL","Genus":"PLANTING SITE","Species":"SMALL","House_Number":3395,"Street_Direction":"E","Street_Name":"FOOTHILL","Street_Type":"FWY","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.080895,"Latitude":34.150295},"geometry":{"type":"Point","coordinates":[-118.08089527825788,34.15029465160807]}},{"type":"Feature","properties":{"OBJECTID":374,"Common_Name":"FERN PINE","Genus":"PODOCARPUS","Species":"GRACILIOR","House_Number":780,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"PKWY","Street_Suffix":null,"Trunk_Diameter":19,"Longitude":-118.147178,"Latitude":34.13245},"geometry":{"type":"Point","coordinates":[-118.1471783399979,34.13244964027885]}},{"type":"Feature","properties":{"OBJECTID":7420,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":334,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.143214,"Latitude":34.145539},"geometry":{"type":"Point","coordinates":[-118.14321375040606,34.14553940885062]}},{"type":"Feature","properties":{"OBJECTID":11363,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1097,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":11,"Longitude":-118.143919,"Latitude":34.164711},"geometry":{"type":"Point","coordinates":[-118.14391912306887,34.16471065078788]}},{"type":"Feature","properties":{"OBJECTID":8449,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":2186,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":7,"Longitude":-118.105339,"Latitude":34.162428},"geometry":{"type":"Point","coordinates":[-118.10533926429119,34.16242799360866]}},{"type":"Feature","properties":{"OBJECTID":375,"Common_Name":"FERN PINE","Genus":"PODOCARPUS","Species":"GRACILIOR","House_Number":800,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"PKWY","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.147173,"Latitude":34.131928},"geometry":{"type":"Point","coordinates":[-118.14717276321917,34.131928111440786]}},{"type":"Feature","properties":{"OBJECTID":7421,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":338,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.14319,"Latitude":34.145587},"geometry":{"type":"Point","coordinates":[-118.14318952972855,34.14558658310877]}},{"type":"Feature","properties":{"OBJECTID":11364,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":1098,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":33,"Longitude":-118.143778,"Latitude":34.164646},"geometry":{"type":"Point","coordinates":[-118.14377760268664,34.164646429955546]}},{"type":"Feature","properties":{"OBJECTID":8450,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2194,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.105182,"Latitude":34.162431},"geometry":{"type":"Point","coordinates":[-118.1051823167383,34.16243116477779]}},{"type":"Feature","properties":{"OBJECTID":376,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":802,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":30,"Longitude":-118.165445,"Latitude":34.131999},"geometry":{"type":"Point","coordinates":[-118.1654453518006,34.131999345086534]}},{"type":"Feature","properties":{"OBJECTID":7422,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":342,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.142936,"Latitude":34.145617},"geometry":{"type":"Point","coordinates":[-118.14293626844811,34.14561734913916]}},{"type":"Feature","properties":{"OBJECTID":11365,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1107,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":11,"Longitude":-118.143923,"Latitude":34.164852},"geometry":{"type":"Point","coordinates":[-118.14392335666992,34.16485202931516]}},{"type":"Feature","properties":{"OBJECTID":8451,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":2195,"Street_Direction":null,"Street_Name":"DUDLEY","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.105154,"Latitude":34.162546},"geometry":{"type":"Point","coordinates":[-118.10515378863576,34.162546072579595]}},{"type":"Feature","properties":{"OBJECTID":377,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":814,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":6,"Longitude":-118.165365,"Latitude":34.131827},"geometry":{"type":"Point","coordinates":[-118.16536475717899,34.13182715293092]}},{"type":"Feature","properties":{"OBJECTID":7423,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":360,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.142312,"Latitude":34.145552},"geometry":{"type":"Point","coordinates":[-118.14231199637632,34.14555183657078]}},{"type":"Feature","properties":{"OBJECTID":11366,"Common_Name":"SENGAL PALM","Genus":"PHOENIX","Species":"RECLINATA","House_Number":1108,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.143778,"Latitude":34.164734},"geometry":{"type":"Point","coordinates":[-118.14377775405671,34.16473439940783]}},{"type":"Feature","properties":{"OBJECTID":378,"Common_Name":"FERN PINE","Genus":"PODOCARPUS","Species":"GRACILIOR","House_Number":826,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"PKWY","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.14717,"Latitude":34.131548},"geometry":{"type":"Point","coordinates":[-118.14716955474411,34.13154849691517]}},{"type":"Feature","properties":{"OBJECTID":8452,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":751,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":19,"Longitude":-118.142889,"Latitude":34.13288},"geometry":{"type":"Point","coordinates":[-118.14288933512037,34.13287973995371]}},{"type":"Feature","properties":{"OBJECTID":7424,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":350,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":11,"Longitude":-118.143246,"Latitude":34.145726},"geometry":{"type":"Point","coordinates":[-118.1432464720768,34.14572570755183]}},{"type":"Feature","properties":{"OBJECTID":11367,"Common_Name":"SENGAL PALM","Genus":"PHOENIX","Species":"RECLINATA","House_Number":1108,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.143781,"Latitude":34.164814},"geometry":{"type":"Point","coordinates":[-118.14378065222567,34.16481395070011]}},{"type":"Feature","properties":{"OBJECTID":379,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":250,"Street_Direction":"N","Street_Name":"VINEDO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.095153,"Latitude":34.150737},"geometry":{"type":"Point","coordinates":[-118.09515287473602,34.150736639226906]}},{"type":"Feature","properties":{"OBJECTID":7425,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":367,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.142757,"Latitude":34.146065},"geometry":{"type":"Point","coordinates":[-118.14275738215778,34.14606532936608]}},{"type":"Feature","properties":{"OBJECTID":8453,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":757,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":22,"Longitude":-118.142889,"Latitude":34.132728},"geometry":{"type":"Point","coordinates":[-118.14288907655494,34.132728481411405]}},{"type":"Feature","properties":{"OBJECTID":11368,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1115,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":11,"Longitude":-118.144041,"Latitude":34.165115},"geometry":{"type":"Point","coordinates":[-118.14404134674774,34.16511495840371]}},{"type":"Feature","properties":{"OBJECTID":380,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":250,"Street_Direction":"N","Street_Name":"VINEDO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":4,"Longitude":-118.095077,"Latitude":34.150739},"geometry":{"type":"Point","coordinates":[-118.09507714969162,34.150738606435745]}},{"type":"Feature","properties":{"OBJECTID":7426,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":370,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.142232,"Latitude":34.145646},"geometry":{"type":"Point","coordinates":[-118.1422324759065,34.145645782241004]}},{"type":"Feature","properties":{"OBJECTID":8454,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":760,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":27,"Longitude":-118.142722,"Latitude":34.132704},"geometry":{"type":"Point","coordinates":[-118.14272156171924,34.13270382229895]}},{"type":"Feature","properties":{"OBJECTID":13161,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":967,"Street_Direction":"N","Street_Name":"EL MOLINO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.137103,"Latitude":34.162517},"geometry":{"type":"Point","coordinates":[-118.13710295454183,34.16251672298238]}},{"type":"Feature","properties":{"OBJECTID":11369,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1120,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.143785,"Latitude":34.165132},"geometry":{"type":"Point","coordinates":[-118.14378488080035,34.16513216642883]}},{"type":"Feature","properties":{"OBJECTID":381,"Common_Name":"PLANTING SITE-SMALL","Genus":"PLANTING SITE","Species":"SMALL","House_Number":250,"Street_Direction":"N","Street_Name":"VINEDO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.094991,"Latitude":34.150739},"geometry":{"type":"Point","coordinates":[-118.09499147877095,34.15073867377256]}},{"type":"Feature","properties":{"OBJECTID":7427,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":377,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.142561,"Latitude":34.146026},"geometry":{"type":"Point","coordinates":[-118.14256084752395,34.14602562975308]}},{"type":"Feature","properties":{"OBJECTID":8455,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":760,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.142721,"Latitude":34.132638},"geometry":{"type":"Point","coordinates":[-118.14272144891875,34.132637757349414]}},{"type":"Feature","properties":{"OBJECTID":11370,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1128,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.143787,"Latitude":34.165274},"geometry":{"type":"Point","coordinates":[-118.14378696614001,34.165274445441064]}},{"type":"Feature","properties":{"OBJECTID":382,"Common_Name":"FERN PINE","Genus":"PODOCARPUS","Species":"GRACILIOR","House_Number":826,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"PKWY","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.147241,"Latitude":34.131661},"geometry":{"type":"Point","coordinates":[-118.14724091781991,34.13166078222995]}},{"type":"Feature","properties":{"OBJECTID":7428,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":377,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.142457,"Latitude":34.146032},"geometry":{"type":"Point","coordinates":[-118.14245698314937,34.146031919555156]}},{"type":"Feature","properties":{"OBJECTID":13162,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":970,"Street_Direction":"N","Street_Name":"EL MOLINO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.136986,"Latitude":34.162533},"geometry":{"type":"Point","coordinates":[-118.13698562135298,34.1625330781106]}},{"type":"Feature","properties":{"OBJECTID":8456,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":765,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":31,"Longitude":-118.143281,"Latitude":34.132521},"geometry":{"type":"Point","coordinates":[-118.14328050537105,34.13252141876546]}},{"type":"Feature","properties":{"OBJECTID":11371,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1129,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.143932,"Latitude":34.165316},"geometry":{"type":"Point","coordinates":[-118.14393151714432,34.16531558074818]}},{"type":"Feature","properties":{"OBJECTID":383,"Common_Name":"DATE PALM","Genus":"PHOENIX","Species":"DACTYLIFERA","House_Number":800,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"PKWY","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.147322,"Latitude":34.132355},"geometry":{"type":"Point","coordinates":[-118.14732172316434,34.13235459211104]}},{"type":"Feature","properties":{"OBJECTID":7429,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":387,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.142359,"Latitude":34.145841},"geometry":{"type":"Point","coordinates":[-118.14235879372619,34.14584131179747]}},{"type":"Feature","properties":{"OBJECTID":13163,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1030,"Street_Direction":"S","Street_Name":"EL MOLINO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":38,"Longitude":-118.136911,"Latitude":34.12814},"geometry":{"type":"Point","coordinates":[-118.13691086788617,34.12813952089603]}},{"type":"Feature","properties":{"OBJECTID":8457,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":765,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.143201,"Latitude":34.132521},"geometry":{"type":"Point","coordinates":[-118.14320090050842,34.13252089464471]}},{"type":"Feature","properties":{"OBJECTID":11372,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1141,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.143926,"Latitude":34.165498},"geometry":{"type":"Point","coordinates":[-118.14392595983317,34.165498175423316]}},{"type":"Feature","properties":{"OBJECTID":384,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":838,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.165203,"Latitude":34.131482},"geometry":{"type":"Point","coordinates":[-118.1652028381183,34.13148216272883]}},{"type":"Feature","properties":{"OBJECTID":7430,"Common_Name":"CARROTWOOD","Genus":"CUPANIOPSIS","Species":"ANACARDIOIDES","House_Number":387,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.142382,"Latitude":34.145827},"geometry":{"type":"Point","coordinates":[-118.1423821188905,34.145826990554326]}},{"type":"Feature","properties":{"OBJECTID":13164,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1030,"Street_Direction":"S","Street_Name":"EL MOLINO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":28,"Longitude":-118.136929,"Latitude":34.128072},"geometry":{"type":"Point","coordinates":[-118.1369292524291,34.12807177167695]}},{"type":"Feature","properties":{"OBJECTID":8458,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":765,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.14312,"Latitude":34.132521},"geometry":{"type":"Point","coordinates":[-118.14311980927053,34.132520990681584]}},{"type":"Feature","properties":{"OBJECTID":11373,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":1141,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.144179,"Latitude":34.16561},"geometry":{"type":"Point","coordinates":[-118.1441789918854,34.16561034906824]}},{"type":"Feature","properties":{"OBJECTID":385,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":838,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":32,"Longitude":-118.165175,"Latitude":34.13136},"geometry":{"type":"Point","coordinates":[-118.16517487168424,34.13135964770535]}},{"type":"Feature","properties":{"OBJECTID":13165,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1030,"Street_Direction":"S","Street_Name":"EL MOLINO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.136947,"Latitude":34.127983},"geometry":{"type":"Point","coordinates":[-118.1369472776816,34.127983246186126]}},{"type":"Feature","properties":{"OBJECTID":7431,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3348,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.082075,"Latitude":34.146119},"geometry":{"type":"Point","coordinates":[-118.08207500107565,34.14611907955167]}},{"type":"Feature","properties":{"OBJECTID":8459,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":765,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":24,"Longitude":-118.143004,"Latitude":34.132523},"geometry":{"type":"Point","coordinates":[-118.14300375455514,34.13252298428331]}},{"type":"Feature","properties":{"OBJECTID":11374,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":1141,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.143988,"Latitude":34.165608},"geometry":{"type":"Point","coordinates":[-118.1439875271629,34.165608165596225]}},{"type":"Feature","properties":{"OBJECTID":386,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":838,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.164631,"Latitude":34.131574},"geometry":{"type":"Point","coordinates":[-118.16463102883709,34.13157394701448]}},{"type":"Feature","properties":{"OBJECTID":13166,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1050,"Street_Direction":"S","Street_Name":"EL MOLINO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.136977,"Latitude":34.127835},"geometry":{"type":"Point","coordinates":[-118.13697720935923,34.12783453363406]}},{"type":"Feature","properties":{"OBJECTID":7432,"Common_Name":"PLANTING SITE-SMALL","Genus":"PLANTING SITE","Species":"SMALL","House_Number":3355,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.081828,"Latitude":34.146634},"geometry":{"type":"Point","coordinates":[-118.0818283659114,34.1466337754337]}},{"type":"Feature","properties":{"OBJECTID":8460,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":770,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.142722,"Latitude":34.132452},"geometry":{"type":"Point","coordinates":[-118.14272245600918,34.132451671176774]}},{"type":"Feature","properties":{"OBJECTID":7433,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":3355,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":6,"Longitude":-118.081856,"Latitude":34.146726},"geometry":{"type":"Point","coordinates":[-118.08185631283068,34.146726395989155]}},{"type":"Feature","properties":{"OBJECTID":11375,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1144,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":11,"Longitude":-118.143787,"Latitude":34.165486},"geometry":{"type":"Point","coordinates":[-118.14378686917446,34.16548595564636]}},{"type":"Feature","properties":{"OBJECTID":387,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":838,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.164835,"Latitude":34.131575},"geometry":{"type":"Point","coordinates":[-118.16483531376282,34.13157488207763]}},{"type":"Feature","properties":{"OBJECTID":13167,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1050,"Street_Direction":"S","Street_Name":"EL MOLINO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.13701,"Latitude":34.12771},"geometry":{"type":"Point","coordinates":[-118.13701010275464,34.12771037270902]}},{"type":"Feature","properties":{"OBJECTID":11376,"Common_Name":"INCENSE CEDAR","Genus":"CALOCEDRUS","Species":"DECURRENS","House_Number":1144,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":19,"Longitude":-118.143679,"Latitude":34.165609},"geometry":{"type":"Point","coordinates":[-118.14367900525858,34.16560926730122]}},{"type":"Feature","properties":{"OBJECTID":7434,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":3355,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":8,"Longitude":-118.081921,"Latitude":34.146922},"geometry":{"type":"Point","coordinates":[-118.08192057395772,34.14692205671117]}},{"type":"Feature","properties":{"OBJECTID":8461,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":777,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.142884,"Latitude":34.132381},"geometry":{"type":"Point","coordinates":[-118.142884405944,34.13238147869037]}},{"type":"Feature","properties":{"OBJECTID":388,"Common_Name":"ITALIAN CYPRESS","Genus":"CUPRESSUS","Species":"SEMPERVIRENS","House_Number":838,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":56,"Longitude":-118.164735,"Latitude":34.131576},"geometry":{"type":"Point","coordinates":[-118.16473463465925,34.13157623278632]}},{"type":"Feature","properties":{"OBJECTID":13168,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1051,"Street_Direction":"S","Street_Name":"EL MOLINO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":9,"Longitude":-118.137137,"Latitude":34.12796},"geometry":{"type":"Point","coordinates":[-118.13713744400938,34.12795965118903]}},{"type":"Feature","properties":{"OBJECTID":11377,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":1144,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.143585,"Latitude":34.165613},"geometry":{"type":"Point","coordinates":[-118.14358546952442,34.16561280872448]}},{"type":"Feature","properties":{"OBJECTID":7435,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":3355,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":6,"Longitude":-118.081953,"Latitude":34.147005},"geometry":{"type":"Point","coordinates":[-118.08195268989739,34.147005411193945]}},{"type":"Feature","properties":{"OBJECTID":8462,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":777,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":26,"Longitude":-118.142884,"Latitude":34.132298},"geometry":{"type":"Point","coordinates":[-118.14288426267687,34.13229766533947]}},{"type":"Feature","properties":{"OBJECTID":13169,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":1115,"Street_Direction":null,"Street_Name":"CORDOVA","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":8,"Longitude":-118.127368,"Latitude":34.143022},"geometry":{"type":"Point","coordinates":[-118.12736783667108,34.14302189894704]}},{"type":"Feature","properties":{"OBJECTID":11378,"Common_Name":"INCENSE CEDAR","Genus":"CALOCEDRUS","Species":"DECURRENS","House_Number":1144,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.143516,"Latitude":34.165615},"geometry":{"type":"Point","coordinates":[-118.14351600484288,34.16561517836894]}},{"type":"Feature","properties":{"OBJECTID":7436,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3425,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.081272,"Latitude":34.146352},"geometry":{"type":"Point","coordinates":[-118.08127165786122,34.14635245600315]}},{"type":"Feature","properties":{"OBJECTID":8463,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":777,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":27,"Longitude":-118.143227,"Latitude":34.132422},"geometry":{"type":"Point","coordinates":[-118.14322701451037,34.13242176472956]}},{"type":"Feature","properties":{"OBJECTID":389,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":838,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.165056,"Latitude":34.131573},"geometry":{"type":"Point","coordinates":[-118.16505564327,34.13157336796652]}},{"type":"Feature","properties":{"OBJECTID":13170,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":1115,"Street_Direction":null,"Street_Name":"CORDOVA","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":2,"Longitude":-118.12707,"Latitude":34.143021},"geometry":{"type":"Point","coordinates":[-118.12706966124749,34.143021251682434]}},{"type":"Feature","properties":{"OBJECTID":11379,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":1144,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":22,"Longitude":-118.143442,"Latitude":34.165614},"geometry":{"type":"Point","coordinates":[-118.14344171879598,34.16561412336541]}},{"type":"Feature","properties":{"OBJECTID":7437,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3425,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.081075,"Latitude":34.146351},"geometry":{"type":"Point","coordinates":[-118.08107471751933,34.14635121158835]}},{"type":"Feature","properties":{"OBJECTID":390,"Common_Name":"ITALIAN CYPRESS","Genus":"CUPRESSUS","Species":"SEMPERVIRENS","House_Number":838,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.164935,"Latitude":34.131572},"geometry":{"type":"Point","coordinates":[-118.16493453123992,34.13157232072004]}},{"type":"Feature","properties":{"OBJECTID":8464,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":777,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":22,"Longitude":-118.142933,"Latitude":34.132425},"geometry":{"type":"Point","coordinates":[-118.14293341317988,34.132424541874855]}},{"type":"Feature","properties":{"OBJECTID":13171,"Common_Name":"SHAMEL ASH","Genus":"FRAXINUS","Species":"UHDEI","House_Number":1115,"Street_Direction":null,"Street_Name":"CORDOVA","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":25,"Longitude":-118.127956,"Latitude":34.143293},"geometry":{"type":"Point","coordinates":[-118.12795553718666,34.14329302771856]}},{"type":"Feature","properties":{"OBJECTID":7438,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3425,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.080866,"Latitude":34.146351},"geometry":{"type":"Point","coordinates":[-118.08086619476202,34.14635135213861]}},{"type":"Feature","properties":{"OBJECTID":391,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":905,"Street_Direction":"S","Street_Name":"ARROYO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.165332,"Latitude":34.131025},"geometry":{"type":"Point","coordinates":[-118.16533195876744,34.13102513799448]}},{"type":"Feature","properties":{"OBJECTID":11380,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1161,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":27,"Longitude":-118.143939,"Latitude":34.165766},"geometry":{"type":"Point","coordinates":[-118.14393887979566,34.16576610239801]}},{"type":"Feature","properties":{"OBJECTID":8465,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":778,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":33,"Longitude":-118.142717,"Latitude":34.132378},"geometry":{"type":"Point","coordinates":[-118.14271703296727,34.13237790531006]}},{"type":"Feature","properties":{"OBJECTID":13172,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2264,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.103516,"Latitude":34.163321},"geometry":{"type":"Point","coordinates":[-118.10351573496303,34.16332142135568]}},{"type":"Feature","properties":{"OBJECTID":7439,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3425,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.080479,"Latitude":34.146363},"geometry":{"type":"Point","coordinates":[-118.0804789471048,34.14636261821367]}},{"type":"Feature","properties":{"OBJECTID":8466,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":787,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.142884,"Latitude":34.132188},"geometry":{"type":"Point","coordinates":[-118.14288407580652,34.13218834322498]}},{"type":"Feature","properties":{"OBJECTID":392,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":125,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.11328,"Latitude":34.148771},"geometry":{"type":"Point","coordinates":[-118.11327972292891,34.14877133193466]}},{"type":"Feature","properties":{"OBJECTID":11381,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1161,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.143937,"Latitude":34.165886},"geometry":{"type":"Point","coordinates":[-118.14393726576162,34.16588561312852]}},{"type":"Feature","properties":{"OBJECTID":13173,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2265,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.103471,"Latitude":34.163431},"geometry":{"type":"Point","coordinates":[-118.10347140967286,34.16343071312216]}},{"type":"Feature","properties":{"OBJECTID":7440,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3425,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.080083,"Latitude":34.146364},"geometry":{"type":"Point","coordinates":[-118.0800834156917,34.14636425658352]}},{"type":"Feature","properties":{"OBJECTID":393,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":128,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":26,"Longitude":-118.113118,"Latitude":34.148274},"geometry":{"type":"Point","coordinates":[-118.11311786866469,34.14827383304825]}},{"type":"Feature","properties":{"OBJECTID":8467,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":787,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":29,"Longitude":-118.142881,"Latitude":34.132123},"geometry":{"type":"Point","coordinates":[-118.14288104195042,34.13212275322958]}},{"type":"Feature","properties":{"OBJECTID":11382,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1161,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.144171,"Latitude":34.165817},"geometry":{"type":"Point","coordinates":[-118.14417064506374,34.16581653024255]}},{"type":"Feature","properties":{"OBJECTID":7441,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3425,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.080285,"Latitude":34.146365},"geometry":{"type":"Point","coordinates":[-118.08028532005099,34.14636549841555]}},{"type":"Feature","properties":{"OBJECTID":13174,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":2270,"Street_Direction":null,"Street_Name":"MARTELO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.103221,"Latitude":34.162972},"geometry":{"type":"Point","coordinates":[-118.10322142321826,34.16297228010684]}},{"type":"Feature","properties":{"OBJECTID":394,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":132,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.113118,"Latitude":34.148419},"geometry":{"type":"Point","coordinates":[-118.11311806452017,34.14841853577379]}},{"type":"Feature","properties":{"OBJECTID":11383,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1161,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":29,"Longitude":-118.144432,"Latitude":34.165708},"geometry":{"type":"Point","coordinates":[-118.14443154132134,34.16570770789501]}},{"type":"Feature","properties":{"OBJECTID":7442,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3425,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.079883,"Latitude":34.146362},"geometry":{"type":"Point","coordinates":[-118.07988316360657,34.14636163758713]}},{"type":"Feature","properties":{"OBJECTID":13175,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":2270,"Street_Direction":null,"Street_Name":"MARTELO","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":4,"Longitude":-118.103223,"Latitude":34.163245},"geometry":{"type":"Point","coordinates":[-118.10322346822416,34.16324497524495]}},{"type":"Feature","properties":{"OBJECTID":8468,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":797,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.142881,"Latitude":34.132013},"geometry":{"type":"Point","coordinates":[-118.14288085508468,34.13201343111553]}},{"type":"Feature","properties":{"OBJECTID":395,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":144,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.11304,"Latitude":34.148678},"geometry":{"type":"Point","coordinates":[-118.11303971566052,34.14867781539001]}},{"type":"Feature","properties":{"OBJECTID":11384,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1161,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":28,"Longitude":-118.144075,"Latitude":34.165707},"geometry":{"type":"Point","coordinates":[-118.14407472427719,34.16570692818518]}},{"type":"Feature","properties":{"OBJECTID":7443,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":3425,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":9,"Longitude":-118.079663,"Latitude":34.146554},"geometry":{"type":"Point","coordinates":[-118.07966292653886,34.146553610559394]}},{"type":"Feature","properties":{"OBJECTID":13176,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2275,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.103317,"Latitude":34.163434},"geometry":{"type":"Point","coordinates":[-118.10331659958365,34.16343445341284]}},{"type":"Feature","properties":{"OBJECTID":8469,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":800,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.142634,"Latitude":34.132034},"geometry":{"type":"Point","coordinates":[-118.14263387800739,34.132034474227325]}},{"type":"Feature","properties":{"OBJECTID":396,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":157,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":22,"Longitude":-118.113281,"Latitude":34.148875},"geometry":{"type":"Point","coordinates":[-118.11328123248417,34.14887463423342]}},{"type":"Feature","properties":{"OBJECTID":11385,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1161,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.144002,"Latitude":34.165711},"geometry":{"type":"Point","coordinates":[-118.14400220768366,34.16571063240524]}},{"type":"Feature","properties":{"OBJECTID":7444,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":3425,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":8,"Longitude":-118.079667,"Latitude":34.146958},"geometry":{"type":"Point","coordinates":[-118.07966658546358,34.14695789229112]}},{"type":"Feature","properties":{"OBJECTID":13177,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2275,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":9,"Longitude":-118.103231,"Latitude":34.163511},"geometry":{"type":"Point","coordinates":[-118.10323133068617,34.16351149984788]}},{"type":"Feature","properties":{"OBJECTID":8470,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":800,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":19,"Longitude":-118.142448,"Latitude":34.132049},"geometry":{"type":"Point","coordinates":[-118.14244792227758,34.13204914594508]}},{"type":"Feature","properties":{"OBJECTID":397,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":990,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.110831,"Latitude":34.164065},"geometry":{"type":"Point","coordinates":[-118.11083078848758,34.16406473083282]}},{"type":"Feature","properties":{"OBJECTID":7445,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":3425,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.079668,"Latitude":34.147052},"geometry":{"type":"Point","coordinates":[-118.0796683123256,34.147051816207856]}},{"type":"Feature","properties":{"OBJECTID":13178,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":2275,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.103235,"Latitude":34.163786},"geometry":{"type":"Point","coordinates":[-118.10323456302392,34.16378571666016]}},{"type":"Feature","properties":{"OBJECTID":11386,"Common_Name":"UNDER PROCESS FOR PLANT","Genus":"UNDER PROCESS /PLANT","Species":null,"House_Number":1175,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.143939,"Latitude":34.166082},"geometry":{"type":"Point","coordinates":[-118.14393942444923,34.16608227062555]}},{"type":"Feature","properties":{"OBJECTID":8471,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":809,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.14319,"Latitude":34.131886},"geometry":{"type":"Point","coordinates":[-118.14319030854186,34.13188552267153]}},{"type":"Feature","properties":{"OBJECTID":398,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":990,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.110731,"Latitude":34.164068},"geometry":{"type":"Point","coordinates":[-118.11073147343727,34.16406816829763]}},{"type":"Feature","properties":{"OBJECTID":7446,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3456,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.08127,"Latitude":34.146122},"geometry":{"type":"Point","coordinates":[-118.08126997548189,34.146122123301744]}},{"type":"Feature","properties":{"OBJECTID":11387,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":1182,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":10,"Longitude":-118.14378,"Latitude":34.166208},"geometry":{"type":"Point","coordinates":[-118.14377972326385,34.166208436102856]}},{"type":"Feature","properties":{"OBJECTID":13179,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2285,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":8,"Longitude":-118.102997,"Latitude":34.163434},"geometry":{"type":"Point","coordinates":[-118.10299724364187,34.16343416688929]}},{"type":"Feature","properties":{"OBJECTID":8472,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":809,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.142883,"Latitude":34.131849},"geometry":{"type":"Point","coordinates":[-118.14288349651201,34.13184944494222]}},{"type":"Feature","properties":{"OBJECTID":399,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":990,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":"","Trunk_Diameter":2,"Longitude":-118.110604,"Latitude":34.164069},"geometry":{"type":"Point","coordinates":[-118.11060429523809,34.164069125813775]}},{"type":"Feature","properties":{"OBJECTID":7447,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3456,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":"","Trunk_Diameter":15,"Longitude":-118.081066,"Latitude":34.146128},"geometry":{"type":"Point","coordinates":[-118.08106556757838,34.146128259312746]}},{"type":"Feature","properties":{"OBJECTID":11388,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1183,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":19,"Longitude":-118.143938,"Latitude":34.166199},"geometry":{"type":"Point","coordinates":[-118.14393780519946,34.166198756724796]}},{"type":"Feature","properties":{"OBJECTID":8473,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":810,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.142709,"Latitude":34.131865},"geometry":{"type":"Point","coordinates":[-118.14270860777033,34.13186459531378]}},{"type":"Feature","properties":{"OBJECTID":13180,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2285,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.103084,"Latitude":34.163552},"geometry":{"type":"Point","coordinates":[-118.10308378212996,34.16355184841931]}},{"type":"Feature","properties":{"OBJECTID":400,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":990,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.110241,"Latitude":34.164068},"geometry":{"type":"Point","coordinates":[-118.110241114621,34.16406803843396]}},{"type":"Feature","properties":{"OBJECTID":7448,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3456,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.080852,"Latitude":34.146127},"geometry":{"type":"Point","coordinates":[-118.08085153284266,34.14612740283486]}},{"type":"Feature","properties":{"OBJECTID":11389,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":1197,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":10,"Longitude":-118.143943,"Latitude":34.166315},"geometry":{"type":"Point","coordinates":[-118.1439434656106,34.16631523325783]}},{"type":"Feature","properties":{"OBJECTID":8474,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":813,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.142883,"Latitude":34.131747},"geometry":{"type":"Point","coordinates":[-118.14288332210124,34.13174741078943]}},{"type":"Feature","properties":{"OBJECTID":401,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":990,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.110114,"Latitude":34.164073},"geometry":{"type":"Point","coordinates":[-118.11011442263109,34.164072543417745]}},{"type":"Feature","properties":{"OBJECTID":13181,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2285,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.103089,"Latitude":34.163716},"geometry":{"type":"Point","coordinates":[-118.10308940556826,34.163716312621695]}},{"type":"Feature","properties":{"OBJECTID":7449,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3456,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.080665,"Latitude":34.146135},"geometry":{"type":"Point","coordinates":[-118.08066516341945,34.14613452500053]}},{"type":"Feature","properties":{"OBJECTID":11390,"Common_Name":"WINDMILL PALM","Genus":"TRACHYCARPUS","Species":"FORTUNEI","House_Number":1197,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.143944,"Latitude":34.16637},"geometry":{"type":"Point","coordinates":[-118.14394355942984,34.16636969285719]}},{"type":"Feature","properties":{"OBJECTID":8475,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":813,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.142879,"Latitude":34.131695},"geometry":{"type":"Point","coordinates":[-118.1428788497007,34.13169518498518]}},{"type":"Feature","properties":{"OBJECTID":7450,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3456,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.080487,"Latitude":34.146135},"geometry":{"type":"Point","coordinates":[-118.08048720258573,34.14613464360176]}},{"type":"Feature","properties":{"OBJECTID":402,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":990,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.109985,"Latitude":34.164074},"geometry":{"type":"Point","coordinates":[-118.10998508759138,34.16407375737991]}},{"type":"Feature","properties":{"OBJECTID":13182,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2286,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.102983,"Latitude":34.163317},"geometry":{"type":"Point","coordinates":[-118.1029833253982,34.16331684358865]}},{"type":"Feature","properties":{"OBJECTID":11391,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":1200,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.143782,"Latitude":34.166476},"geometry":{"type":"Point","coordinates":[-118.14378243140872,34.16647564860301]}},{"type":"Feature","properties":{"OBJECTID":8476,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":814,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":30,"Longitude":-118.142708,"Latitude":34.131784},"geometry":{"type":"Point","coordinates":[-118.14270846956865,34.13178364521993]}},{"type":"Feature","properties":{"OBJECTID":13183,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":2286,"Street_Direction":null,"Street_Name":"COOLEY","Street_Type":"PL","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.103084,"Latitude":34.162966},"geometry":{"type":"Point","coordinates":[-118.103083936182,34.162965510590716]}},{"type":"Feature","properties":{"OBJECTID":7451,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3456,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.080271,"Latitude":34.146136},"geometry":{"type":"Point","coordinates":[-118.08027076583637,34.146135787289396]}},{"type":"Feature","properties":{"OBJECTID":403,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":990,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.109858,"Latitude":34.164077},"geometry":{"type":"Point","coordinates":[-118.10985839521861,34.164077163129484]}},{"type":"Feature","properties":{"OBJECTID":11392,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":1205,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":6,"Longitude":-118.143948,"Latitude":34.166565},"geometry":{"type":"Point","coordinates":[-118.14394753546232,34.16656483632394]}},{"type":"Feature","properties":{"OBJECTID":7452,"Common_Name":"CHINESE PISTACHE","Genus":"PISTACIA","Species":"CHINENSIS","House_Number":3456,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":6,"Longitude":-118.079988,"Latitude":34.14614},"geometry":{"type":"Point","coordinates":[-118.07998819856651,34.14613997375027]}},{"type":"Feature","properties":{"OBJECTID":8477,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":814,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":38,"Longitude":-118.142706,"Latitude":34.131733},"geometry":{"type":"Point","coordinates":[-118.14270635587671,34.13173305380472]}},{"type":"Feature","properties":{"OBJECTID":13184,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1746,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.114473,"Latitude":34.151733},"geometry":{"type":"Point","coordinates":[-118.11447337414687,34.151732742681844]}},{"type":"Feature","properties":{"OBJECTID":404,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":990,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.109728,"Latitude":34.164076},"geometry":{"type":"Point","coordinates":[-118.10972773631023,34.16407618459403]}},{"type":"Feature","properties":{"OBJECTID":11393,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1208,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":28,"Longitude":-118.143787,"Latitude":34.166633},"geometry":{"type":"Point","coordinates":[-118.14378719709627,34.16663260857499]}},{"type":"Feature","properties":{"OBJECTID":7453,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3456,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.079874,"Latitude":34.146137},"geometry":{"type":"Point","coordinates":[-118.0798739643176,34.14613704987972]}},{"type":"Feature","properties":{"OBJECTID":8478,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":814,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":27,"Longitude":-118.142708,"Latitude":34.131682},"geometry":{"type":"Point","coordinates":[-118.14270829681689,34.131682457602786]}},{"type":"Feature","properties":{"OBJECTID":11394,"Common_Name":"BOTTLE TREE","Genus":"BRACHYCHITON","Species":"POPULNEUS","House_Number":1214,"Street_Direction":"N","Street_Name":"GARFIELD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.143693,"Latitude":34.166803},"geometry":{"type":"Point","coordinates":[-118.1436930715037,34.166802768215625]}},{"type":"Feature","properties":{"OBJECTID":405,"Common_Name":"SAWTOOTH ZELKOVA","Genus":"ZELKOVA","Species":"SERRATA","House_Number":1000,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.109573,"Latitude":34.164001},"geometry":{"type":"Point","coordinates":[-118.10957322476392,34.16400062944703]}},{"type":"Feature","properties":{"OBJECTID":13185,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1754,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":7,"Longitude":-118.11425,"Latitude":34.151732},"geometry":{"type":"Point","coordinates":[-118.11424957993002,34.151731586732815]}},{"type":"Feature","properties":{"OBJECTID":7454,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3456,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.079686,"Latitude":34.146138},"geometry":{"type":"Point","coordinates":[-118.07968638548166,34.14613817255155]}},{"type":"Feature","properties":{"OBJECTID":8479,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":823,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":33,"Longitude":-118.14288,"Latitude":34.131617},"geometry":{"type":"Point","coordinates":[-118.14288017822037,34.13161744260778]}},{"type":"Feature","properties":{"OBJECTID":13186,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1762,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.114121,"Latitude":34.151734},"geometry":{"type":"Point","coordinates":[-118.11412082149413,34.15173444357453]}},{"type":"Feature","properties":{"OBJECTID":406,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":990,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":6,"Longitude":-118.109604,"Latitude":34.16408},"geometry":{"type":"Point","coordinates":[-118.10960368371042,34.16407958858294]}},{"type":"Feature","properties":{"OBJECTID":11395,"Common_Name":"ITALIAN CYPRESS","Genus":"CUPRESSUS","Species":"SEMPERVIRENS","House_Number":1271,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.178051,"Latitude":34.154464},"geometry":{"type":"Point","coordinates":[-118.17805097162325,34.154463929046365]}},{"type":"Feature","properties":{"OBJECTID":7455,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3456,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":13,"Longitude":-118.079416,"Latitude":34.146137},"geometry":{"type":"Point","coordinates":[-118.07941583738224,34.14613735166739]}},{"type":"Feature","properties":{"OBJECTID":8480,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":823,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.142882,"Latitude":34.13156},"geometry":{"type":"Point","coordinates":[-118.14288154095144,34.131560350655334]}},{"type":"Feature","properties":{"OBJECTID":407,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":1000,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":18,"Longitude":-118.109483,"Latitude":34.164003},"geometry":{"type":"Point","coordinates":[-118.10948348367748,34.16400290325178]}},{"type":"Feature","properties":{"OBJECTID":13187,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1850,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.112321,"Latitude":34.151764},"geometry":{"type":"Point","coordinates":[-118.11232118777507,34.15176392656552]}},{"type":"Feature","properties":{"OBJECTID":7456,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3485,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.078437,"Latitude":34.146371},"geometry":{"type":"Point","coordinates":[-118.07843675724128,34.146371346566916]}},{"type":"Feature","properties":{"OBJECTID":11396,"Common_Name":"SWEETSHADE","Genus":"HYMENOSPORUM","Species":"FLAVUM","House_Number":1280,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":10,"Longitude":-118.178358,"Latitude":34.154082},"geometry":{"type":"Point","coordinates":[-118.17835776877392,34.15408162228061]}},{"type":"Feature","properties":{"OBJECTID":8481,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":824,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.142708,"Latitude":34.131628},"geometry":{"type":"Point","coordinates":[-118.14270820468332,34.13162849117425]}},{"type":"Feature","properties":{"OBJECTID":7457,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3475,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.079238,"Latitude":34.146364},"geometry":{"type":"Point","coordinates":[-118.0792377468265,34.146364348579965]}},{"type":"Feature","properties":{"OBJECTID":408,"Common_Name":"CHINESE ELM","Genus":"ULMUS","Species":"PARVIFOLIA","House_Number":1000,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.109408,"Latitude":34.164007},"geometry":{"type":"Point","coordinates":[-118.10940826318661,34.16400735998308]}},{"type":"Feature","properties":{"OBJECTID":13188,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1854,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":9,"Longitude":-118.112423,"Latitude":34.151827},"geometry":{"type":"Point","coordinates":[-118.11242273328224,34.15182693123796]}},{"type":"Feature","properties":{"OBJECTID":11397,"Common_Name":"SWEETSHADE","Genus":"HYMENOSPORUM","Species":"FLAVUM","House_Number":1280,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.178356,"Latitude":34.154106},"geometry":{"type":"Point","coordinates":[-118.17835642197738,34.15410603504275]}},{"type":"Feature","properties":{"OBJECTID":8482,"Common_Name":"JACARANDA","Genus":"JACARANDA","Species":"MIMOSIFOLIA","House_Number":824,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":8,"Longitude":-118.14271,"Latitude":34.131563},"geometry":{"type":"Point","coordinates":[-118.14271012079111,34.131562716828654]}},{"type":"Feature","properties":{"OBJECTID":7458,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3475,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.079033,"Latitude":34.146365},"geometry":{"type":"Point","coordinates":[-118.07903319239078,34.14636537408003]}},{"type":"Feature","properties":{"OBJECTID":409,"Common_Name":"HOMEOWNER REFUSED","Genus":"HOMEOWNER","Species":"REFUSED","House_Number":1011,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.113494,"Latitude":34.163364},"geometry":{"type":"Point","coordinates":[-118.11349403325384,34.16336412039755]}},{"type":"Feature","properties":{"OBJECTID":13189,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1854,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.112163,"Latitude":34.151803},"geometry":{"type":"Point","coordinates":[-118.11216346734967,34.151803108364206]}},{"type":"Feature","properties":{"OBJECTID":11398,"Common_Name":"SWEETSHADE","Genus":"HYMENOSPORUM","Species":"FLAVUM","House_Number":1280,"Street_Direction":"","Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":"","Trunk_Diameter":5,"Longitude":-118.178329,"Latitude":34.154144},"geometry":{"type":"Point","coordinates":[-118.17832923712527,34.15414385292702]}},{"type":"Feature","properties":{"OBJECTID":8483,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":832,"Street_Direction":"S","Street_Name":"EUCLID","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":6,"Longitude":-118.142708,"Latitude":34.131472},"geometry":{"type":"Point","coordinates":[-118.14270793692081,34.13147165126994]}},{"type":"Feature","properties":{"OBJECTID":7459,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3475,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.078826,"Latitude":34.146366},"geometry":{"type":"Point","coordinates":[-118.07882649750775,34.14636639972795]}},{"type":"Feature","properties":{"OBJECTID":410,"Common_Name":"PINDO PALM","Genus":"BUTIA","Species":"CAPITATA","House_Number":1011,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":19,"Longitude":-118.11336,"Latitude":34.163363},"geometry":{"type":"Point","coordinates":[-118.11336016881714,34.163362625908505]}},{"type":"Feature","properties":{"OBJECTID":13190,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1854,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.112267,"Latitude":34.151832},"geometry":{"type":"Point","coordinates":[-118.11226692497836,34.15183171168029]}},{"type":"Feature","properties":{"OBJECTID":11399,"Common_Name":"SWEETSHADE","Genus":"HYMENOSPORUM","Species":"FLAVUM","House_Number":1280,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":9,"Longitude":-118.178317,"Latitude":34.154142},"geometry":{"type":"Point","coordinates":[-118.17831664983926,34.15414212883012]}},{"type":"Feature","properties":{"OBJECTID":8484,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":45,"Street_Direction":"S","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":"","Trunk_Diameter":2,"Longitude":-118.150552,"Latitude":34.144907},"geometry":{"type":"Point","coordinates":[-118.15055193734541,34.144907284901265]}},{"type":"Feature","properties":{"OBJECTID":7460,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":3475,"Street_Direction":"E","Street_Name":"COLORADO","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.079429,"Latitude":34.146362},"geometry":{"type":"Point","coordinates":[-118.07942944800651,34.14636244317106]}},{"type":"Feature","properties":{"OBJECTID":11400,"Common_Name":"SWEETSHADE","Genus":"HYMENOSPORUM","Species":"FLAVUM","House_Number":1280,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.178316,"Latitude":34.154166},"geometry":{"type":"Point","coordinates":[-118.17831600123768,34.154165959074184]}},{"type":"Feature","properties":{"OBJECTID":8485,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":33,"Street_Direction":"S","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":"","Trunk_Diameter":3,"Longitude":-118.150549,"Latitude":34.14519},"geometry":{"type":"Point","coordinates":[-118.15054905520299,34.14519015742791]}},{"type":"Feature","properties":{"OBJECTID":411,"Common_Name":"CALIFORNIA PEPPER","Genus":"SCHINUS","Species":"MOLLE","House_Number":1013,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":32,"Longitude":-118.113236,"Latitude":34.163679},"geometry":{"type":"Point","coordinates":[-118.11323600669802,34.163678875819635]}},{"type":"Feature","properties":{"OBJECTID":13191,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1860,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":9,"Longitude":-118.111969,"Latitude":34.151836},"geometry":{"type":"Point","coordinates":[-118.11196874886623,34.15183607932032]}},{"type":"Feature","properties":{"OBJECTID":7461,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":94,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.124218,"Latitude":34.147658},"geometry":{"type":"Point","coordinates":[-118.12421820020965,34.14765757538743]}},{"type":"Feature","properties":{"OBJECTID":8486,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":3,"Street_Direction":"E","Street_Name":"GREEN","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":2,"Longitude":-118.150552,"Latitude":34.144753},"geometry":{"type":"Point","coordinates":[-118.15055165971823,34.14475316398098]}},{"type":"Feature","properties":{"OBJECTID":412,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1047,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.113462,"Latitude":34.164457},"geometry":{"type":"Point","coordinates":[-118.11346228104345,34.16445662101939]}},{"type":"Feature","properties":{"OBJECTID":11401,"Common_Name":"NO ROOM FOR REPLANT","Genus":"NO","Species":"ROOM FOR REPLANT","House_Number":1300,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.177866,"Latitude":34.154864},"geometry":{"type":"Point","coordinates":[-118.17786587664797,34.15486384599202]}},{"type":"Feature","properties":{"OBJECTID":13192,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1876,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":7,"Longitude":-118.111702,"Latitude":34.151837},"geometry":{"type":"Point","coordinates":[-118.11170205931641,34.15183659825576]}},{"type":"Feature","properties":{"OBJECTID":7462,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":98,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":35,"Longitude":-118.124216,"Latitude":34.147805},"geometry":{"type":"Point","coordinates":[-118.12421555720238,34.14780462140314]}},{"type":"Feature","properties":{"OBJECTID":8487,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":39,"Street_Direction":"S","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.150551,"Latitude":34.145083},"geometry":{"type":"Point","coordinates":[-118.15055112298448,34.14508302139242]}},{"type":"Feature","properties":{"OBJECTID":11402,"Common_Name":"NO ROOM FOR REPLANT","Genus":"NO","Species":"ROOM FOR REPLANT","House_Number":1300,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.177845,"Latitude":34.154888},"geometry":{"type":"Point","coordinates":[-118.17784520831526,34.15488821144094]}},{"type":"Feature","properties":{"OBJECTID":413,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":1047,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.113315,"Latitude":34.164455},"geometry":{"type":"Point","coordinates":[-118.11331501482944,34.164454846054674]}},{"type":"Feature","properties":{"OBJECTID":13193,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1882,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":2,"Longitude":-118.111529,"Latitude":34.151839},"geometry":{"type":"Point","coordinates":[-118.1115288606087,34.151838939844616]}},{"type":"Feature","properties":{"OBJECTID":7463,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":99,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":30,"Longitude":-118.124349,"Latitude":34.147802},"geometry":{"type":"Point","coordinates":[-118.12434948459007,34.14780162858478]}},{"type":"Feature","properties":{"OBJECTID":8488,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":50,"Street_Direction":"E","Street_Name":"GREEN","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":2,"Longitude":-118.150355,"Latitude":34.144228},"geometry":{"type":"Point","coordinates":[-118.1503552586632,34.14422814386798]}},{"type":"Feature","properties":{"OBJECTID":11403,"Common_Name":"SWEETSHADE","Genus":"HYMENOSPORUM","Species":"FLAVUM","House_Number":1300,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":27,"Longitude":-118.177765,"Latitude":34.154977},"geometry":{"type":"Point","coordinates":[-118.1777654773138,34.1549771899691]}},{"type":"Feature","properties":{"OBJECTID":414,"Common_Name":"HOLLY OAK","Genus":"QUERCUS","Species":"ILEX","House_Number":1068,"Street_Direction":"N","Street_Name":"ALLEN","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":14,"Longitude":-118.112972,"Latitude":34.164503},"geometry":{"type":"Point","coordinates":[-118.11297184967917,34.16450319980092]}},{"type":"Feature","properties":{"OBJECTID":13194,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1898,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":9,"Longitude":-118.111198,"Latitude":34.151839},"geometry":{"type":"Point","coordinates":[-118.11119820410875,34.15183869896695]}},{"type":"Feature","properties":{"OBJECTID":7464,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":500,"Street_Direction":"S","Street_Name":"HILL","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":8,"Longitude":-118.121183,"Latitude":34.137005},"geometry":{"type":"Point","coordinates":[-118.12118282660464,34.137005039679735]}},{"type":"Feature","properties":{"OBJECTID":8489,"Common_Name":"INDIAN LAUREL FIG","Genus":"FICUS","Species":"MICROCARPA","House_Number":22,"Street_Direction":"W","Street_Name":"GREEN","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.150926,"Latitude":34.144441},"geometry":{"type":"Point","coordinates":[-118.15092603962495,34.14444104056551]}},{"type":"Feature","properties":{"OBJECTID":11404,"Common_Name":"TOYON","Genus":"HETEROMELES","Species":"ARBUTIFOLIA","House_Number":1300,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.17795,"Latitude":34.15525},"geometry":{"type":"Point","coordinates":[-118.17795023866506,34.15525034015692]}},{"type":"Feature","properties":{"OBJECTID":415,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":81,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":26,"Longitude":-118.175994,"Latitude":34.13977},"geometry":{"type":"Point","coordinates":[-118.17599376176578,34.13977022405567]}},{"type":"Feature","properties":{"OBJECTID":13195,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1930,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":11,"Longitude":-118.110814,"Latitude":34.151842},"geometry":{"type":"Point","coordinates":[-118.11081440937308,34.1518417793564]}},{"type":"Feature","properties":{"OBJECTID":8490,"Common_Name":"INDIAN LAUREL FIG","Genus":"FICUS","Species":"MICROCARPA","House_Number":18,"Street_Direction":"W","Street_Name":"GREEN","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":28,"Longitude":-118.150743,"Latitude":34.144443},"geometry":{"type":"Point","coordinates":[-118.1507432777748,34.14444292108906]}},{"type":"Feature","properties":{"OBJECTID":7465,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":105,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":35,"Longitude":-118.124355,"Latitude":34.147879},"geometry":{"type":"Point","coordinates":[-118.12435532349939,34.14787871158762]}},{"type":"Feature","properties":{"OBJECTID":13196,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1930,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":10,"Longitude":-118.110692,"Latitude":34.151841},"geometry":{"type":"Point","coordinates":[-118.11069172538154,34.15184134630788]}},{"type":"Feature","properties":{"OBJECTID":416,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":17,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":34,"Longitude":-118.176459,"Latitude":34.140621},"geometry":{"type":"Point","coordinates":[-118.17645930378956,34.140620889552665]}},{"type":"Feature","properties":{"OBJECTID":8491,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1320,"Street_Direction":null,"Street_Name":"AVENUE","Street_Type":"64","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.176769,"Latitude":34.128344},"geometry":{"type":"Point","coordinates":[-118.1767694940481,34.128344300737886]}},{"type":"Feature","properties":{"OBJECTID":11405,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1300,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":11,"Longitude":-118.177709,"Latitude":34.155089},"geometry":{"type":"Point","coordinates":[-118.17770881739987,34.15508910286337]}},{"type":"Feature","properties":{"OBJECTID":13197,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1940,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":6,"Longitude":-118.110362,"Latitude":34.151841},"geometry":{"type":"Point","coordinates":[-118.11036237989894,34.15184110194412]}},{"type":"Feature","properties":{"OBJECTID":7466,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":105,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.124353,"Latitude":34.147956},"geometry":{"type":"Point","coordinates":[-118.1243531480904,34.147955806439654]}},{"type":"Feature","properties":{"OBJECTID":8492,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":144,"Street_Direction":"S","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.150457,"Latitude":34.143302},"geometry":{"type":"Point","coordinates":[-118.15045706286814,34.143302477361296]}},{"type":"Feature","properties":{"OBJECTID":417,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":91,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":25,"Longitude":-118.175915,"Latitude":34.139651},"geometry":{"type":"Point","coordinates":[-118.17591522050175,34.13965099183183]}},{"type":"Feature","properties":{"OBJECTID":11406,"Common_Name":"ITALIAN CYPRESS","Genus":"CUPRESSUS","Species":"SEMPERVIRENS","House_Number":1300,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.177982,"Latitude":34.155237},"geometry":{"type":"Point","coordinates":[-118.17798180084755,34.15523748293562]}},{"type":"Feature","properties":{"OBJECTID":13198,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1946,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":8,"Longitude":-118.110252,"Latitude":34.151839},"geometry":{"type":"Point","coordinates":[-118.11025248663101,34.15183929275814]}},{"type":"Feature","properties":{"OBJECTID":7467,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":106,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.124216,"Latitude":34.147912},"geometry":{"type":"Point","coordinates":[-118.124215717047,34.147912167568016]}},{"type":"Feature","properties":{"OBJECTID":418,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":96,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.175757,"Latitude":34.139657},"geometry":{"type":"Point","coordinates":[-118.17575721540362,34.13965665698453]}},{"type":"Feature","properties":{"OBJECTID":11407,"Common_Name":"ITALIAN CYPRESS","Genus":"CUPRESSUS","Species":"SEMPERVIRENS","House_Number":1321,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":39,"Longitude":-118.177951,"Latitude":34.155321},"geometry":{"type":"Point","coordinates":[-118.17795098248763,34.15532057019042]}},{"type":"Feature","properties":{"OBJECTID":8493,"Common_Name":"UNDER PROCESS FOR PLANT","Genus":"UNDER PROCESS /PLANT","Species":null,"House_Number":144,"Street_Direction":"S","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.15047,"Latitude":34.143327},"geometry":{"type":"Point","coordinates":[-118.15047003934642,34.14332707661827]}},{"type":"Feature","properties":{"OBJECTID":13199,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1954,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":7,"Longitude":-118.110077,"Latitude":34.151843},"geometry":{"type":"Point","coordinates":[-118.11007666581449,34.15184327093612]}},{"type":"Feature","properties":{"OBJECTID":7468,"Common_Name":"PLANTING SITE-SMALL","Genus":"PLANTING SITE","Species":"SMALL","House_Number":1775,"Street_Direction":null,"Street_Name":"CASA GRANDE","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.113869,"Latitude":34.163363},"geometry":{"type":"Point","coordinates":[-118.11386930222507,34.16336349805478]}},{"type":"Feature","properties":{"OBJECTID":419,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":99,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":15,"Longitude":-118.175845,"Latitude":34.139537},"geometry":{"type":"Point","coordinates":[-118.1758454131548,34.13953701720665]}},{"type":"Feature","properties":{"OBJECTID":11408,"Common_Name":"NO ROOM FOR REPLANT","Genus":"NO","Species":"ROOM FOR REPLANT","House_Number":1420,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.179295,"Latitude":34.158096},"geometry":{"type":"Point","coordinates":[-118.17929458103613,34.15809580906929]}},{"type":"Feature","properties":{"OBJECTID":8494,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":129,"Street_Direction":"S","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.150568,"Latitude":34.14346},"geometry":{"type":"Point","coordinates":[-118.15056765113181,34.143459853405744]}},{"type":"Feature","properties":{"OBJECTID":13200,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":1960,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.1099,"Latitude":34.151843},"geometry":{"type":"Point","coordinates":[-118.10989952893583,34.15184343207147]}},{"type":"Feature","properties":{"OBJECTID":7469,"Common_Name":"NO ROOM FOR REPLANT","Genus":"NO","Species":"ROOM FOR REPLANT","House_Number":1677,"Street_Direction":"E","Street_Name":"MOUNTAIN","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":1,"Longitude":-118.115681,"Latitude":34.162224},"geometry":{"type":"Point","coordinates":[-118.11568135220445,34.16222438585824]}},{"type":"Feature","properties":{"OBJECTID":420,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":104,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":16,"Longitude":-118.175678,"Latitude":34.139538},"geometry":{"type":"Point","coordinates":[-118.1756781909194,34.139538409782546]}},{"type":"Feature","properties":{"OBJECTID":13201,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":2098,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.107143,"Latitude":34.151882},"geometry":{"type":"Point","coordinates":[-118.10714294209829,34.15188242991793]}},{"type":"Feature","properties":{"OBJECTID":11409,"Common_Name":"HOLLYWOOD JUNIPER","Genus":"JUNIPERUS","Species":"CHINENSIS torulosa","House_Number":1431,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.179591,"Latitude":34.158543},"geometry":{"type":"Point","coordinates":[-118.17959131482178,34.158542754790965]}},{"type":"Feature","properties":{"OBJECTID":8495,"Common_Name":"MEXICAN FAN PALM","Genus":"WASHINGTONIA","Species":"ROBUSTA","House_Number":105,"Street_Direction":"S","Street_Name":"GREENWOOD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":28,"Longitude":-118.112203,"Latitude":34.14404},"geometry":{"type":"Point","coordinates":[-118.11220332098259,34.14403992834139]}},{"type":"Feature","properties":{"OBJECTID":7470,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":130,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":33,"Longitude":-118.124222,"Latitude":34.148381},"geometry":{"type":"Point","coordinates":[-118.12422241647683,34.148380781873534]}},{"type":"Feature","properties":{"OBJECTID":421,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":107,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":17,"Longitude":-118.175757,"Latitude":34.139403},"geometry":{"type":"Point","coordinates":[-118.1757566813706,34.139402696347005]}},{"type":"Feature","properties":{"OBJECTID":13202,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":2151,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":8,"Longitude":-118.106015,"Latitude":34.151993},"geometry":{"type":"Point","coordinates":[-118.10601450258315,34.151993467253156]}},{"type":"Feature","properties":{"OBJECTID":8496,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":105,"Street_Direction":"S","Street_Name":"GREENWOOD","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":7,"Longitude":-118.112037,"Latitude":34.144042},"geometry":{"type":"Point","coordinates":[-118.112037368434,34.144042238705296]}},{"type":"Feature","properties":{"OBJECTID":11410,"Common_Name":"BRUSH CHERRY","Genus":"EUGENIA","Species":"PANICULATA","House_Number":1478,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":7,"Longitude":-118.180299,"Latitude":34.157967},"geometry":{"type":"Point","coordinates":[-118.18029885509728,34.15796695456506]}},{"type":"Feature","properties":{"OBJECTID":7471,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":131,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":11,"Longitude":-118.124355,"Latitude":34.148313},"geometry":{"type":"Point","coordinates":[-118.12435529045938,34.14831269869665]}},{"type":"Feature","properties":{"OBJECTID":422,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":112,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":23,"Longitude":-118.175603,"Latitude":34.139409},"geometry":{"type":"Point","coordinates":[-118.17560259914954,34.13940924089881]}},{"type":"Feature","properties":{"OBJECTID":13203,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":2151,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":10,"Longitude":-118.105884,"Latitude":34.151994},"geometry":{"type":"Point","coordinates":[-118.10588367737462,34.15199434819089]}},{"type":"Feature","properties":{"OBJECTID":8497,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":155,"Street_Direction":"S","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.150565,"Latitude":34.143022},"geometry":{"type":"Point","coordinates":[-118.15056450065828,34.143021930449954]}},{"type":"Feature","properties":{"OBJECTID":7472,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":139,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.124357,"Latitude":34.148443},"geometry":{"type":"Point","coordinates":[-118.12435686988682,34.148442832161706]}},{"type":"Feature","properties":{"OBJECTID":11411,"Common_Name":"BRUSH CHERRY","Genus":"EUGENIA","Species":"PANICULATA","House_Number":1478,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":9,"Longitude":-118.1803,"Latitude":34.157961},"geometry":{"type":"Point","coordinates":[-118.18030049878416,34.157960752279614]}},{"type":"Feature","properties":{"OBJECTID":423,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":115,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":26,"Longitude":-118.175678,"Latitude":34.139287},"geometry":{"type":"Point","coordinates":[-118.17567835381669,34.13928732131364]}},{"type":"Feature","properties":{"OBJECTID":13204,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":2151,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.105749,"Latitude":34.151997},"geometry":{"type":"Point","coordinates":[-118.10574916717691,34.15199676391093]}},{"type":"Feature","properties":{"OBJECTID":7473,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":140,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":22,"Longitude":-118.124227,"Latitude":34.148496},"geometry":{"type":"Point","coordinates":[-118.12422674285921,34.14849594079355]}},{"type":"Feature","properties":{"OBJECTID":11412,"Common_Name":"NO ROOM FOR REPLANT","Genus":"NO","Species":"ROOM FOR REPLANT","House_Number":1478,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.180301,"Latitude":34.15795},"geometry":{"type":"Point","coordinates":[-118.18030130502022,34.157950417719356]}},{"type":"Feature","properties":{"OBJECTID":424,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":120,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":27,"Longitude":-118.175533,"Latitude":34.139307},"geometry":{"type":"Point","coordinates":[-118.17553328343263,34.1393070673291]}},{"type":"Feature","properties":{"OBJECTID":13205,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":2151,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.105654,"Latitude":34.151995},"geometry":{"type":"Point","coordinates":[-118.10565426922105,34.15199531517092]}},{"type":"Feature","properties":{"OBJECTID":11413,"Common_Name":"BRUSH CHERRY","Genus":"EUGENIA","Species":"PANICULATA","House_Number":1478,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":4,"Longitude":-118.180301,"Latitude":34.157942},"geometry":{"type":"Point","coordinates":[-118.18030128718082,34.15794214979739]}},{"type":"Feature","properties":{"OBJECTID":7474,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":147,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":21,"Longitude":-118.124358,"Latitude":34.148618},"geometry":{"type":"Point","coordinates":[-118.12435782302548,34.14861845481805]}},{"type":"Feature","properties":{"OBJECTID":425,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":123,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":29,"Longitude":-118.175602,"Latitude":34.139176},"geometry":{"type":"Point","coordinates":[-118.17560210904551,34.139175964936584]}},{"type":"Feature","properties":{"OBJECTID":13206,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":2151,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.105562,"Latitude":34.151997},"geometry":{"type":"Point","coordinates":[-118.10556213924698,34.15199692734164]}},{"type":"Feature","properties":{"OBJECTID":11414,"Common_Name":"BRUSH CHERRY","Genus":"EUGENIA","Species":"PANICULATA","House_Number":1478,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":4,"Longitude":-118.180302,"Latitude":34.157935},"geometry":{"type":"Point","coordinates":[-118.18030209936116,34.15793457030957]}},{"type":"Feature","properties":{"OBJECTID":8498,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":165,"Street_Direction":"S","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.150562,"Latitude":34.142688},"geometry":{"type":"Point","coordinates":[-118.15056153662887,34.142688089038174]}},{"type":"Feature","properties":{"OBJECTID":7475,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":148,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.124224,"Latitude":34.148594},"geometry":{"type":"Point","coordinates":[-118.12422411894569,34.14859383171907]}},{"type":"Feature","properties":{"OBJECTID":426,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":128,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":22,"Longitude":-118.175443,"Latitude":34.139173},"geometry":{"type":"Point","coordinates":[-118.17544317109521,34.13917274824566]}},{"type":"Feature","properties":{"OBJECTID":11415,"Common_Name":"BRUSH CHERRY","Genus":"EUGENIA","Species":"PANICULATA","House_Number":1478,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":12,"Longitude":-118.180302,"Latitude":34.15793},"geometry":{"type":"Point","coordinates":[-118.18030208895624,34.157929748031215]}},{"type":"Feature","properties":{"OBJECTID":13207,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":2151,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.105493,"Latitude":34.151995},"geometry":{"type":"Point","coordinates":[-118.10549303892273,34.151995455949546]}},{"type":"Feature","properties":{"OBJECTID":8499,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":165,"Street_Direction":"S","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":4,"Longitude":-118.150559,"Latitude":34.1428},"geometry":{"type":"Point","coordinates":[-118.15055937673402,34.14280002763995]}},{"type":"Feature","properties":{"OBJECTID":7476,"Common_Name":"CAMPHOR TREE","Genus":"CINNAMOMUM","Species":"CAMPHORA","House_Number":148,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":26,"Longitude":-118.124226,"Latitude":34.14867},"geometry":{"type":"Point","coordinates":[-118.12422561663436,34.148669838254015]}},{"type":"Feature","properties":{"OBJECTID":427,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":131,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":27,"Longitude":-118.175522,"Latitude":34.139059},"geometry":{"type":"Point","coordinates":[-118.17552170635186,34.13905886908909]}},{"type":"Feature","properties":{"OBJECTID":11416,"Common_Name":"BRUSH CHERRY","Genus":"EUGENIA","Species":"PANICULATA","House_Number":1478,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":7,"Longitude":-118.180303,"Latitude":34.157923},"geometry":{"type":"Point","coordinates":[-118.18030290370703,34.15792285730995]}},{"type":"Feature","properties":{"OBJECTID":7477,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":155,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":25,"Longitude":-118.124359,"Latitude":34.14876},"geometry":{"type":"Point","coordinates":[-118.12435941959896,34.148760104422486]}},{"type":"Feature","properties":{"OBJECTID":13208,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":2151,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.105412,"Latitude":34.151998},"geometry":{"type":"Point","coordinates":[-118.105411965263,34.15199782375847]}},{"type":"Feature","properties":{"OBJECTID":8500,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":165,"Street_Direction":"S","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.150561,"Latitude":34.142543},"geometry":{"type":"Point","coordinates":[-118.1505612748452,34.14254276885225]}},{"type":"Feature","properties":{"OBJECTID":428,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":136,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":27,"Longitude":-118.175366,"Latitude":34.139056},"geometry":{"type":"Point","coordinates":[-118.17536553230576,34.139055648283396]}},{"type":"Feature","properties":{"OBJECTID":11417,"Common_Name":"BRUSH CHERRY","Genus":"EUGENIA","Species":"PANICULATA","House_Number":1478,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":5,"Longitude":-118.180303,"Latitude":34.157916},"geometry":{"type":"Point","coordinates":[-118.18030288884171,34.15791596782571]}},{"type":"Feature","properties":{"OBJECTID":7478,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":156,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":19,"Longitude":-118.124224,"Latitude":34.148778},"geometry":{"type":"Point","coordinates":[-118.12422369907783,34.14877751727707]}},{"type":"Feature","properties":{"OBJECTID":8501,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":219,"Street_Direction":"S","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":4,"Longitude":-118.150559,"Latitude":34.14189},"geometry":{"type":"Point","coordinates":[-118.15055891783938,34.14188980990444]}},{"type":"Feature","properties":{"OBJECTID":13209,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":2151,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.105327,"Latitude":34.151998},"geometry":{"type":"Point","coordinates":[-118.10532720394752,34.1519978976249]}},{"type":"Feature","properties":{"OBJECTID":11418,"Common_Name":"BRUSH CHERRY","Genus":"EUGENIA","Species":"PANICULATA","House_Number":1478,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":3,"Longitude":-118.180304,"Latitude":34.157908},"geometry":{"type":"Point","coordinates":[-118.18030369953547,34.157907699569805]}},{"type":"Feature","properties":{"OBJECTID":429,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":139,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":32,"Longitude":-118.175447,"Latitude":34.138943},"geometry":{"type":"Point","coordinates":[-118.17544683472994,34.13894291461418]}},{"type":"Feature","properties":{"OBJECTID":13210,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":2151,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.105075,"Latitude":34.151997},"geometry":{"type":"Point","coordinates":[-118.10507476141588,34.15199735186793]}},{"type":"Feature","properties":{"OBJECTID":7479,"Common_Name":"LIVE OAK","Genus":"QUERCUS","Species":"AGRIFOLIA","House_Number":161,"Street_Direction":"N","Street_Name":"CHESTER","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":20,"Longitude":-118.12436,"Latitude":34.148872},"geometry":{"type":"Point","coordinates":[-118.1243595858229,34.14887181204957]}},{"type":"Feature","properties":{"OBJECTID":8502,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":251,"Street_Direction":"S","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.1508,"Latitude":34.14159},"geometry":{"type":"Point","coordinates":[-118.15079953972324,34.141589709424586]}},{"type":"Feature","properties":{"OBJECTID":430,"Common_Name":"BRISBANE BOX","Genus":"LOPHOSTEMON","Species":"CONFERTUS","House_Number":142,"Street_Direction":null,"Street_Name":"ANNANDALE","Street_Type":"RD","Street_Suffix":null,"Trunk_Diameter":30,"Longitude":-118.175284,"Latitude":34.138924},"geometry":{"type":"Point","coordinates":[-118.17528440820392,34.138924189224916]}},{"type":"Feature","properties":{"OBJECTID":11419,"Common_Name":"BRUSH CHERRY","Genus":"EUGENIA","Species":"PANICULATA","House_Number":1478,"Street_Direction":null,"Street_Name":"GLEN OAKS","Street_Type":"BLVD","Street_Suffix":null,"Trunk_Diameter":6,"Longitude":-118.180303,"Latitude":34.157898},"geometry":{"type":"Point","coordinates":[-118.18030285019226,34.15789805534701]}},{"type":"Feature","properties":{"OBJECTID":8503,"Common_Name":"CRAPE MYRTLE","Genus":"LAGERSTROEMIA","Species":"INDICA","House_Number":251,"Street_Direction":"S","Street_Name":"FAIR OAKS","Street_Type":"AVE","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.151032,"Latitude":34.141327},"geometry":{"type":"Point","coordinates":[-118.15103197164794,34.141326833902895]}},{"type":"Feature","properties":{"OBJECTID":13211,"Common_Name":"SOUTHERN MAGNOLIA","Genus":"MAGNOLIA","Species":"GRANDIFLORA","House_Number":2151,"Street_Direction":"E","Street_Name":"CORSON","Street_Type":"ST","Street_Suffix":null,"Trunk_Diameter":0,"Longitude":-118.104954,"Latitude":34.151999},"geometry":{"type":"Point","coordinates":[-118.10495407077379,34.15199898839184]}}]} diff --git a/packages/featureserver/test/integration/info.spec.js b/packages/featureserver/test/integration/info.spec.js deleted file mode 100644 index 9470660dd..000000000 --- a/packages/featureserver/test/integration/info.spec.js +++ /dev/null @@ -1,237 +0,0 @@ -const FeatureServer = require('../../src'); -const data = require('./fixtures/snow.json'); -const should = require('should'); -should.config.checkProtoEql = false; -const _ = require('lodash'); -const Joi = require('joi'); -const { serverTemplateSchema } = require('./schemas'); - -describe('Info operations', () => { - describe('rest info', () => { - it('should conform to the prescribed schema', () => { - const req = { - app: { - locals: {} - } - }; - - const supplementalRestInfo = { - authInfo: { - isTokenBasedSecurity: true, - tokenServicesUrl: 'http://localhost/provider/generateToken' - } - }; - const restInfo = FeatureServer.restInfo(supplementalRestInfo, req); - restInfo.should.have.property('currentVersion', 11.1); - restInfo.should.have.property('authInfo'); - restInfo.authInfo.should.have.property('isTokenBasedSecurity', true); - restInfo.authInfo.should.have.property('tokenServicesUrl').be.type('string'); - }); - }); - - describe('server info', () => { - it('should conform to the prescribed schema', () => { - const server = FeatureServer.serverInfo(data); - const serverSchemaOverride = serverTemplateSchema.append({ - initialExtent: Joi.object().keys({ - xmin: Joi.number().valid(-108.9395), - ymin: Joi.number().valid(37.084968), - xmax: Joi.number().valid(-102), - ymax: Joi.number().valid(40.8877), - spatialReference: Joi.object().keys({ - wkid: Joi.number().valid(4326), - latestWkid: Joi.number().valid(4326) - }) - }), - fullExtent: Joi.object().keys({ - xmin: Joi.number().valid(-108.9395), - ymin: Joi.number().valid(37.084968), - xmax: Joi.number().valid(-102), - ymax: Joi.number().valid(40.8877), - spatialReference: Joi.object().keys({ - wkid: Joi.number().valid(4326), - latestWkid: Joi.number().valid(4326) - }) - }) - }); - - // Test response body schema - serverSchemaOverride.validate(server, { presence: 'required' }).should.not.have.property('error'); - }); - - it('should work with geojson passed in', () => { - const server = FeatureServer.serverInfo(data); - server.layers.length.should.equal(1); - server.initialExtent.xmin.should.equal(-108.9395); - server.fullExtent.xmin.should.equal(-108.9395); - }); - - it('should support a passed in metadata', () => { - const input = { - hasStaticData: true, - maxRecordCount: 100, - description: 'test', - extent: [[11, 12], [13, 14]], - layers: [_.cloneDeep(data)] - }; - const server = FeatureServer.serverInfo(input); - server.hasStaticData.should.equal(true); - server.maxRecordCount.should.equal(100); - server.serviceDescription.should.equal('test'); - server.layers.length.should.equal(1); - server.initialExtent.xmin.should.equal(11); - server.initialExtent.ymax.should.equal(14); - }); - - it('should not bomb out on this thing', () => { - const input = { - layers: [require('./fixtures/polygon-metadata-error.json')] - }; - const server = FeatureServer.serverInfo(input); - server.layers.length.should.equal(1); - server.tables.length.should.equal(0); - }); - - it('should support a passed in metadata with no extent', () => { - const input = { - hasStaticData: true, - maxRecordCount: 100, - description: 'test', - layers: [_.cloneDeep(data)] - }; - const server = FeatureServer.serverInfo(input); - server.hasStaticData.should.equal(true); - server.maxRecordCount.should.equal(100); - server.serviceDescription.should.equal('test'); - server.layers.length.should.equal(1); - }); - - it('should support a passed in metadata with 0,0,0,0 extent', () => { - const input = { - hasStaticData: true, - maxRecordCount: 100, - description: 'test', - layers: [_.cloneDeep(data)], - extent: { - xmin: 0, - ymin: 0, - xmax: 0, - ymax: 0 - } - }; - const server = FeatureServer.serverInfo(input); - server.hasStaticData.should.equal(true); - server.maxRecordCount.should.equal(100); - server.serviceDescription.should.equal('test'); - server.layers.length.should.equal(1); - }); - - it('should support a passed in geometry type', () => { - const input = { - description: 'test', - extent: [[11, 12], [13, 14]], - layers: [ - { - type: 'FeatureCollection', - metadata: { - name: 'test', - geometryType: 'Point' - } - } - ] - }; - const server = FeatureServer.serverInfo(input); - server.serviceDescription.should.equal('test'); - server.layers.length.should.equal(1); - server.initialExtent.xmin.should.equal(11); - server.initialExtent.ymax.should.equal(14); - server.layers[0].name.should.equal('test'); - server.layers[0].geometryType.should.equal('esriGeometryPoint'); - }); - - it('should support a metadata with layer id, defaultVisibility, minScale, and maxScale values', () => { - const layer0 = _.cloneDeep(data); - const layer1 = _.cloneDeep(data); - layer0.metadata = { - ...layer0.metadata, - id: 1, - defaultVisibility: false, - minScale: 100, - maxScale: 30000 - }; - layer1.metadata = { - ...layer1.metadata, - id: 3, - defaultVisibility: true, - minScale: 200, - maxScale: 20000 - }; - const input = { - hasStaticData: true, - maxRecordCount: 100, - description: 'test', - extent: [[11, 12], [13, 14]], - layers: [layer0, layer1] - }; - const server = FeatureServer.serverInfo(input); - server.layers.length.should.equal(2); - server.layers[0].id.should.equal(1); - server.layers[0].defaultVisibility.should.equal(false); - server.layers[0].minScale.should.equal(100); - server.layers[0].maxScale.should.equal(30000); - server.layers[1].id.should.equal(3); - server.layers[1].defaultVisibility.should.equal(true); - server.layers[1].minScale.should.equal(200); - server.layers[1].maxScale.should.equal(20000); - }); - }); - - describe('field computation', () => { - it('should assign esriFieldTypeOID to the idField', () => { - const input = { - metadata: { - idField: 'test', - geometryType: 'Polygon', - extent: [[11, 12], [13, 14]], - fields: [ - { - name: 'test', - type: 'integer' - } - ] - } - }; - const layer = FeatureServer.layerInfo(input, {}); - layer.fields[0].type.should.equal('esriFieldTypeOID'); - }); - - it('should assign field length from metadata', () => { - const input = { - metadata: { - geometryType: 'Polygon', - extent: [[11, 12], [13, 14]], - fields: [ - { - name: 'test', - type: 'String', - length: 1000 - } - ] - } - }; - const layer = FeatureServer.layerInfo(input, {}); - layer.fields.find(f => { return f.name === 'test'; }).length.should.equal(1000); - }); - }); - - describe('when overriding params in a feature service', () => { - it('should return changed values', () => { - data.name = 'Snow'; - data.description = 'MyTestDesc'; - const service = FeatureServer.layerInfo(data, {}); - service.should.be.an.instanceOf(Object); - service.name.should.equal(data.name); - service.description.should.equal(data.description); - }); - }); -}); diff --git a/packages/featureserver/test/integration/layers.spec.js b/packages/featureserver/test/integration/layers.spec.js deleted file mode 100644 index 8d2902562..000000000 --- a/packages/featureserver/test/integration/layers.spec.js +++ /dev/null @@ -1,60 +0,0 @@ -const FeatureServer = require('../..'); -const data = require('./fixtures/snow.json'); -const should = require('should'); -should.config.checkProtoEql = false; -const _ = require('lodash'); -const Joi = require('joi'); -const { layerTemplateSchema } = require('./schemas'); - -describe('Layers operations', () => { - describe('layers info', () => { - it('should conform to the prescribed schema', () => { - const layers = FeatureServer.layersInfo(data); - const layerSchemaOverride = layerTemplateSchema.append({ - extent: Joi.object().keys({ - xmin: Joi.number().valid(-108.9395), - ymin: Joi.number().valid(37.084968), - xmax: Joi.number().valid(-102), - ymax: Joi.number().valid(40.8877), - spatialReference: Joi.object().keys({ - wkid: Joi.number().valid(4326), - latestWkid: Joi.number().valid(4326) - }) - }), - geometryType: Joi.string().allow('point'), - drawingInfo: Joi.object().keys({ - renderer: Joi.object().keys({ - type: Joi.string().allow('simple') - }).unknown() // TODO expand these? - }).unknown() // TODO expand these? - }); - const layersTemplateSchema = Joi.object({ - layers: Joi.array().items(layerSchemaOverride), - tables: Joi.array().empty() - }); - layersTemplateSchema.validate(layers, { presence: 'required' }).should.not.have.property('error'); - }); - - it('should work with geojson passed in', () => { - const layers = FeatureServer.layersInfo(data); - layers.layers.length.should.equal(1); - layers.tables.length.should.equal(0); - }); - - it('should support a passed in metadata', () => { - const input = _.cloneDeep(data); - input.metadata = { - foo: 'bar', - displayField: 'myField', - copyrightText: 'Custom copyright text', - capabilities: 'list,of,stuff' - }; - const layers = FeatureServer.layersInfo(input); - layers.layers.length.should.equal(1); - layers.layers[0].should.not.have.property('foo'); - layers.layers[0].displayField.should.equal('myField'); - layers.layers[0].copyrightText.should.equal('Custom copyright text'); - layers.layers[0].capabilities.should.equal('list,of,stuff'); - }); - }); -}); diff --git a/packages/featureserver/test/integration/query.spec.js b/packages/featureserver/test/integration/query.spec.js deleted file mode 100644 index ca2a5da04..000000000 --- a/packages/featureserver/test/integration/query.spec.js +++ /dev/null @@ -1,784 +0,0 @@ -const _ = require('lodash'); -const FeatureServer = require('../..'); -const data = require('./fixtures/snow.json'); -const projectionApplied = require('./fixtures/projection-applied.json'); -const should = require('should'); -should.config.checkProtoEql = false; -const { featuresTemplateSchema } = require('./schemas'); -const polyData = require('./fixtures/polygon.json'); -const budgetTable = require('./fixtures/budget-table.json'); -const dateInMeta = require('./fixtures/date-with-metadata.json'); -const dateNoMeta = require('./fixtures/date-no-metadata.json'); -const oneOfEach = require('./fixtures/one-of-each.json'); -const fullySpecified = require('./fixtures/fully-specified-metadata.json'); -const offsetApplied = require('./fixtures/offset-applied.json'); -const taggedNonWGS84 = require('./fixtures/trees-crs-102645.json'); -const untaggedNonWGS84 = require('./fixtures/trees-untagged-102645.json'); -const dataWithTextOID = require('./fixtures/snow-text-objectid.json'); - -describe('Query operations', () => { - before(function () { - // This pattern is used to help insulate bugs that occur from platform-specific logic in farmhash. - // The existing hard-coded OBJECTID's were generated by a unix-based farmhash, and would cause - // the tests to fail when run on windows. - const response = FeatureServer.query(data, { outFields: 'OBJECTID' }); - this.objectIds = response.features.map(feat => feat.attributes.OBJECTID); - const textOIDResponse = FeatureServer.query(dataWithTextOID, { outFields: 'OBJECTID' }); - this.textObjectIds = textOIDResponse.features.map(feat => feat.attributes.OBJECTID); - }); - - it('should return the expected response schema for an optionless query', () => { - const response = FeatureServer.query(data, {}); - const featuresSchemaOverride = featuresTemplateSchema.append({ - geometryType: 'esriGeometryPoint' - }); - featuresSchemaOverride.validate(response, { presence: 'required' }).should.not.have.property('error'); - }); - - it('should return only requested "outFields" set in options', () => { - const response = FeatureServer.query(data, { outFields: 'OBJECTID' }); - response.fields.should.have.length(1); - response.fields[0].should.have.property('name', 'OBJECTID'); - Object.keys(response.features[0].attributes).should.have.length(1); - response.features[0].attributes.should.have.property('OBJECTID'); - response.features[0].attributes.OBJECTID.should.be.type('number'); - }); - - it('should not return geometry data when "returnGeometry" is false', () => { - const response = FeatureServer.query(data, { returnGeometry: false }); - _.has(response, 'features[0].geometry').should.equal(false); - }); - - it('should serialize all the types correctly', () => { - const response = FeatureServer.query(oneOfEach, {}); - response.fields[0].type.should.equal('esriFieldTypeOID'); - response.fields[1].type.should.equal('esriFieldTypeDouble'); - response.fields[2].type.should.equal('esriFieldTypeInteger'); - response.fields[3].type.should.equal('esriFieldTypeString'); - response.fields[4].type.should.equal('esriFieldTypeDate'); - }); - - describe('when getting featureserver features from geojson', function () { - it('should return a valid features', () => { - const response = FeatureServer.query(data, {}); - response.should.be.an.instanceOf(Object); - response.fields.should.be.an.instanceOf(Array); - response.features.should.be.an.instanceOf(Array); - response.features.forEach(function (feature) { - feature.should.have.property('geometry'); - feature.should.have.property('attributes'); - feature.attributes.should.have.property('OBJECTID'); - }); - }); - }); - - describe('non-WGS84 input dataset', function () { - it('should translate the data properly when geojson.crs is defined', function () { - const response = FeatureServer.query(taggedNonWGS84, { limit: 1, returnGeometry: true }); - response.geometryType.should.equal('esriGeometryPoint'); - response.features.length.should.equal(1); - response.features[0].attributes.OBJECTID.should.equal(31724); - response.features[0].geometry.x.should.equal(6514038.953486104); - response.features[0].geometry.y.should.equal(1887956.4927625388); - response.spatialReference.latestWkid.should.equal(2229); - response.spatialReference.wkid.should.equal(102645); - }); - - it('should translate the data properly req.inputCrs is defined', function () { - const data = _.cloneDeep(untaggedNonWGS84); - data.metadata = { crs: 102645 }; - const response = FeatureServer.query(untaggedNonWGS84, { limit: 1, returnGeometry: true }); - response.features.length.should.equal(1); - response.features[0].attributes.OBJECTID.should.equal(31724); - response.features[0].geometry.x.should.equal(6514038.953486104); - response.features[0].geometry.y.should.equal(1887956.4927625388); - response.spatialReference.latestWkid.should.equal(2229); - response.spatialReference.wkid.should.equal(102645); - }); - - it('should translate the data properly req.inputCrs is defined', function () { - const response = FeatureServer.query(untaggedNonWGS84, { inputCrs: 102645, limit: 1, returnGeometry: true }); - response.features.length.should.equal(1); - response.features[0].attributes.OBJECTID.should.equal(31724); - response.features[0].geometry.x.should.equal(6514038.953486104); - response.features[0].geometry.y.should.equal(1887956.4927625388); - response.spatialReference.latestWkid.should.equal(2229); - response.spatialReference.wkid.should.equal(102645); - }); - }); - - describe('when using an outSR', function () { - it('should translate the data properly', function () { - const response = FeatureServer.query(data, { outSR: { latestWkid: 102100 }, limit: 1, returnGeometry: true }); - response.geometryType.should.equal('esriGeometryPoint'); - response.features.length.should.equal(1); - response.features[0].attributes.OBJECTID.should.equal(this.objectIds[0]); - response.features[0].geometry.x.should.equal(-11682713.391976157); - response.features[0].geometry.y.should.equal(4857924.005275469); - response.spatialReference.latestWkid.should.equal(3857); - response.spatialReference.wkid.should.equal(102100); - }); - - it('should translate the data properly when outSR is just a number', function () { - const response = FeatureServer.query(data, { outSR: 102100, limit: 1, returnGeometry: true }); - response.features.length.should.equal(1); - response.features[0].geometry.x.should.equal(-11682713.391976157); - response.features[0].geometry.y.should.equal(4857924.005275469); - response.spatialReference.wkid.should.equal(102100); - }); - }); - - // move to monorepo e2e tests - describe.skip('when getting featureserver features by id queries', function () { - it('should return a proper features', function () { - const response = FeatureServer.query(data, { objectIds: this.objectIds.slice(0, 3).join(',') }); - response.should.be.an.instanceOf(Object); - response.fields.should.be.an.instanceOf(Array); - response.features.should.have.length(3); - }); - - it('should work with single id', function () { - const response = FeatureServer.query(data, { objectIds: this.objectIds[0] }); - response.should.be.an.instanceOf(Object); - response.fields.should.be.an.instanceOf(Array); - response.features.should.have.length(1); - }); - - it('should work with string id features', function () { - const response = FeatureServer.query(dataWithTextOID, { objectIds: this.textObjectIds.slice(0, 2).join(',') }); - response.should.be.an.instanceOf(Object); - response.fields.should.be.an.instanceOf(Array); - response.features.should.have.length(2); - }); - - it('should return only count of features', function () { - const response = FeatureServer.query(data, { - returnCountOnly: true, - objectIds: this.objectIds.slice(0, 3).join(',') - }); - response.should.be.an.instanceOf(Object); - response.should.have.property('count'); - response.count.should.equal(3); - }); - - it('should work with a single OID', () => { - const response = FeatureServer.query(fullySpecified, { - objectIds: 1 - }); - response.features.length.should.equal(1); - }); - }); - - describe('when getting features with returnIdsOnly', function () { - it('should return only ids of features', function () { - const response = FeatureServer.query(data, { - returnIdsOnly: true - }); - response.should.be.an.instanceOf(Object); - response.should.have.property('objectIdFieldName', 'OBJECTID'); - response.should.have.property('objectIds'); - }); - }); - - describe('when filtering features with a geometry', function () { - it('should return geometries that are contained', () => { - const response = FeatureServer.query(data, { - geometry: { xmin: -110, ymin: 30, xmax: -106, ymax: 50 }, - geometryType: 'esriGeometryEnvelope' - }); - response.should.be.an.instanceOf(Object); - response.features.length.should.equal(100); - }); - }); - - describe('when filtering features with a geometry and outSR', function () { - it('should return geometries that are contained', () => { - const response = FeatureServer.query(data, { - geometry: { xmin: -110, ymin: 30, xmax: -106, ymax: 50, spatialReference: { wkid: 4326 } }, - geometryType: 'esriGeometryEnvelope' - }); - response.should.be.an.instanceOf(Object); - response.features.length.should.equal(100); - }); - - it('should still have the correct outSR even when projection is already applied', () => { - const response = FeatureServer.query(projectionApplied, { - outSR: 102100, - geometry: { xmin: -110, ymin: 30, xmax: -106, ymax: 50, spatialReference: { wkid: 4326 } }, - geometryType: 'esriGeometryEnvelope' - }); - response.spatialReference.wkid.should.equal(102100); - response.should.be.an.instanceOf(Object); - response.features.length.should.equal(100); - }); - }); - - describe('when filtering features with a geometry and outSR', function () { - it('should return geometries that are contained', () => { - const response = FeatureServer.query(data, { - geometry: { xmin: -110, ymin: 30, xmax: -106, ymax: 50, spatialReference: { wkid: 4326 } }, - geometryType: 'esriGeometryEnvelope', - spatialRel: 'esriSpatialRelContains' - }); - response.should.be.an.instanceOf(Object); - response.features.length.should.equal(100); - }); - }); - - describe('when filtering polygon features with a geometry', function () { - it('should return geometries that are contained by given bounds', () => { - const response = FeatureServer.query(polyData, { - geometry: { xmin: -180, ymin: -90, xmax: 180, ymax: 90, spatialReference: { wkid: 4326 } }, - geometryType: 'esriGeometryEnvelope', - spatialRel: 'esriSpatialRelContains' - }); - response.should.be.an.instanceOf(Object); - response.features.length.should.equal(1); - }); - }); - - describe('when filtering features with where clauses', function () { - it('should return filtered features with less than', () => { - const response = FeatureServer.query(data, { - where: 'latitude < 39.9137' - }); - response.should.be.an.instanceOf(Object); - response.features.length.should.equal(261); - }); - - it('should return filtered features with greater than', () => { - const response = FeatureServer.query(data, { - where: 'latitude > 39.9137' - }); - response.should.be.an.instanceOf(Object); - response.features.length.should.equal(144); - }); - - it('should return filtered features with equal', () => { - const response = FeatureServer.query(data, { - where: 'latitude = 39.9137' - }); - response.should.be.an.instanceOf(Object); - response.features.length.should.equal(1); - }); - - it('should return well formed features', () => { - const options = { - f: 'json', - where: '"Full/Part" = \'P\'', - returnGeometry: false, - resultOffset: 0, - resultRecordCount: 10, - outFields: '*' - }; - - const response = FeatureServer.query(budgetTable, options); - response.fields.length.should.equal(9); - response.features.length.should.equal(10); - Object.keys(response.features[0].attributes).length.should.equal(9); - }); - - it('should return correct out fields, including OBJECTID', () => { - const options = { - f: 'json', - where: '"Full/Part" = \'P\'', - returnGeometry: false, - resultOffset: 0, - resultRecordCount: 10, - outFields: 'OBJECTID,Name,Dept' - }; - - const response = FeatureServer.query(budgetTable, options); - response.fields.length.should.equal(3); - response.fields[0].name.should.equal('OBJECTID'); - response.fields[1].name.should.equal('Name'); - response.fields[2].name.should.equal('Dept'); - response.features.length.should.equal(10); - Object.keys(response.features[0].attributes).length.should.equal(3); - _.has(response, 'features[0].geometry').should.equal(false); - }); - - it('should return correct out fields, excluding OBJECTID', () => { - const options = { - f: 'json', - returnGeometry: false, - resultRecordCount: 1, - outFields: 'Name,Dept' - }; - - const response = FeatureServer.query(budgetTable, options); - response.fields.length.should.equal(2); - response.fields.find(field => field.name === 'Name').name.should.equal('Name'); - response.fields.find(field => field.name === 'Dept').name.should.equal('Dept'); - Object.keys(response.features[0].attributes).length.should.equal(2); - _.has(response, 'features[0].attributes.OBJECTID').should.equal(false); - }); - }); - - describe('querying for statistics', function () { - describe('results are passed in', function () { - it('should properly render a group-by response', function () { - const response = FeatureServer.query({ - statistics: [ - { - FACUSE: 'Middle School', - TOTAL_STUD_SUM: 5421, - ZIP_CODE_COUNT: 18 - }, - { - FACUSE: 'Elementary School', - TOTAL_STUD_SUM: 23802, - ZIP_CODE_COUNT: 72 - } - ] - }, { - groupByFieldsForStatistics: 'FACUSE', - outStatistics: [{ - statisticType: 'sum', - onStatisticField: 'Student Count', - outStatisticFieldName: 'TOTAL_STUD_SUM' - }, { - statisticType: 'count', - onStatisticField: 'ZIP_CODE', - outStatisticFieldName: 'ZIP_CODE_COUNT' - }] - }); - response.should.deepEqual({ - fields: [ - { - name: 'FACUSE', - type: 'esriFieldTypeString', - alias: 'FACUSE', - defaultValue: null, - domain: null, - sqlType: 'sqlTypeOther', - length: 128 - }, - { - name: 'TOTAL_STUD_SUM', - type: 'esriFieldTypeDouble', - alias: 'TOTAL_STUD_SUM', - defaultValue: null, - domain: null, - sqlType: 'sqlTypeFloat' - }, - { - name: 'ZIP_CODE_COUNT', - type: 'esriFieldTypeDouble', - alias: 'ZIP_CODE_COUNT', - defaultValue: null, - domain: null, - sqlType: 'sqlTypeFloat' - } - ], - features: [ - { - attributes: { - FACUSE: 'Middle School', - TOTAL_STUD_SUM: 5421, - ZIP_CODE_COUNT: 18 - } - }, - { - attributes: { - FACUSE: 'Elementary School', - TOTAL_STUD_SUM: 23802, - ZIP_CODE_COUNT: 72 - } - } - ] - }); - }); - - it('should properly render a regular response', function () { - const response = FeatureServer.query({ - statistics: { - TOTAL_STUD_SUM: 5421, - ZIP_CODE_COUNT: 18 - } - }); - response.should.deepEqual({ - fields: [ - { - name: 'TOTAL_STUD_SUM', - type: 'esriFieldTypeDouble', - alias: 'TOTAL_STUD_SUM', - domain: null, - defaultValue: null, - sqlType: 'sqlTypeFloat' - }, - { - name: 'ZIP_CODE_COUNT', - type: 'esriFieldTypeDouble', - alias: 'ZIP_CODE_COUNT', - domain: null, - defaultValue: null, - sqlType: 'sqlTypeFloat' - } - ], - features: [ - { - attributes: { - TOTAL_STUD_SUM: 5421, - ZIP_CODE_COUNT: 18 - } - } - ] - }); - }); - - it('should respect metadata when converting a date string type to a date type', () => { - const response = FeatureServer.query({ - type: 'FeatureCollection', - statistics: [ - { - dateField: '2017-06-16T01:58:36.179Z' - } - ], - metadata: { - fields: [ - { - name: 'dateField', - type: 'Date' - } - ] - } - }); - response.features[0].attributes.dateField.should.equal(1497578316179); - response.fields[0].type.should.equal('esriFieldTypeDate'); - }); - - it('should convert a date string type to a date type', () => { - const response = FeatureServer.query({ - type: 'FeatureCollection', - statistics: [ - { - dateField: '2017-06-16T01:58:36.179Z' - } - ] - }); - response.features[0].attributes.dateField.should.equal(1497578316179); - response.fields[0].type.should.equal('esriFieldTypeDate'); - }); - - it('should respect metadata when date field is passed in', () => { - const response = FeatureServer.query({ - type: 'FeatureCollection', - statistics: [ - { - dateField: 1497578316179 - } - ], - metadata: { - fields: [ - { - name: 'dateField', - type: 'Date' - } - ] - } - }, { - outStatistics: [ - { - statisticType: 'MIN', - onStatisticField: 'dateField' - } - ] - }); - response.features[0].attributes.dateField.should.equal(1497578316179); - response.fields[0].type.should.equal('esriFieldTypeDate'); - }); - - it('should respect metadata when date field is passed in and custom stat label', () => { - const response = FeatureServer.query({ - type: 'FeatureCollection', - statistics: [ - { - some_new_label: 1497578316179 - } - ], - metadata: { - fields: [ - { - name: 'dateField', - type: 'Date' - } - ] - } - }, { - outStatistics: [ - { - statisticType: 'MIN', - onStatisticField: 'dateField', - outStatisticFieldName: 'some_new_label' - } - ] - }); - response.features[0].attributes.some_new_label.should.equal(1497578316179); - response.fields[0].type.should.equal('esriFieldTypeDate'); - }); - }); - - describe('calculating from geojson', function () { - it('should return correct fields and features for one stat', () => { - const response = FeatureServer.query(data, { - outStatistics: [{ - statisticType: 'MIN', - onStatisticField: 'total precip', - outStatisticFieldName: 'min_precip' - }] - }); - response.should.be.an.instanceOf(Object); - response.fields.length.should.equal(1); - response.features.length.should.equal(1); - response.features[0].attributes.min_precip.should.equal(0); - }); - - it('should return correct number of fields and features for 2 stats', () => { - const response = FeatureServer.query(data, { - outStatistics: [ - { - statisticType: 'min', - onStatisticField: 'total precip', - outStatisticFieldName: 'min_precip' - }, - { - statisticType: 'max', - onStatisticField: 'total precip', - outStatisticFieldName: 'max_precip' - } - ] - }); - response.should.be.an.instanceOf(Object); - response.fields.length.should.equal(2); - response.features.length.should.equal(1); - response.features[0].attributes.min_precip.should.equal(0); - response.features[0].attributes.max_precip.should.equal(1.5); - }); - - it('should return correct statistics for a count operation', () => { - const response = FeatureServer.query(data, { - outStatistics: [ - { - statisticType: 'count', - onStatisticField: 'total precip', - outStatisticFieldName: 'count_precip' - } - ] - }); - response.should.be.an.instanceOf(Object); - response.fields.length.should.equal(1); - response.features.length.should.equal(1); - response.features[0].attributes.count_precip.should.not.equal(0); - }); - - it('should return correct number of fields and features for sum stats', () => { - const response = FeatureServer.query(data, { - outStatistics: [{ - statisticType: 'sum', - onStatisticField: 'total precip', - outStatisticFieldName: 'sum_precip' - }] - }); - response.should.be.an.instanceOf(Object); - response.fields.length.should.equal(1); - response.features.length.should.equal(1); - response.features[0].attributes.sum_precip.should.equal(135.69000000000003); - }); - - it('should return correct number of fields and features for avg stats', () => { - const response = FeatureServer.query(data, { - outStatistics: [{ - statisticType: 'avg', - onStatisticField: 'total precip', - outStatisticFieldName: 'avg_precip' - }] - }); - response.features[0].attributes.avg_precip.should.equal(0.3253956834532375); - }); - - it('should return correct number of fields and features for var/stddev stats', () => { - const response = FeatureServer.query(data, { - outStatistics: [ - { statisticType: 'var', onStatisticField: 'total precip', outStatisticFieldName: 'var_precip' }, - { statisticType: 'stddev', onStatisticField: 'total precip', outStatisticFieldName: 'stddev_precip' } - ] - }); - response.features[0].attributes.var_precip.should.equal(0.07661480700055341); - response.features[0].attributes.stddev_precip.should.equal(0.27646171244241985); - }); - - it('should return a correct response when there are multiple stats returned', () => { - const options = { - where: '1=1', - returnGeometry: false, - returnDistinctValues: false, - returnIdsOnly: false, - returnCountOnly: false, - outFields: '*', - sqlFormat: 'standard', - f: 'json', - groupByFieldsForStatistics: 'Full/Part', - outStatistics: [{ - statisticType: 'count', - onStatisticField: 'Full/Part', - outStatisticFieldName: 'Full/Part_COUNT' - }], - orderByFields: 'Full/Part_COUNT DESC' - }; - - const response = FeatureServer.query(budgetTable, options); - response.features[0].attributes['Full/Part_COUNT'].should.equal(6644); - response.fields.findIndex(f => { return f.name === 'Full/Part_COUNT'; }).should.not.equal(-1); - response.fields.findIndex(f => { return f.name === 'Full/Part'; }).should.not.equal(-1); - }); - }); - }); - - describe('when getting feature counts from a given count', () => { - it('should return a correct count json', () => { - const json = FeatureServer.query({ count: 100 }, { returnCountOnly: true }); - json.count.should.equal(100); - }); - }); - - describe('query that results in 0 features', () => { - it('should still return fields', () => { - const json = FeatureServer.query(data, { - where: '"total precip" > 10000' - }); - json.fields.length.should.equal(10); - json.features.length.should.equal(0); - }); - }); - - describe('geojson output', () => { - it('should respect f=geojson when querying for features', () => { - const json = FeatureServer.query(data, { - where: '"total precip" > 1', - f: 'geojson' - }); - json.type.should.equal('FeatureCollection'); - json.features.length.should.equal(4); - json.features[0].type.should.equal('Feature'); - should.exist(json.features[0].properties); - should.exist(json.features[0].geometry); - }); - }); - - describe('with a date fields', () => { - it('should respect a date field in the metadata', () => { - const json = FeatureServer.query(dateInMeta, {}); - json.features[0].attributes.dateField.should.equal(1497578316179); - json.fields[1].type.should.equal('esriFieldTypeDate'); - }); - - it('should detect a date field', () => { - const json = FeatureServer.query(dateNoMeta, {}); - json.features[0].attributes.dateField.should.equal(1497578316179); - json.fields[1].type.should.equal('esriFieldTypeDate'); - }); - }); - - describe('when an offset has already been applied', () => { - it('should remove the result offset', () => { - const json = FeatureServer.query(offsetApplied, { resultOffset: 50, resultRecordCount: 1 }); - json.features.length.should.be.greaterThan(0); - }); - }); - - describe('passing in a count', () => { - it('should pass through a count of 0', () => { - const json = FeatureServer.query({ count: 0 }, { returnCountOnly: true }); - json.count.should.equal(0); - }); - - it('should pass through a count of 1', () => { - const json = FeatureServer.query({ count: 1, features: [{}] }, { returnCountOnly: true }); - json.count.should.equal(1); - }); - }); - - describe('returnExtentOnly', function () { - it('should return extent of features', () => { - const response = FeatureServer.query(data, { returnExtentOnly: true }); - response.should.be.an.instanceOf(Object); - response.should.have.property('extent'); - response.extent.should.have.property('xmin', -108.9395); - response.extent.should.have.property('ymin', 37.084968); - response.extent.should.have.property('xmax', -102); - response.extent.should.have.property('ymax', 40.8877); - response.extent.should.have.property('spatialReference'); - response.extent.spatialReference.should.have.property('wkid', 4326); - response.should.not.have.property('count'); - }); - - it('should return extent of features and count of features', () => { - const response = FeatureServer.query(data, { returnExtentOnly: true, returnCountOnly: true }); - response.should.be.an.instanceOf(Object); - response.should.have.property('count', 417); - response.should.have.property('extent'); - response.extent.should.have.property('xmin', -108.9395); - response.extent.should.have.property('ymin', 37.084968); - response.extent.should.have.property('xmax', -102); - response.extent.should.have.property('ymax', 40.8877); - response.extent.should.have.property('spatialReference'); - response.extent.spatialReference.should.have.property('wkid', 4326); - }); - - it('should return extent of features in specified outSR', () => { - const response = FeatureServer.query(data, { returnExtentOnly: true, outSR: 3857 }); - response.should.be.an.instanceOf(Object); - response.should.have.property('extent'); - response.extent.should.have.property('xmin', -12127089.667273825); - response.extent.should.have.property('ymin', 4450956.857492035); - response.extent.should.have.property('xmax', -11354588.060913904); - response.extent.should.have.property('ymax', 4995791.524006592); - response.extent.should.have.property('spatialReference'); - response.extent.spatialReference.should.have.property('wkid', 3857); - response.should.not.have.property('count'); - }); - - it('should return extent when predefined', () => { - const response = FeatureServer.query({ - extent: { - xmin: -108, - ymin: 37, - xmax: -102, - ymax: 40, - spatialReference: { wkid: 4326 } - } - }, { returnExtentOnly: true }); - response.should.be.an.instanceOf(Object); - response.should.have.property('extent'); - response.extent.should.have.property('xmin', -108); - response.extent.should.have.property('ymin', 37); - response.extent.should.have.property('xmax', -102); - response.extent.should.have.property('ymax', 40.0); - response.extent.should.have.property('spatialReference'); - response.extent.spatialReference.should.have.property('wkid', 4326); - }); - - it('should return extent and count when both requested and predefined', () => { - const response = FeatureServer.query({ - count: 101, - extent: { - xmin: -108, - ymin: 37, - xmax: -102, - ymax: 40, - spatialReference: { wkid: 4326 } - } - }, { returnExtentOnly: true, returnCountOnly: true }); - response.should.be.an.instanceOf(Object); - response.should.have.property('count', 101); - response.should.have.property('extent'); - response.extent.should.have.property('xmin', -108); - response.extent.should.have.property('ymin', 37); - response.extent.should.have.property('xmax', -102); - response.extent.should.have.property('ymax', 40.0); - response.extent.should.have.property('spatialReference'); - response.extent.spatialReference.should.have.property('wkid', 4326); - }); - }); -}); diff --git a/packages/featureserver/test/integration/queryRelatedRecords.spec.js b/packages/featureserver/test/integration/queryRelatedRecords.spec.js deleted file mode 100644 index 07ae19af7..000000000 --- a/packages/featureserver/test/integration/queryRelatedRecords.spec.js +++ /dev/null @@ -1,37 +0,0 @@ -const should = require('should') // eslint-disable-line -const FeatureServer = require('../..'); -const relatedData = require('./fixtures/relatedData.json'); -const relatedDataCount = require('./fixtures/relatedDataCountProperty.json'); - -describe('QueryRelatedRecords operations', () => { - it('should return the expected response schema for an optionless query', () => { - const response = FeatureServer.queryRelatedRecords(relatedData, {}); - response.should.have.property('fields'); - response.should.have.property('relatedRecordGroups'); - response.fields.should.have.length(16); - response.relatedRecordGroups.should.have.length(1); - response.relatedRecordGroups[0].should.have.property('objectId', 261193); - response.relatedRecordGroups[0].should.have.property('relatedRecords'); - response.relatedRecordGroups[0].relatedRecords.should.have.length(11); - }); - - it('should return count of features when returnCountOnly true in options', () => { - const response = FeatureServer.queryRelatedRecords(relatedData, { returnCountOnly: true }); - response.should.not.have.property('fields'); - response.should.have.property('relatedRecordGroups'); - response.relatedRecordGroups.should.have.length(1); - response.relatedRecordGroups[0].should.have.property('objectId', 261193); - response.relatedRecordGroups[0].should.not.have.property('relatedRecords'); - response.relatedRecordGroups[0].should.have.property('count', 11); - }); - - it('should return count when specified in properties and returnCountOnly true in options', () => { - const response = FeatureServer.queryRelatedRecords(relatedDataCount, { returnCountOnly: true }); - response.should.not.have.property('fields'); - response.should.have.property('relatedRecordGroups'); - response.relatedRecordGroups.should.have.length(1); - response.relatedRecordGroups[0].should.have.property('objectId', 261193); - response.relatedRecordGroups[0].should.not.have.property('relatedRecords'); - response.relatedRecordGroups[0].should.have.property('count', 11); - }); -}); diff --git a/packages/featureserver/test/integration/route.spec.js b/packages/featureserver/test/integration/route.spec.js deleted file mode 100644 index 0584921a5..000000000 --- a/packages/featureserver/test/integration/route.spec.js +++ /dev/null @@ -1,366 +0,0 @@ -const FeatureServer = require('../../src'); -const request = require('supertest'); -const express = require('express'); -const should = require('should'); -const _ = require('lodash'); -const snow = require('./fixtures/snow.json'); -const noGeom = require('./fixtures/no-geometry.json'); -const relatedData = require('./fixtures/relatedData.json'); -const app = express(); - -let data; - -const serverHander = (req, res) => { - FeatureServer.route(req, res, { - description: 'test', - layers: [data, data] - }); -}; -const handler = (req, res) => FeatureServer.route(req, res, data); - -app.get('/FeatureServer', serverHander); -app.get('/FeatureServer/info', serverHander); -app.get('/FeatureServer/layers', handler); -app.get('/FeatureServer/:layer', handler); -app.get('/FeatureServer/:layer/:method', handler); - -describe('Routing feature server requests', () => { - beforeEach(() => { - data = _.cloneDeep(snow); - data.name = 'Snow'; - }); - - describe('Server Info', () => { - it('should properly route and handle a server info request to /FeatureServer`', done => { - request(app) - .get('/FeatureServer?f=json') - .expect(res => { - res.body.serviceDescription.should.equal('test'); - res.body.layers.length.should.equal(2); - Array.isArray(res.body.tables).should.equal(true); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - - it('should properly route and handle a server info request to /FeatureServer/`', done => { - request(app) - .get('/FeatureServer/?f=json') - .expect(res => { - res.body.serviceDescription.should.equal('test'); - res.body.layers.length.should.equal(2); - Array.isArray(res.body.tables).should.equal(true); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - - it('should properly route and handle a server info request to /FeatureServer/info`', done => { - request(app) - .get('/FeatureServer/info?f=json') - .expect(res => { - res.body.serviceDescription.should.equal('test'); - res.body.layers.length.should.equal(2); - Array.isArray(res.body.tables).should.equal(true); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - }); - - describe('Layers', () => { - it('should properly route and handle a layers request`', done => { - request(app) - .get('/FeatureServer/layers?f=json') - .expect(res => { - res.body.layers.length.should.equal(1); - res.body.tables.length.should.equal(0); - res.body.layers[0].name.should.equal('Snow'); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - }); - - describe('Layer Info', () => { - it('should properly route and handle a layer info request of form /FeatureServer/:layerId`', done => { - request(app) - .get('/FeatureServer/3?f=json') - .expect(res => { - res.body.type.should.equal('Feature Layer'); - res.body.name.should.equal('Snow'); - res.body.id.should.equal(3); - res.body.fields - .filter(f => { - return f.name === 'OBJECTID'; - }) - .length.should.equal(1); - should.exist(res.body.extent); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - - it('should properly route and handle a layer info request of form /FeatureServer/:layerId/`', done => { - request(app) - .get('/FeatureServer/3/?f=json') - .expect(res => { - res.body.type.should.equal('Feature Layer'); - res.body.name.should.equal('Snow'); - res.body.id.should.equal(3); - res.body.fields - .filter(f => { - return f.name === 'OBJECTID'; - }) - .length.should.equal(1); - should.exist(res.body.extent); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - - it('should properly route and handle a layer info request of form /FeatureServer/:layerId/info`', done => { - request(app) - .get('/FeatureServer/3/info?f=json') - .expect(res => { - res.body.type.should.equal('Feature Layer'); - res.body.name.should.equal('Snow'); - res.body.id.should.equal(3); - res.body.fields - .filter(f => { - return f.name === 'OBJECTID'; - }) - .length.should.equal(1); - should.exist(res.body.extent); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - - describe('no geometry', () => { - beforeEach(() => { - data = _.cloneDeep(noGeom); - }); - it('should properly route and handle the layer with no geometry', done => { - request(app) - .get('/FeatureServer/3?f=json') - .expect(res => { - res.body.type.should.equal('Table'); - res.body.id.should.equal(3); - res.body.fields - .filter(f => { - return f.name === 'OBJECTID'; - }) - .length.should.equal(1); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - }); - }); - - describe('Method not supported', () => { - it('should return an informative error', done => { - request(app) - .get('/FeatureServer/0/foobarbaz') - .expect(res => { - res.body.should.deepEqual({ - error: { - code: 400, - message: 'Method not supported', - details: ['Method not supported'] - } - }); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - }); - - describe('Query', () => { - before(function () { - // This pattern is used to help insulate bugs that occur from platform-specific logic in farmhash. - // The existing hard-coded OBJECTID's were generated by a unix-based farmhash, and would cause - // the tests to fail when run on windows. - const response = FeatureServer.query(data, { outFields: 'OBJECTID' }); - this.secondOBJECTID = response.features[1].attributes.OBJECTID; - }); - - it('should properly route and handle a query', done => { - request(app) - .get('/FeatureServer/0/query?f=json&where=1%3D1') - .expect(res => { - res.body.features.length.should.equal(417); - res.body.exceededTransferLimit.should.equal(false); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - - it('should respect passed in max record count', function (done) { - data.metadata.maxRecordCount = 2; - request(app) - .get('/FeatureServer/0/query?f=json&where=1%3D1') - .expect(res => { - res.body.features[1].attributes.OBJECTID.should.equal(this.secondOBJECTID); - res.body.features.length.should.equal(2); - res.body.exceededTransferLimit.should.equal(true); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - - it('should respect resultRecordCount', done => { - request(app) - .get('/FeatureServer/0/query?f=json&where=1%3D1&resultRecordCount=10') - .expect(res => { - res.body.features.length.should.equal(10); - res.body.exceededTransferLimit.should.equal(true); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - - it('should ignore empty query parameters', function (done) { - request(app) - .get('/FeatureServer/0/query?f=json&orderByFields=') - .expect(res => { - res.body.features[1].attributes.OBJECTID.should.equal(this.secondOBJECTID); - res.body.features.length.should.equal(417); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - - it('should handle when a provider passes in statistics', done => { - data = require('./fixtures/provider-statistics.json'); - request(app) - .get( - '/FeatureServer/0/query?f=json&' + - 'geometry={"xmin":-15576031.875835987,"ymin":-14167144.570483988,"xmax":15576031.875835987,"ymax":14167144.570483988}&' + - 'geometryType=esriGeometryEnvelope&' + - 'inSR=102100&' + - 'spatialRel=esriSpatialRelIntersects&' + - 'outStatistics=[{"onStatisticField":"OBJECTID","statisticType":"min","outStatisticFieldName":"min_2"},{"onStatisticField":"OBJECTID","statisticType":"max","outStatisticFieldName":"max_2"},{"onStatisticField":"OBJECTID","statisticType":"count","outStatisticFieldName":"count_2"}]&' + - 'where=1=1' - ) - .expect(res => { - res.body.features[0].attributes.min_2.should.equal(0); - res.body.features[0].attributes.max_2.should.equal(57611); - res.body.features[0].attributes.count_2.should.equal(75343); - res.body.fields.length.should.equal(3); - res.body.fields[0].type.should.equal('esriFieldTypeDouble'); - res.body.fields[1].type.should.equal('esriFieldTypeDouble'); - res.body.fields[2].type.should.equal('esriFieldTypeDouble'); - }) - .expect(200, done); - }); - }); - - describe('generateRenderer', () => { - describe('when statistics are passed in', () => { - beforeEach(() => { - data = _.cloneDeep({ - type: 'FeatureCollection', - metadata: { - name: 'GDeltGKG' - }, - statistics: { - classBreaks: [ - [80, 147], - [147, 174], - [174, 195], - [195, 218], - [240, 270], - [307, 360], - [360, 558], - [558, 799], - [799, 2000] - ] - } - }); - }); - it('should properly route and handle when a provider passes in class breaks statistics', done => { - request(app) - .get('/FeatureServer/3/generateRenderer?') - .expect(res => { - res.body.type.should.equal('classBreaks'); - res.body.classBreakInfos.length.should.equal(9); - res.body.classBreakInfos[0].symbol.color.should.deepEqual([0, 255, 0]); - res.body.classBreakInfos[0].label.should.equal('80-147'); - res.body.classBreakInfos[4].symbol.color.should.deepEqual([0, 255, 255]); - res.body.classBreakInfos[8].symbol.color.should.deepEqual([0, 0, 255]); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - it('should ignore options when statistics are passed in', done => { - request(app) - .get('/FeatureServer/3/generateRenderer?' + - 'classificationDef={' + - '"type": "classBreaksDef",' + - '"classificationField": "daily snow total",' + - '"classificationMethod": "esriClassifyEqualInterval",' + - '"breakCount": 9}&' + - 'where=&' + - 'gdbVersion=&' + - 'f=json') - .expect(res => { - res.body.type.should.equal('classBreaks'); - res.body.classBreakInfos.length.should.equal(9); - res.body.classBreakInfos[0].symbol.color.should.deepEqual([0, 255, 0]); - res.body.classBreakInfos[0].label.should.equal('80-147'); - res.body.classBreakInfos[4].symbol.color.should.deepEqual([0, 255, 255]); - res.body.classBreakInfos[8].symbol.color.should.deepEqual([0, 0, 255]); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - }); - it('should properly route and handle a generate renderer request', done => { - request(app) - .get('/FeatureServer/3/generateRenderer?' + - 'classificationDef={' + - '"type": "classBreaksDef",' + - '"classificationField": "daily snow total",' + - '"classificationMethod": "esriClassifyEqualInterval",' + - '"breakCount": 7,' + - '"colorRamp": {' + - '"type": "algorithmic",' + - '"fromColor": [0, 100, 0, 255],' + - '"toColor": [0, 0, 255, 255],' + - '"algorithm": "esriHSVAlgorithm"}' + - '}&' + - 'where=latitude < 39 AND latitude > 38.5&' + - 'f=json') - .expect(res => { - res.body.type.should.equal('classBreaks'); - res.body.classBreakInfos.length.should.equal(7); - res.body.classBreakInfos[0].symbol.color.should.deepEqual([0, 100, 0]); - res.body.classBreakInfos[0].label.should.equal('0-0.7571428571428571'); - res.body.classBreakInfos[3].symbol.color.should.deepEqual([0, 177, 178]); - res.body.classBreakInfos[6].symbol.color.should.deepEqual([0, 0, 255]); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - }); - - describe('queryRelatedRecords', () => { - describe('when objectIds are passed in', () => { - beforeEach(() => { - data = _.cloneDeep(relatedData); - }); - it('should properly route and handle return related records result', done => { - request(app) - .get('/FeatureServer/0/queryRelatedRecords?') - .expect(res => { - res.body.relatedRecordGroups.length.should.equal(1); - res.body.relatedRecordGroups[0].relatedRecords.length.should.equal(11); - }) - .expect('Content-Type', /json/) - .expect(200, done); - }); - }); - }); -}); diff --git a/packages/featureserver/test/integration/schemas/index.js b/packages/featureserver/test/integration/schemas/index.js deleted file mode 100644 index 717737334..000000000 --- a/packages/featureserver/test/integration/schemas/index.js +++ /dev/null @@ -1,171 +0,0 @@ -const Joi = require('joi'); - -const featuresTemplateSchema = Joi.object().keys({ - objectIdFieldName: 'OBJECTID', - globalIdFieldName: Joi.string().valid(''), - uniqueIdField: { - name: 'OBJECTID', - isSystemMaintained: true - }, - hasZ: Joi.boolean().valid(false), - hasM: Joi.boolean().valid(false), - spatialReference: Joi.object().keys({ - latestWkid: Joi.number().valid(4326), - wkid: Joi.number().valid(4326) - }), - fields: Joi.array(), - features: Joi.array(), - exceededTransferLimit: Joi.boolean().valid(false) -}); - -const fieldsTemplateSchema = Joi.object().keys({ - name: Joi.string(), - type: Joi.string(), - alias: Joi.string(), - sqlType: Joi.string().valid('sqlTypeOther'), - domain: Joi.valid(null), - defaultValue: Joi.valid(null) -}); - -const layerTemplateSchema = Joi.object().keys({ - currentVersion: Joi.number().valid(11.1), - fullVersion: Joi.string().valid('11.1.0'), - id: Joi.number().integer().valid(0), - name: Joi.string().allow(''), - type: Joi.string().allow('Feature Layer'), - description: Joi.string().allow(''), - copyrightText: Joi.string().allow(''), - parentLayer: Joi.valid(null), - subLayers: Joi.valid(null), - minScale: Joi.number().integer().valid(0), - maxScale: Joi.number().integer().valid(0), - defaultVisibility: Joi.boolean().valid(true), - extent: Joi.object().keys({ - xmin: Joi.number().valid(-180), - ymin: Joi.number().valid(-90), - xmax: Joi.number().valid(180), - ymax: Joi.number().valid(90), - spatialReference: Joi.object().keys({ - wkid: Joi.number().valid(4326), - latestWkid: Joi.number().valid(4326) - }) - }), - hasAttachments: Joi.boolean().valid(false), - htmlPopupType: Joi.string().allow('esriServerHTMLPopupTypeNone'), - displayField: Joi.string().allow('OBJECTID'), - typeIdField: Joi.valid(null), - relationships: Joi.array().min(0), - canModifyLayer: Joi.boolean().valid(false), - canScaleSymbols: Joi.boolean().valid(false), - hasLabels: Joi.boolean().valid(false), - capabilities: Joi.string().allow('Query'), - maxRecordCount: Joi.number().integer().valid(2000), - supportsStatistics: Joi.boolean().valid(true), - supportsAdvancedQueries: Joi.boolean().valid(true), - supportedQueryFormats: Joi.string().allow('JSON'), - ownershipBasedAccessControlForFeatures: Joi.object().keys({ - allowOthersToQuery: Joi.boolean().valid(true) - }), - supportsCoordinatesQuantization: Joi.boolean().valid(false), - useStandardizedQueries: Joi.boolean().valid(true), - advancedQueryCapabilities: Joi.object().keys({ - useStandardizedQueries: Joi.boolean().valid(true), - supportsStatistics: Joi.boolean().valid(true), - supportsOrderBy: Joi.boolean().valid(true), - supportsDistinct: Joi.boolean().valid(true), - supportsPagination: Joi.boolean().valid(true), - supportsTrueCurve: Joi.boolean().valid(false), - supportsReturningQueryExtent: Joi.boolean().valid(true), - supportsQueryWithDistance: Joi.boolean().valid(true) - }), - dateFieldsTimeReference: null, - isDataVersioned: Joi.boolean().valid(false), - supportsRollbackOnFailureParameter: Joi.boolean().valid(true), - hasM: Joi.boolean().valid(false), - hasZ: Joi.boolean().valid(false), - allowGeometryUpdates: Joi.boolean().valid(true), - objectIdField: Joi.string().valid('OBJECTID'), - globalIdField: Joi.string().valid(''), - types: Joi.array().min(0), - templates: Joi.array().min(0), - hasStaticData: Joi.boolean().valid(false), - timeInfo: Joi.object().keys({}), - uniqueIdField: Joi.object().keys({ - name: Joi.string().valid('OBJECTID'), - isSystemMaintained: Joi.boolean().valid(true) - }), - fields: Joi.array().items(Joi.object().keys({ - name: Joi.string(), - type: Joi.string().allow('esriFieldTypeOID', 'esriFieldTypeInteger', 'esriFieldTypeDouble', 'esriFieldTypeString', 'esriFieldTypeDate'), - alias: Joi.string(), - length: Joi.optional().when('type', { - is: Joi.string().allow('esriFieldTypeString', 'esriFieldTypeDate'), - then: Joi.number().integer().min(0) - }), - defaultValue: Joi.any().valid(null), - domain: Joi.any().valid(null), - editable: Joi.boolean().valid(false, true), - nullable: Joi.boolean().valid(false), - sqlType: Joi.string().valid('sqlTypeOther', 'sqlTypeDouble', 'sqlTypeInteger') - })).min(0), - drawingInfo: Joi.object().keys({ - renderer: Joi.object().keys({}), - labelingInfo: Joi.valid(null) - }) -}); - -const oidTemplateSchema = Joi.object().keys({ - name: Joi.string().valid('OBJECTID'), - type: Joi.string().valid('esriFieldTypeOID'), - alias: Joi.string().valid('OBJECTID'), - sqlType: Joi.string().valid('sqlTypeInteger'), - domain: Joi.valid(null), - defaultValue: Joi.valid(null) -}); - -const serverTemplateSchema = Joi.object().keys({ - currentVersion: Joi.number().valid(11.1), - fullVersion: Joi.string().valid('11.1.0'), - serviceDescription: Joi.string().allow(''), - hasVersionedData: Joi.boolean().valid(false), - supportsDisconnectedEditing: Joi.boolean().valid(false), - supportedQueryFormats: Joi.string().valid('JSON'), - maxRecordCount: Joi.number().integer().valid(2000), - hasStaticData: Joi.boolean().valid(false), - capabilities: Joi.string().valid('Query'), - description: Joi.string().allow(''), - copyrightText: Joi.string().allow(''), - spatialReference: Joi.object().keys({ - wkid: Joi.number().valid(4326), - latestWkid: Joi.number().valid(4326) - }), - initialExtent: Joi.object().keys({ - xmin: Joi.number().valid(-180), - ymin: Joi.number().valid(-90), - xmax: Joi.number().valid(180), - ymax: Joi.number().valid(90), - spatialReference: Joi.object().keys({ - wkid: Joi.number().valid(4326), - latestWkid: Joi.number().valid(4326) - }) - }), - fullExtent: Joi.object().keys({ - xmin: Joi.number().valid(-180), - ymin: Joi.number().valid(-90), - xmax: Joi.number().valid(180), - ymax: Joi.number().valid(90), - spatialReference: Joi.object().keys({ - wkid: Joi.number().valid(4326), - latestWkid: Joi.number().valid(4326) - }) - }), - relationships: Joi.array(), - allowGeometryUpdates: Joi.boolean().valid(false), - units: 'esriDecimalDegrees', - syncEnabled: Joi.boolean().valid(false), - layers: Joi.array().min(0), - tables: Joi.array().min(0), - supportsRelationshipsResource: Joi.boolean() -}); - -module.exports = { featuresTemplateSchema, fieldsTemplateSchema, layerTemplateSchema, oidTemplateSchema, serverTemplateSchema }; diff --git a/packages/logger/.nycrc b/packages/logger/.nycrc deleted file mode 100644 index fc4463304..000000000 --- a/packages/logger/.nycrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "all": true, - "include": [ - "src/**/*.js" - ], - "exclude": ["**/*.spec.js"], - "includeAllSources": true -} \ No newline at end of file diff --git a/packages/logger/CHANGELOG-pre-monorepo.md b/packages/logger/CHANGELOG-pre-monorepo.md deleted file mode 100644 index d8cb42eb5..000000000 --- a/packages/logger/CHANGELOG-pre-monorepo.md +++ /dev/null @@ -1,74 +0,0 @@ -# Change Log -All notable changes to this project will be documented in this file. -This project adheres to [Semantic Versioning](http://semver.org/). - -## Unreleased -### Changed -* migrate to Koop monorepo -* move code to `/src` directory -* co-locate unit test files -* migrate to eslint - -## [2.0.6] - 2020-05-30 -### Fixed -* Update winston syntax - -## [2.0.5] - 2020-05-30 -### Changed -* Update dependencies - -## [2.0.4] - 2018-07-26 -### Fixed -* Add .git and yarn.lock to .npmignore - -## [2.0.3] - 2018-07-26 -### Fixed -* Bumping version for npm publish aimed at removing .git from package - -## [2.0.2] - 2018-01-17 -### Fixed -* Log on one line only - -## [2.0.1] - 2018-01-17 -### Changed -* Log json in production - -## [2.0.0] - 2018-01-17 -### Changed -* Renamed package @koopjs/logger -* Default to info log level in production - -### Breaking -* Support only Node > 6 - -## [1.2.0] - 2016-10-16 -### Changed -* Use simple file transport - -## [1.1.1] - 2016-01-27 -### Fixed -* Remove typo in env check - -## [1.1.0] - 2016-01-27 -### Added -* `LOG_LEVEL` ENV determines whether to log above error level - -## [1.0.1] - 2016-01-08 -### Fixed -* Use Winston with built in dailyRotateFile - -## [1.0.0] - 2015-12-30 -### Changed -Extracted Koop-Logger from Koop/lib - -[2.0.6]: https://www.github.com/koopjs/koop-logger/compare/v2.0.5..v2.0.6 -[2.0.5]: https://www.github.com/koopjs/koop-logger/compare/v2.0.4..v2.0.5 -[2.0.4]: https://www.github.com/koopjs/koop-logger/compare/v2.0.3..v2.0.4 -[2.0.3]: https://www.github.com/koopjs/koop-logger/compare/v2.0.2..v2.0.3 -[2.0.2]: https://www.github.com/koopjs/koop-logger/compare/v2.0.1..v2.0.2 -[2.0.1]: https://www.github.com/koopjs/koop-logger/compare/v2.0.0..v2.0.1 -[2.0.0]: https://www.github.com/koopjs/koop-logger/compare/v1.2.0..v2.0.0 -[1.2.0]: https://www.github.com/koopjs/koop-logger/compare/v1.1.1..v1.2.0 -[1.1.0]: https://www.github.com/koopjs/koop-logger/compare/v1.0.1..v1.1.0 -[1.0.1]: https://www.github.com/koopjs/koop-logger/compare/v1.0.0..v1.0.1 -[1.0.0]: https://www.github.com/koopjs/koop-logger/tree/v1.0.0 diff --git a/packages/logger/CHANGELOG.md b/packages/logger/CHANGELOG.md deleted file mode 100644 index 3104bc2bc..000000000 --- a/packages/logger/CHANGELOG.md +++ /dev/null @@ -1,41 +0,0 @@ -# @koopjs/logger - -## 5.0.0 - -### Major Changes - -- drop support for Node 12 - -## 4.1.1 - -### Patch Changes - -- pull level from ENVs - -## 4.1.0 - -### Minor Changes - -- log stack trace when logLevel is debug or silly - -## 4.0.0 - -### Major Changes - -- change default level to "info" -- allow custom level to be set via configuration object - -## 3.0.1 - -### Patch Changes - -- Patch bumping for a clean release - -## 3.0.0 - -### Major Changes - -- migrate to Koop monorepo -- move code to `/src` directory -- co-locate unit test files -- migrate to eslint diff --git a/packages/logger/README.md b/packages/logger/README.md deleted file mode 100644 index 72ea1a6b2..000000000 --- a/packages/logger/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Koop-Logger -[![npm][npm-image]][npm-url] -![coverage](./coverage.svg) -## Usage -`npm install @koopjs/logger` -```javascript -const Logger = require('@koopjs/logger') -const config = require('config') -const log = new Logger(config) - -log.info('foo') -log.debug('bar') -log.error('baz') -log.warn('bing') -``` - -[npm-img]: https://img.shields.io/npm/v/@koopjs/logger.svg?style=flat-square -[npm-url]: https://www.npmjs.com/package/@koopjs/logger \ No newline at end of file diff --git a/packages/logger/coverage.svg b/packages/logger/coverage.svg deleted file mode 100644 index db072c62b..000000000 --- a/packages/logger/coverage.svg +++ /dev/null @@ -1,20 +0,0 @@ - - coverage: 37.5% - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/logger/package.json b/packages/logger/package.json index 7b84e7505..558b854a9 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,45 +1,13 @@ { - "name": "@koopjs/logger", + "name": "logger", "version": "5.0.0", - "description": "A shared logger for Koop", "main": "src/index.js", "scripts": { - "test": "tape src/**/*.spec.js | tap-spec", - "test:cov": "nyc -r=json-summary tape './src/**/*.spec.js' | tap-spec && npm run cov:badge", - "cov:badge": "coverage-badges-cli --output ./coverage.svg" + "clean": "shx rm -rf ../../customdata/framework/logger && shx rm package-lock.json", + "build": "shx mkdir ../../customdata/framework/logger && shx cp package.json ../../customdata/framework/logger && shx cp -r ./src ../../customdata/framework/logger && shx cp -r ./node_modules ../../customdata/framework/logger" }, - "repository": { - "type": "git", - "url": "https://www.github.com/koopjs/koop.git" - }, - "keywords": [ - "koop", - "logging" - ], - "contributors": [ - { - "name": "Rich Gwozdz", - "email": "rgwozdz@esri.com" - }, - { - "name": "Daniel Fenton" - } - ], "license": "Apache-2.0", "dependencies": { "winston": "^3.10.0" - }, - "devDependencies": { - "tap-spec": "^5.0.0", - "tape": "^5.6.6" - }, - "files": [ - "src/**/*.js", - "index.d.ts", - "!**/*.spec.js" - ], - "bugs": { - "url": "https://github.com/koopjs/koop/issues" - }, - "homepage": "https://github.com/koopjs/koop#readme" + } } diff --git a/packages/logger/src/index.spec.js b/packages/logger/src/index.spec.js deleted file mode 100644 index 065c8b2ea..000000000 --- a/packages/logger/src/index.spec.js +++ /dev/null @@ -1,17 +0,0 @@ -const test = require('tape'); -const koopLogger = require('.'); - -test('koop-logger', spec => { - try { - const log = new koopLogger(); - spec.ok(log); - spec.equals(typeof log.warn, 'function'); - spec.equals(typeof log.debug, 'function'); - spec.equals(typeof log.info, 'function'); - spec.equals(typeof log.verbose, 'function'); - spec.equals(typeof log.error, 'function'); - } catch (err) { - spec.fail(err); - } - spec.end(); -}); \ No newline at end of file diff --git a/packages/output-geoservices/.nycrc b/packages/output-geoservices/.nycrc deleted file mode 100644 index fc4463304..000000000 --- a/packages/output-geoservices/.nycrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "all": true, - "include": [ - "src/**/*.js" - ], - "exclude": ["**/*.spec.js"], - "includeAllSources": true -} \ No newline at end of file diff --git a/packages/output-geoservices/CHANGELOG-pre-monorepo.md b/packages/output-geoservices/CHANGELOG-pre-monorepo.md deleted file mode 100644 index f2fcb2596..000000000 --- a/packages/output-geoservices/CHANGELOG-pre-monorepo.md +++ /dev/null @@ -1,156 +0,0 @@ -# Change Log -All notable changes to this project will be documented in this file. -This project adheres to [Semantic Versioning](http://semver.org/). - -## Unreleased -### Changed -* migrate to Koop monorepo -* move code to `/src` directory -* co-locate unit test files -* migrate to eslint - -## [3.1.5] - 2022-06-14 -### Changed -* Bump FeatureServer to 4.0.0 - -## [3.1.4] - 2022-05-03 -### Changed -* Bump FeatureServer to 3.4.0 - -## [3.1.3] - 2022-02-07 -### Changed -* Bump FeatureServer to 3.3.2 -## [3.1.2] - 2022-02-07 -### Fixed -* make access of authInfo compatible with Node.js version lower than 14 - -## [3.1.1] - 2022-01-18 -### Changed -* Peer dependency - -## [3.1.0] - 2021-11-30 -### Added -* `authInfo` defined by configuration - -### Fixed -* Error handling - -## [3.0.0] - 2020-02-18 -### Changed -* Bump FeatureServer to 3.0.0 - -## [2.2.1] - 2020-12-14 -### Changed -* Bump FeatureServer to 2.25.1 - -## [2.2.0] - 2020-12-14 -### Changed -* Bump FeatureServer to 2.25.0 - better support for CRSs - -## [2.1.0] - 2020-11-17 -### Added -* Error logging if code is 500 -* Replace message with Internal Server Error if 500 code - -## [2.0.3] - 2020-10-19 -### Fixed -* Only normalize error if it exists. - -## [2.0.2] - 2020-10-15 -### Fixed -* Only normalize error if it exists. - -## [2.0.1] - 2020-10-15 -### Fixed -* Ensure error codes are numbers before being passed on to handler; string codes result in unhandled errors. - -## [2.0.0] - 2018-09-04 -### Changed -* Pass Express request object as argument in calls to `this.model.authorize` and `this.model.authenticate` - -## [1.5.2] - 2018-06-08 -### Fixed -* Simplify acquisition of authentication specification from Model. - -## [1.5.1] - 2018-05-30 -### Fixed -* Bumped FeatureServer version to 2.15.0 - -## [1.5.0] - 2018-05-29 -### Added -* Use `https` as the default protocol when constructing the `tokenServicesUrl` in the `featureServerRestInfo` handler. Default is overridden when an `useHttp` property is defined on the result of `authenticationSpecification()` or when an environment variable `KOOP_AUTH_HTTP=true` -* Added base-url fragment to `tokenServicesUrl` - -## [1.4.2] - 2018-05-23 -### Fixed -* missed FeatureServer handling of authentication error - -## [1.4.1] - 2018-05-22 -### Fixed -* convert `async/await` to promises - -## [1.4.0] - 2018-05-22 -### Added -* handling of authorization and authentication errors - -### Fixed -* Bump FeatureServer version to 2.14.1 in order to support added authentication handling - -## [1.3.0] - 2018-05-17 -### Added -* Call model function `authenticationSpecification` (if exists) in the `rest/info` handler and pass data to FeatureServer -* Add route `rest/generateToken` and pass on to associated handler which in turn calls model's `authenticate` function - -### Fixed -* Bumped koop-core peer dependency to 3.6.1 -* Bumped featureserver dependency to 2.13.0 - -## [1.2.0] - 2018-04-27 -### Added -* Duplicate FeatureServer routes with `rest/services` included between $namespace and $providerParams placeholders. Placeholder get replaced by provider-specific data registration when paired with koop-core ^3.6.0 -* New route `$namespace/rest/info`, for provider-specific server info - -## [1.1.2] - 2018-01-09 -### Changed -* Use error.code if available - -## [1.1.1] - 2017-03-03 -### Fixed -* Plugin name is logged correctly at Koop startup - -## [1.1.0] - 2017-03-03 -### Added -* Support providers using implicit caching - -### Changed -* Rename to Koop-Output-Geoservices - -## [1.0.0] - 2017-01-25 -* Initial Release - -[3.1.5]: https://github.com/koopjs/koop-output-geoservices/compare/v3.1.5...v3.1.4 -[3.1.4]: https://github.com/koopjs/koop-output-geoservices/compare/v3.1.3...v3.1.4 -[3.1.3]: https://github.com/koopjs/koop-output-geoservices/compare/v3.1.2...v3.1.3 -[3.1.2]: https://github.com/koopjs/koop-output-geoservices/compare/v3.1.1...v3.1.2 -[3.1.1]: https://github.com/koopjs/koop-output-geoservices/compare/v3.1.0...v3.1.1 -[3.1.0]: https://github.com/koopjs/koop-output-geoservices/compare/v3.0.0...v3.1.0 -[3.0.0]: https://github.com/koopjs/koop-output-geoservices/compare/v2.2.1...v3.0.0 -[2.2.1]: https://github.com/koopjs/koop-output-geoservices/compare/v2.2.0...v2.2.1 -[2.2.0]: https://github.com/koopjs/koop-output-geoservices/compare/v2.1.0...v2.2.0 -[2.1.0]: https://github.com/koopjs/koop-output-geoservices/compare/v2.0.3...v2.1.0 -[2.0.3]: https://github.com/koopjs/koop-output-geoservices/compare/v2.0.2...v2.0.3 -[2.0.2]: https://github.com/koopjs/koop-output-geoservices/compare/v2.0.1...v2.0.2 -[2.0.1]: https://github.com/koopjs/koop-output-geoservices/compare/v2.0.0...v2.0.1 -[2.0.0]: https://github.com/koopjs/koop-output-geoservices/compare/v1.5.2...v2.0.0 -[1.5.2]: https://github.com/koopjs/koop-output-geoservices/compare/v1.5.1...v1.5.2 -[1.5.1]: https://github.com/koopjs/koop-output-geoservices/compare/v1.5.0...v1.5.1 -[1.5.0]: https://github.com/koopjs/koop-output-geoservices/compare/v1.4.2...v1.5.0 -[1.4.2]: https://github.com/koopjs/koop-output-geoservices/compare/v1.4.1...v1.4.2 -[1.4.1]: https://github.com/koopjs/koop-output-geoservices/compare/v1.4.0...v1.4.1 -[1.4.0]: https://github.com/koopjs/koop-output-geoservices/compare/v1.3.0...v1.4.0 -[1.3.0]: https://github.com/koopjs/koop-output-geoservices/compare/v1.2.0...v1.3.0 -[1.2.0]: https://github.com/koopjs/koop-output-geoservices/compare/v1.1.2...v1.2.0 -[1.1.2]: https://github.com/koopjs/koop-output-geoservices/compare/v1.1.1...v1.1.2 -[1.1.1]: https://github.com/koopjs/koop-output-geoservices/compare/v1.1.0...v1.1.1 -[1.1.0]: https://github.com/koopjs/koop-output-geoservices/compare/v1.0.0...v1.1.0 -[1.0.0]: https://github.com/koopjs/koop-output-geoservices/releases/tag/v1.0.0 diff --git a/packages/output-geoservices/CHANGELOG.md b/packages/output-geoservices/CHANGELOG.md deleted file mode 100644 index a4d3c1a78..000000000 --- a/packages/output-geoservices/CHANGELOG.md +++ /dev/null @@ -1,186 +0,0 @@ -# @koopjs/output-geoservices - -## 7.1.1 - -### Patch Changes - -- @koopjs/featureserver@8.1.1 - -## 7.1.0 - -### Minor Changes - -- allow server and layer metadata defaults to be overriden with `defaults` option in the output's constructor - -### Patch Changes - -- Updated dependencies [8f67c70] - - @koopjs/featureserver@8.1.0 - -## 7.0.0 - -### Major Changes - -- remove usage of config module -- add error handling for pull-data errors and auth errors - -### Patch Changes - -- Updated dependencies [34d8317] - - @koopjs/featureserver@8.0.0 - -## 6.0.8 - -### Patch Changes - -- Updated dependencies [8671389] - - @koopjs/featureserver@7.1.7 - -## 6.0.7 - -### Patch Changes - -- Updated dependencies [713e1e3] - - @koopjs/featureserver@7.1.6 - -## 6.0.6 - -### Patch Changes - -- Updated dependencies [faf732d] - - @koopjs/featureserver@7.1.5 - -## 6.0.5 - -### Patch Changes - -- Updated dependencies [accae0c] - - @koopjs/featureserver@7.1.4 - -## 6.0.4 - -### Patch Changes - -- @koopjs/featureserver@7.1.3 - -## 6.0.3 - -### Patch Changes - -- Updated dependencies [7693bd6] - - @koopjs/featureserver@7.1.2 - -## 6.0.2 - -### Patch Changes - -- Updated dependencies [ee4b416] - - @koopjs/featureserver@7.1.1 - -## 6.0.1 - -### Patch Changes - -- Updated dependencies [3097431] - - @koopjs/featureserver@7.1.0 - -## 6.0.0 - -### Major Changes - -- drop support for Node 12 - -### Patch Changes - -- Updated dependencies [98fe5ca] - - @koopjs/featureserver@7.0.0 - - @koopjs/logger@5.0.0 - -## 5.2.5 - -### Patch Changes - -- Updated dependencies [6e2ce57] - - @koopjs/logger@4.1.1 - -## 5.2.4 - -### Patch Changes - -- Updated dependencies [b8f21bd] - - @koopjs/logger@4.1.0 - -## 5.2.3 - -### Patch Changes - -- Updated dependencies [66623dc] - - @koopjs/featureserver@6.1.0 - -## 5.2.2 - -### Patch Changes - -- @koopjs/featureserver@6.0.1 - -## 5.2.1 - -### Patch Changes - -- Updated dependencies [352d2fd] - - @koopjs/featureserver@6.0.0 - -## 5.2.0 - -### Minor Changes - -- use koop or other winston-based logger instead of console -- pass logger on to FeatureServer - -### Patch Changes - -- Updated dependencies [c1b0bce] - - @koopjs/featureserver@5.1.0 - -## 5.1.0 - -### Minor Changes - -- allow custom logger from output-plugin registration options - -### Patch Changes - -- Updated dependencies [2d8106f] - - @koopjs/logger@4.0.0 - -## 5.0.0 - -### Major Changes - -- remove FeatureServer routes that do not include `/rest/services`. This is technically a breaking change but should not affect any Koop applications that are specifically used with ArcGIS clients, as they only use routes with `/rest/services`. - -## 4.0.1 - -### Patch Changes - -- Patch bumping for a clean release -- Updated dependencies [c7decc5] -- Updated dependencies [c7decc5] - - @koopjs/featureserver@5.0.1 - - @koopjs/logger@3.0.1 - -## 4.0.0 - -### Major Changes - -- migrate to Koop monorepo -- move code to `/src` directory -- co-locate unit test files -- migrate to eslint - -### Patch Changes - -- Updated dependencies [0c8944e4] -- Updated dependencies [0c8944e4] - - @koopjs/logger@3.0.0 - - @koopjs/featureserver@5.0.0 diff --git a/packages/output-geoservices/README.md b/packages/output-geoservices/README.md deleted file mode 100644 index e55c94d3c..000000000 --- a/packages/output-geoservices/README.md +++ /dev/null @@ -1,76 +0,0 @@ -# Koop Geoservices Output Plugin - -[![npm version][npm-img]][npm-url] -![coverage](./coverage.svg) - -Wraps FeatureServer into a [Koop](http://koopjs.github.io) Output plugin. - -## Usage -```js -const Koop = require('@koopjs/koop-core') -const config = require('config') -const koop = new Koop(config) -const outputGeoservices = require('@koopjs/output-geoservices') -const provider = require('koop-agol') // any koop provider here - -// All output plugins must be registered before any providers are registered -koop.register(outputGeoservices) -koop.register(provider) - -koop.server.listen(80) -``` - -## Routes - -```js -Geoservices.routes = [ - { - path: '$namespace/rest/info', - methods: ['get', 'post'], - handler: 'featureServerRestInfo' - }, - { - path: '$namespace/tokens/:method', - methods: ['get', 'post'], - handler: 'generateToken' - }, - { - path: '$namespace/tokens/', - methods: ['get', 'post'], - handler: 'generateToken' - }, - { - path: '$namespace/rest/services/$providerParams/FeatureServer/:layer/:method', - methods: ['get', 'post'], - handler: 'featureServer' - }, - { - path: '$namespace/rest/services/$providerParams/FeatureServer/layers', - methods: ['get', 'post'], - handler: 'featureServer' - }, - { - path: '$namespace/rest/services/$providerParams/FeatureServer/:layer', - methods: ['get', 'post'], - handler: 'featureServer' - }, - { - path: '$namespace/rest/services/$providerParams/FeatureServer', - methods: ['get', 'post'], - handler: 'featureServer' - }, - { - path: '$namespace/rest/services/$providerParams/FeatureServer*', - methods: ['get', 'post'], - handler: 'featureServer' - }, - { - path: '$namespace/rest/services/$providerParams/MapServer*', - methods: ['get', 'post'], - handler: 'featureServer' - } -] -``` - -[npm-img]: https://img.shields.io/npm/v/@koopjs/output-geoservices.svg?style=flat-square -[npm-url]: https://www.npmjs.com/package/@koopjs/output-geoservices \ No newline at end of file diff --git a/packages/output-geoservices/coverage.svg b/packages/output-geoservices/coverage.svg deleted file mode 100644 index 4354a36ca..000000000 --- a/packages/output-geoservices/coverage.svg +++ /dev/null @@ -1,20 +0,0 @@ - - coverage: 100% - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/output-geoservices/package.json b/packages/output-geoservices/package.json index d3e34f165..705f91389 100644 --- a/packages/output-geoservices/package.json +++ b/packages/output-geoservices/package.json @@ -1,39 +1,13 @@ { - "name": "@koopjs/output-geoservices", + "name": "output-geoservices", "version": "7.1.1", - "description": "Wraps FeatureServer as a Koop output plugin", "main": "src/index.js", "scripts": { - "test": "jest", - "test:cov": "jest --coverage && npm run cov:badge", - "cov:badge": "coverage-badges --output ./coverage.svg" + "clean": "shx rm -rf ../../customdata/framework/output-geoservices && shx rm package-lock.json", + "build": "shx mkdir ../../customdata/framework/output-geoservices && shx cp package.json ../../customdata/framework/output-geoservices && shx cp -r ./src ../../customdata/framework/output-geoservices" }, - "repository": { - "type": "git", - "url": "git+https://github.com/koopjs/koop.git" - }, - "keywords": [ - "koop", - "featureserver", - "plugin", - "output", - "geoservices" - ], - "author": "Daniel Fenton ", "license": "Apache-2.0", - "files": [ - "src/**/*.js", - "index.d.ts", - "!**/*.spec.js" - ], - "bugs": { - "url": "https://github.com/koopjs/koop/issues" - }, - "homepage": "https://github.com/koopjs/koop#readme", - "dependencies": { - "@koopjs/featureserver": "8.1.1", - "@koopjs/logger": "5.0.0" - }, + "dependencies": {}, "jest": { "coverageReporters": [ "json", diff --git a/packages/output-geoservices/src/index.js b/packages/output-geoservices/src/index.js index d89008259..695dfa1b8 100644 --- a/packages/output-geoservices/src/index.js +++ b/packages/output-geoservices/src/index.js @@ -1,6 +1,6 @@ const { promisify } = require('util'); -const FeatureServer = require('@koopjs/featureserver'); -const Logger = require('@koopjs/logger'); +const FeatureServer = require('../../featureserver'); +const Logger = require('../../logger'); let logger = new Logger(); const ARCGIS_UNAUTHORIZED_MESSAGE = 'Item does not exist or is inaccessible.'; const ARCGIS_UNABLE_TO_GENERATE_TOKEN_MESSAGE = 'Unable to generate token.'; diff --git a/packages/output-geoservices/src/index.spec.js b/packages/output-geoservices/src/index.spec.js deleted file mode 100644 index f8158f413..000000000 --- a/packages/output-geoservices/src/index.spec.js +++ /dev/null @@ -1,502 +0,0 @@ -const OutputGeoServices = require('./index'); -const FeatureServer = require('@koopjs/featureserver'); - -// test.js -jest.mock('@koopjs/featureserver', () => ({ - setLogger: jest.fn(), - route: jest.fn(), - setDefaults: jest.fn() -})); - -const loggerMock = { - silly: () => {}, - error: () => {} -}; - -const modelMock = { - pull: jest.fn((req, callback) => callback(null, 'someData')), -}; - -const resMock = { - status: jest.fn(() => { - return resMock; - }), - json: jest.fn(), -}; - -const reqMock = { - headers: { - host: 'some-host.com', - }, - baseUrl: '/api/v1', - query: {}, - body: {}, -}; - -describe('Output Geoservices', () => { - afterEach(() => { - jest.clearAllMocks(); - }); - - describe('constructor', () => { - test('should include expected static properties', () => { - expect(OutputGeoServices.type).toBe('output'); - expect(OutputGeoServices.version).toBe( - require('../package.json').version, - ); - expect(OutputGeoServices.routes).toEqual([ - { - path: '$namespace/rest/info', - methods: ['get', 'post'], - handler: 'restInfoHandler', - }, - { - path: '$namespace/tokens/:method', - methods: ['get', 'post'], - handler: 'generateToken', - }, - { - path: '$namespace/tokens/', - methods: ['get', 'post'], - handler: 'generateToken', - }, - { - path: '$namespace/rest/services/$providerParams/FeatureServer/:layer/:method', - methods: ['get', 'post'], - handler: 'generalHandler', - }, - { - path: '$namespace/rest/services/$providerParams/FeatureServer/layers', - methods: ['get', 'post'], - handler: 'generalHandler', - }, - { - path: '$namespace/rest/services/$providerParams/FeatureServer/:layer', - methods: ['get', 'post'], - handler: 'generalHandler', - }, - { - path: '$namespace/rest/services/$providerParams/FeatureServer', - methods: ['get', 'post'], - handler: 'generalHandler', - }, - { - path: '$namespace/rest/services/$providerParams/FeatureServer*', - methods: ['get', 'post'], - handler: 'generalHandler', - }, - { - path: '$namespace/rest/services/$providerParams/MapServer*', - methods: ['get', 'post'], - handler: 'generalHandler', - }, - ]); - }); - - test('should include expected default properties', () => { - const output = new OutputGeoServices(modelMock); - expect(output.options).toEqual({}); - expect(output.logger).toBeDefined(); - expect(output.authInfo).toEqual({}); - expect(FeatureServer.setLogger.mock.calls.length).toBe(1); - }); - - test('should include properties with optional set values', () => { - const output = new OutputGeoServices(modelMock, { - logger: loggerMock, - authInfo: { food: 'baz' }, - }); - expect(Object.keys(output.logger)).toEqual(['silly', 'error']); - expect(output.authInfo).toEqual({ food: 'baz' }); - expect(FeatureServer.setLogger.mock.calls.length).toBe(1); - }); - }); - - describe('generalHandler', () => { - test('should pull data and route', async () => { - const output = new OutputGeoServices(modelMock, { logger: loggerMock }); - await output.generalHandler({ foo: 'bar' }, resMock); - expect(FeatureServer.route.mock.calls.length).toBe(1); - expect(FeatureServer.route.mock.calls[0]).toEqual([ - { foo: 'bar' }, - resMock, - 'someData', - ]); - expect(modelMock.pull.mock.calls.length).toBe(1); - expect(modelMock.pull.mock.calls[0][0]).toEqual({ foo: 'bar' }); - }); - - test('should authorize, then pull data and route', async () => { - const modelMock = { - pull: jest.fn((req, callback) => callback(null, 'someData')), - authorize: jest.fn(), - }; - const output = new OutputGeoServices(modelMock, { logger: loggerMock }); - await output.generalHandler({ foo: 'bar' }, resMock); - expect(FeatureServer.route.mock.calls.length).toBe(1); - expect(FeatureServer.route.mock.calls[0]).toEqual([ - { foo: 'bar' }, - resMock, - 'someData', - ]); - }); - - test('should handle 5xx error', async () => { - const modelMock = { - pull: jest.fn((req, callback) => - callback({ code: 503, message: 'Upstream error' }), - ), - }; - const output = new OutputGeoServices(modelMock, { logger: loggerMock }); - await output.generalHandler(reqMock, resMock); - expect(resMock.status.mock.calls[0].length).toBe(1); - expect(resMock.status.mock.calls[0]).toEqual([200]); - expect(resMock.json.mock.calls[0].length).toBe(1); - expect(resMock.json.mock.calls[0]).toEqual([ - { - error: { - code: 503, - details: [], - message: 'Upstream error', - }, - }, - ]); - }); - - test('should handle code-less error', async () => { - const modelMock = { - pull: jest.fn((req, callback) => - callback({ message: 'Upstream error' }), - ), - }; - const output = new OutputGeoServices(modelMock, { logger: loggerMock }); - await output.generalHandler(reqMock, resMock); - expect(resMock.status.mock.calls[0].length).toBe(1); - expect(resMock.status.mock.calls[0]).toEqual([200]); - expect(resMock.json.mock.calls[0].length).toBe(1); - expect(resMock.json.mock.calls[0]).toEqual([ - { - error: { - code: 500, - details: [], - message: 'Upstream error', - }, - }, - ]); - }); - - test('should handle required token error', async () => { - const modelMock = { - pull: jest.fn((req, callback) => callback(null, 'someData')), - authorize: jest.fn(() => { - const err = new Error('no token'); - err.code = 401; - throw err; - }), - }; - const output = new OutputGeoServices(modelMock, { logger: loggerMock }); - await output.generalHandler(reqMock, resMock); - expect(resMock.status.mock.calls[0].length).toBe(1); - expect(resMock.status.mock.calls[0]).toEqual([200]); - expect(resMock.json.mock.calls[0].length).toBe(1); - expect(resMock.json.mock.calls[0]).toEqual([ - { - error: { - code: 499, - details: [], - message: 'Token Required', - }, - }, - ]); - }); - - test('should handle invalid token error', async () => { - const modelMock = { - pull: jest.fn((req, callback) => callback(null, 'someData')), - authorize: jest.fn(() => { - const err = new Error('invalid token'); - err.code = 401; - throw err; - }), - }; - const output = new OutputGeoServices(modelMock, { logger: loggerMock }); - await output.generalHandler( - { headers: { authorization: '123' } }, - resMock, - ); - expect(resMock.status.mock.calls[0].length).toBe(1); - expect(resMock.status.mock.calls[0]).toEqual([200]); - expect(resMock.json.mock.calls[0].length).toBe(1); - expect(resMock.json.mock.calls[0]).toEqual([ - { - error: { - code: 498, - details: [], - message: 'Invalid token.', - }, - }, - ]); - }); - - test('should handle invalid token error', async () => { - const modelMock = { - pull: jest.fn((req, callback) => callback(null, 'someData')), - authorize: jest.fn(() => { - const err = new Error('Forbidden'); - err.code = 403; - throw err; - }), - }; - const output = new OutputGeoServices(modelMock, { logger: loggerMock }); - await output.generalHandler( - { headers: { authorization: '123' } }, - resMock, - ); - expect(resMock.status.mock.calls[0].length).toBe(1); - expect(resMock.status.mock.calls[0]).toEqual([200]); - expect(resMock.json.mock.calls[0].length).toBe(1); - expect(resMock.json.mock.calls[0]).toEqual([ - { - error: { - code: 400, - details: [], - message: 'Item does not exist or is inaccessible.', - messageCode: 'CONT_0001', - }, - }, - ]); - }); - - test('should handle ArcGIS type-error', async () => { - const modelMock = { - pull: jest.fn((req, callback) => - callback({ error: { message: 'Upstream error' } }), - ), - }; - const output = new OutputGeoServices(modelMock, { logger: loggerMock }); - await output.generalHandler(reqMock, resMock); - expect(resMock.status.mock.calls[0].length).toBe(1); - expect(resMock.status.mock.calls[0]).toEqual([200]); - expect(resMock.json.mock.calls[0].length).toBe(1); - expect(resMock.json.mock.calls[0]).toEqual([ - { - error: { - code: 500, - details: [], - message: 'Upstream error', - }, - }, - ]); - }); - }); - - describe('restInfoHandler', () => { - test('should return rest info', async () => { - const output = new OutputGeoServices(modelMock, { - authInfo: { food: 'baz' }, - }); - await output.restInfoHandler({ foo: 'bar' }, resMock); - expect(FeatureServer.route.mock.calls.length).toBe(1); - expect(FeatureServer.route.mock.calls[0]).toEqual([ - { foo: 'bar' }, - resMock, - { authInfo: { food: 'baz' } }, - ]); - }); - - test('should return rest info with auth specification', async () => { - const modelMock = { - pull: jest.fn((req, callback) => callback(null, 'someData')), - authorize: jest.fn(), - authenticationSpecification: {}, - }; - const output = new OutputGeoServices(modelMock, { - authInfo: { food: 'baz' }, - }); - await output.restInfoHandler(reqMock, resMock); - expect(FeatureServer.route.mock.calls.length).toBe(1); - expect(FeatureServer.route.mock.calls[0]).toEqual([ - reqMock, - resMock, - { - authInfo: { - food: 'baz', - isTokenBasedSecurity: true, - tokenServicesUrl: 'https://some-host.com/api/v1/undefined/tokens/', - }, - }, - ]); - }); - - test('should return rest info with auth specification, http', async () => { - const modelMock = { - pull: jest.fn((req, callback) => callback(null, 'someData')), - authorize: jest.fn(), - authenticationSpecification: { useHttp: true }, - }; - const output = new OutputGeoServices(modelMock, { - authInfo: { food: 'baz' }, - }); - await output.restInfoHandler(reqMock, resMock); - expect(FeatureServer.route.mock.calls.length).toBe(1); - expect(FeatureServer.route.mock.calls[0]).toEqual([ - reqMock, - resMock, - { - authInfo: { - food: 'baz', - isTokenBasedSecurity: true, - tokenServicesUrl: 'http://some-host.com/api/v1/undefined/tokens/', - }, - }, - ]); - }); - }); - - describe('generateToken', () => { - test('should generate token', async () => { - const modelMock = { - pull: jest.fn((req, callback) => callback(null, 'someData')), - authorize: jest.fn(), - authenticate: jest.fn(() => { - return { token: 'abc' }; - }) - }; - const output = new OutputGeoServices(modelMock, { - authInfo: { food: 'baz' }, - }); - await output.generateToken(reqMock, resMock); - expect(resMock.status.mock.calls.length).toBe(1); - expect(resMock.status.mock.calls[0]).toEqual([200]); - expect(resMock.json.mock.calls.length).toBe(1); - expect(resMock.json.mock.calls[0]).toEqual([{ - ssl: false, - token: 'abc' - }]); - }); - - test('should message that there is no authenticate method', async () => { - const modelMock = { - pull: jest.fn((req, callback) => callback(null, 'someData')), - authorize: jest.fn(), - }; - const output = new OutputGeoServices(modelMock, { - authInfo: { food: 'baz' }, - }); - await output.generateToken(reqMock, resMock); - expect(resMock.status.mock.calls.length).toBe(1); - expect(resMock.status.mock.calls[0]).toEqual([500]); - expect(resMock.json.mock.calls.length).toBe(1); - expect(resMock.json.mock.calls[0]).toEqual([{ - error: '"authenticate" not implemented for this provider' - }]); - }); - - test('should fail to generate token due to 401', async () => { - const modelMock = { - pull: jest.fn((req, callback) => callback(null, 'someData')), - authorize: jest.fn(), - authenticate: jest.fn(() => { - const err = new Error('bad creds'); - err.code = 401; - throw err; - }) - }; - const output = new OutputGeoServices(modelMock, { - authInfo: { food: 'baz' }, - }); - await output.generateToken(reqMock, resMock); - expect(resMock.status.mock.calls.length).toBe(1); - expect(resMock.status.mock.calls[0]).toEqual([200]); - expect(resMock.json.mock.calls.length).toBe(1); - expect(resMock.json.mock.calls[0]).toEqual([{ - error: { - code: 400, - details: ['Invalid username or password.'], - message: 'Unable to generate token.' - } - }]); - }); - - test('should fail to generate token due to credentials', async () => { - const modelMock = { - pull: jest.fn((req, callback) => callback(null, 'someData')), - authorize: jest.fn(), - authenticate: jest.fn(() => { - const err = { - error: { - code: 400, - message: 'Unable to generate token.' - } - }; - throw err; - }) - }; - const output = new OutputGeoServices(modelMock, { - authInfo: { food: 'baz' }, - }); - await output.generateToken(reqMock, resMock); - expect(resMock.status.mock.calls.length).toBe(1); - expect(resMock.status.mock.calls[0]).toEqual([200]); - expect(resMock.json.mock.calls.length).toBe(1); - expect(resMock.json.mock.calls[0]).toEqual([{ - error: { - code: 400, - details: ['Invalid username or password.'], - message: 'Unable to generate token.' - } - }]); - }); - - test('should fail to generate token due to 5xx', async () => { - const modelMock = { - pull: jest.fn((req, callback) => callback(null, 'someData')), - authorize: jest.fn(), - authenticate: jest.fn(() => { - const err = new Error('upstream'); - err.code = 503; - throw err; - }) - }; - const output = new OutputGeoServices(modelMock, { - authInfo: { food: 'baz' }, - }); - await output.generateToken(reqMock, resMock); - expect(resMock.status.mock.calls.length).toBe(1); - expect(resMock.status.mock.calls[0]).toEqual([200]); - expect(resMock.json.mock.calls.length).toBe(1); - expect(resMock.json.mock.calls[0]).toEqual([{ - error: { - code: 503, - details: [], - message: 'upstream' - } - }]); - }); - - test('should fail to generate token due to 500', async () => { - const modelMock = { - pull: jest.fn((req, callback) => callback(null, 'someData')), - authorize: jest.fn(), - authenticate: jest.fn(() => { - const err = new Error('upstream'); - throw err; - }) - }; - const output = new OutputGeoServices(modelMock, { - authInfo: { food: 'baz' }, - }); - await output.generateToken(reqMock, resMock); - expect(resMock.status.mock.calls.length).toBe(1); - expect(resMock.status.mock.calls[0]).toEqual([200]); - expect(resMock.json.mock.calls.length).toBe(1); - expect(resMock.json.mock.calls[0]).toEqual([{ - error: { - code: 500, - details: [], - message: 'upstream' - } - }]); - }); - }); -}); diff --git a/packages/winnow/.nycrc b/packages/winnow/.nycrc deleted file mode 100644 index fc4463304..000000000 --- a/packages/winnow/.nycrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "all": true, - "include": [ - "src/**/*.js" - ], - "exclude": ["**/*.spec.js"], - "includeAllSources": true -} \ No newline at end of file diff --git a/packages/winnow/CHANGELOG-pre-monorepo.md b/packages/winnow/CHANGELOG-pre-monorepo.md deleted file mode 100644 index b42479bc6..000000000 --- a/packages/winnow/CHANGELOG-pre-monorepo.md +++ /dev/null @@ -1,505 +0,0 @@ -# Change Log -All notable changes to this project will be documented in this file. -This project adheres to [Semantic Versioning](http://semver.org/). - -## Unreleased -### Changed -* scoped repo to koop organization -* migrate to Koop monorepo -* move code to `/src` directory -* co-locate unit test files -* migrate to eslint - -## [2.5.2] - 08-05-2022 -### Changed -* bump terraformer version - -## [2.5.1] - 06-01-2022 -### Changed -* bump terraformer version - -## [2.5.0] - 04-21-2022 -### Changed -* Nested Esri JSON properties should be stringified - -## [2.4.0] - 04-21-2022 -### Changed -* replace GPL-2.0 dependency flora-sql-parser with pgsql-ast-parser, which uses MIT - -### Fixed -* validation for spatial references -* Error in SQL param construction when returnGeometry=false but input and output CRS differ - -### Added -* Add support for Point geometry filters - - -## [2.3.0] - 03-31-2021 -### Added -* Type definition file for TypeScript - -## [2.2.5] - 03-10-2021 -### Changed -* Bump alasql - -## [2.2.4] - 02-10-2021 -### Fixed -* Warning log for missing geometry filter spatial reference - -## [2.2.3] - 01-25-2021 -### Changed -* Refactored class break generation - -## [2.2.2] - 12-16-2020 -### Fixed -* When no reprojection, output CRS is assigned same value as input CRS - -## [2.2.1] - 12-14-2020 -### Fixed -* Handling of null geometry in the to-Esri geometry transform -* Fix check for reprojection - -## [2.2.0] - 12-09-2020 -### Added -* Allow input geospatial data that does not use the WGS84 coordinate system. Input coordinate system can be defined with the `inputCrs` options or defined on the GeoJSON collection via the `crs` path. -* Add `outputCrs` option as an alias for the `projection` option as it is a better description of the option's value and compliments `inputCrs`. -* Add WKT lookup for spatial reference ids passed as `inputCrs`, `outputCrs` (formerly `projection`), `inputSR`, or geometry-filter `wkid`/`latestWkid` - -## [2.1.1] - 11-11-2020 -### Fixed -* Fixes a bug in the "envelope-intersects" operation. Research indicates that the Esri envelope-intersects operation should check that an "Envelope of Query Geometry Intersects Envelope of Target Geometry" (see [here](http://resources.esri.com/help/9.3/ArcGISDesktop/ArcObjects/esriGeoDatabase/esriSpatialRelEnum.htm)). -* Handle sql-escape single quotes in where parameter, e.g. `where=food=bar''s` - -### Added -* Adds support for the `!=` operator in the hashed OBJECTID comparison. - -## [2.1.0] - 10-06-2020 -### Added -* Use environment variable to force javascript hashing of feature for OBJECTID. OBJECTID_FEATURE_HASH=javascript - -## [2.0.2] - 09-23-2020 -### Fixed -* Farmhash was not working on Heroku, now can gracefully fallback on systems without a working Farmhash binary. - -## [2.0.1] - 09-10-2020 -### Fixed -* Version bump for flopped release and publish - -## [2.0.0] - 09-08-2020 -### Changed -* Drop support for older Node by remove Babel compile. -* Remove `src` directory and replace with `lib`. -* Move methods from `index.js` to their own files. -* Rename/reorganize files for clarity and to prevent collisions caused by moving methods out of `index.js`. - -## [1.16.13] - 06-16-2020 -### Changed -* update from `terraformer` to `@terraformer/spatial` - -## [1.16.12] - 03-06-2020 -### Fixed -* Fix returning null dates instead of 0. - -## [1.16.11] - 11-05-2019 -### Changed -* Version bump - -## [1.16.10] - 11-05-2019 -### Fixed -* Fix SQL generated when using group by with where clause. -* Split comma delimited group by fields - -## [1.16.9] - 08-02-2019 -### Fixed -* ST_Within had geometry targets reversed. Now tests that feature is within filter. - -## [1.16.8] - 06-21-2019 -### Fixed -* turf.js centroid function assignment - -### Changed -* more descriptive message about `idField` value not conforming - -## [1.16.7] - 06-11-2019 -### Fixed -* Support for using OBJECTID in `where` even when OBJECTIDs are generated on-the-fly in Winnow - -## [1.16.6] - 03-25-2019 -### Changed -* Geometry envelopes are constructed in counter-clockwise ring - -## [1.16.5] - 11-28-2018 -### Changed -* Removed workaround for adding and `OBJECTID` field even when metadata `idField` is set - -## [1.16.4] - 09-13-2018 -### Fixed -* Parse comma delimited `orderByFields` parameter and trim any white space. - -### Changed -* Show warnings when `NODE_ENV !== 'production'` AND `KOOP_WARNINGS !== 'suppress'` - -## [1.16.3] - 07-30-2018 -### Fixed -* Remove dependency on node-srs -* In `normalizeSR`, add WKT lookups for uncommon WKIDs so that valid WKIDs are not considered unknown and redefined -* In `normalizeSR`, add check for WGS_1984_Web_Mercator_Auxiliary_Sphere and return 3857 when found - -## [1.16.2] - 07-11-2018 -### Fixed -* Make farmhash an optional dependency due to its need for compilation, which some environments may not support - -## [1.16.1] - 07-05-2018 -### Fixed -* Ensure OBJECTID is omitted from query results when options specifically exclude it (e.g., `returnIdsOnly=true`) -* Moved `esriFy` function to SQL, which now allows ORDER BY, LIMIT, OFFSET to also be applied via SQL. - -## [1.16.0] - 06-29-2018 -### Added -* Add normalization of a `option.sourceSR`; this option identifies the CRS of the source data and defaults to 'EPSG:4326'; -* If `option.sourceSR` is defined and geometry filter is defined, the geometry filter is reprojected to the CRS of the source -* Use srs npm to validate WKT CRS -* Added additional polygon projection tests - -## [1.15.3] - 06-04-2018 -### Fixed -* Handle `inSR` options that arrive as objects - -## [1.15.2] - 05-03-2018 -### Added -* Warning when `idField` used for OBJECTID assignement is not an integer or is out-of-range. - -## [1.15.1] - 05-02-2018 -### Fixed -* assignment of OBJECTID had used the `idField` of a query result rather that the raw feature; thus, assignment could not occur unless the `idField` was returned by the SELECT. Alter to use raw feature's `idField` - -## [1.15.0] - 04-20-2018 -### Added -* support for `esriSpatialRelEnvelopeIntersects` - -### Fixed -* coordinates not projected when latitude or longitude is 0 - -## [1.14.0] - 04-17-2018 -### Fixed -* OBJECTID collisions when a provider's `idField` is unspecified. Now creating a numeric hash for each raw feature - -## [1.13.0] - 04-04-2018 -### Added -* Add support for date comparisons in WHERE filter with timestamp Syntax and BETWEEN operator - -### Fixed -* Exclusion of date fields from response when not requested with `outFields` option -* Attempted property access of null feature in `ST_Intersects` function - -## [1.12.7] - 04-03-2018 -### Fixed -* Ensure geometry is omitted from query results when option `returnGeometry: false` - -### Added -* RELEASE.md and linked to it from README.md - -## [1.12.6] - 12-05-2017 -### Fixed -* Exception when feature is null -* Parsing of complex where clauses - -## [1.12.5] - 10-27-2017 -### Fixed -* Converting polygons from geojson to esri json - -## [1.12.4] - 10-5-2017 -### Changed -* Add metadata.limitExceeded true/false on limit queries to denote whether the limit restricted the number of features returned - -## [1.12.3] - 09-22-2017 -### Fixed -* Do not throw error on geometries that cannot be projected - -## [1.12.2] - 08-30-2017 -### Fixed -* Do not project non-numeric coordinates - -## [1.12.1] - 08-18-2017 -### Fixed -* handle NaN, null, undefined, '' values when classifying -* properly handle offset - -## [1.12.0] - 08-14-2017 -### Added -- Basic WFS support: bbox query and geojson output - -## [1.11.2] 08-08-2017 -### Fixed -* where clause ignores `1=1` condition when other conditions present - -## [1.11.1] 08-03-2017 -### Fixed -* added is sql operator -* added sql checks for 0 value and Esri geometry - -## [1.11.0] 08-03-2017 -### Added -* Support for creating class and unique value breaks - -## [1.10.7] 07-17-2017 -### Fixed -* Where clause handles multiple conditions - -## [1.10.6] 07-07-2017 -### Fixed -* Correct typo with idField setting - -## [1.10.5] - 07-06-2017 -### Fixed -* Query doesn't throw an error when no feature results found - -## [1.10.4] - 06-28-2017 -### Fixed -* Query ignores projection parameter when getting an aggregate - -## [1.10.3] - 06-26-2017 -### Fixed -Deep clone for dates since mutating dates has down stream consequences if reused -* correct typo: winnow.sql => winnow.querySql - -## [1.10.2] - 06-20-2017 -### Fixed -* Do not overwrite existing OID - -## [1.10.1] - 06-16-2017 -### Fixed -* Add object ids to on limit queries when `options.toEsri` is true - -## [1.10.0] - 06-15-2017 -### Added -* Detect field types if they are not passed in with `geojson.metadata` -* Translate ISO Date Strings to Unix Timestamps when `options.toEsri` is true -* Add Object IDs if there is no ID field set with `options.toEsri` is true - -## [1.9.0] - 05-24-2017 -### Added -* Support outSR for polygons and lines -* Support selected geometry precision - -## [1.8.8] - 04-26-2017 -### Fixed -* Handle possible exception when field domains are null - -## [1.8.7] - 04-13-2017 -### Fixed -* Handle esri-style date queries - -## [1.8.6] - 04-13-2017 -### Fixed -* Handle esri domains that are null - -## [1.8.5] - 04-12-2017 -### Added -* Handle esri style geometries with web mercator as a wkt - -## [1.8.4] - 03-28-2017 -### Changed -* Refactor CVD code, handle more types - -## [1.8.3] - 03-27-2017 -### Fixed -* Handle coded value domains with esriFields passed in - -## [1.8.2] - 03-24-2017 -### Fixed -* Properly reproject input geometries that have multiple polygons - -## [1.8.1] - 03-17-2017 -### Fixed -* Return correct features for envelope queries with an inSR and spatialReference specified on the envelope - -## [1.8.0] - 03-14-2017 -### Added -* Support all esri geometry types -* Support `inSR` geoservices parameter - -## [1.7.1] - 03-13-2017 -### Fixed -* Disable alasql sqlCache to prevent memory leak - -## [1.7.0] - 02-27-2017 -### Added -* Support for geometry filters specified as strings - -## [1.6.0] - 02-27-2017 -### Added -* Support for geometry filters specified as arrays - -## [1.5.4] - 02-14-2017 -### Changed -* Bring in code from terraformer-arcgis-parser, modify to remove spatialReference - -### Fixed -* Projected esri geometries no longer contain incorrect spatial reference objects - -## [1.5.3] - 02-14-2017 -### Fixed -* Handle outSR when it's just a number - -## [1.5.2] - 02-10-2017 -### Fixed -* Rebuild - -## [1.5.1] - 02-10-2017 -### Fixed -* OutSR parameter handles latestWkid and wkt - -## [1.5.0] - 02-10-2017 -### Added -* Support for geometry projections and the esri `outSR` parameter - -## [1.4.2] - 02-06-2017 -### Fixed -* Rebuild - -## [1.4.1] - 02-06-2017 -### Fixed -* Correctly handle esri style options.outFields and options.where - -## [1.4.0] - 02-06-2017 -* Support resultRecordCount and resultOffset - -## [1.3.0] - 02-06-2017 -### Added -* Support groupBy/groupByFieldsForStatistics -* Support for order/orderByFields - -### Changed -* Remove support for options as JSON strings - -### Fixed -* Escape statistics out name - -## [1.2.2] - 02-01-2017 -### Fixed -* Handle case when geometry is null and `toEsri` is true - -## [1.2.1] - 10-14-2016 -### Fixed -* Can now handle multiPolygons with empty coords array - -## [1.2.0] - 07-26-2016 -### Added -* Support calling functions on fields like `UPPER` - -## [1.1.0] - 05-11-2016 -### Added -* Options `toEsri` causes Winnow to return an esri feature collection -* Support esri-style spatial predicates -* Support esri-style aggregations - -### Changed -* Default spatial predicate to ST_Intersects - -### Fixed -* Support fields like `total precip` -* downcased `var` and `stddev` work -* within and contains were flipped - -## [1.0.1] - 03-29-2016 -### Fixed -* Handle esri-style envelopes without a spatialReference - -## [1.0.0] - 02-25-2016 -### Added -* New prepared query options -* Field aggregations -* Field selections - -### Changed -* spatialPredicate moved from geometry object to options object - -## [1.0.0-alpha] - 02-19-2016 -### Added -* Initial release - -[2.5.2]: https://github.com/koopjs/winnow/compare/v2.5.1...v2.5.2 -[2.5.1]: https://github.com/koopjs/winnow/compare/v2.5.0...v2.5.1 -[2.5.0]: https://github.com/koopjs/winnow/compare/v2.4.0...v2.5.0 -[2.4.0]: https://github.com/koopjs/winnow/compare/v2.3.0...v2.4.0 -[2.3.0]: https://github.com/koopjs/winnow/compare/v2.2.5...v2.3.0 -[2.2.5]: https://github.com/koopjs/winnow/compare/v2.2.4...v2.2.5 -[2.2.4]: https://github.com/koopjs/winnow/compare/v2.2.3...v2.2.4 -[2.2.3]: https://github.com/koopjs/winnow/compare/v2.2.2...v2.2.3 -[2.2.2]: https://github.com/koopjs/winnow/compare/v2.2.1...v2.2.2 -[2.2.1]: https://github.com/koopjs/winnow/compare/v2.2.0...v2.2.1 -[2.2.0]: https://github.com/koopjs/winnow/compare/v2.1.1...v2.2.0 -[2.1.1]: https://github.com/koopjs/winnow/compare/v2.1.0...v2.1.1 -[2.1.0]: https://github.com/koopjs/winnow/compare/v2.0.2...v2.1.0 -[2.0.2]: https://github.com/koopjs/winnow/compare/v2.0.1...v2.0.2 -[2.0.1]: https://github.com/koopjs/winnow/compare/v2.0.0...v2.0.1 -[2.0.0]: https://github.com/koopjs/winnow/compare/v1.16.13...v2.0.0 -[1.16.13]: https://github.com/koopjs/winnow/compare/v1.16.12...v1.16.13 -[1.16.12]: https://github.com/koopjs/winnow/compare/v1.16.11...v1.16.12 -[1.16.11]: https://github.com/koopjs/winnow/compare/v1.16.10...v1.16.11 -[1.16.10]: https://github.com/koopjs/winnow/compare/v1.16.9...v1.16.10 -[1.16.9]: https://github.com/koopjs/winnow/compare/v1.16.8...v1.16.9 -[1.16.8]: https://github.com/koopjs/winnow/compare/v1.16.7...v1.16.8 -[1.16.7]: https://github.com/koopjs/winnow/compare/v1.16.6...v1.16.7 -[1.16.6]: https://github.com/koopjs/winnow/compare/v1.16.5...v1.16.6 -[1.16.5]: https://github.com/koopjs/winnow/compare/v1.16.4...v1.16.5 -[1.16.4]: https://github.com/koopjs/winnow/compare/v1.16.3...v1.16.4 -[1.16.3]: https://github.com/koopjs/winnow/compare/v1.16.2...v1.16.3 -[1.16.2]: https://github.com/koopjs/winnow/compare/v1.16.1...v1.16.2 -[1.16.1]: https://github.com/koopjs/winnow/compare/v1.16.0...v1.16.1 -[1.16.0]: https://github.com/koopjs/winnow/compare/v1.15.3...v1.16.0 -[1.15.3]: https://github.com/koopjs/winnow/compare/v1.15.2...v1.15.3 -[1.15.2]: https://github.com/koopjs/winnow/compare/v1.15.1...v1.15.2 -[1.15.1]: https://github.com/koopjs/winnow/compare/v1.15.0...v1.15.1 -[1.15.0]: https://github.com/koopjs/winnow/compare/v1.14.0...v1.15.0 -[1.14.0]: https://github.com/koopjs/winnow/compare/v1.13.0...v1.14.0 -[1.13.0]: https://github.com/koopjs/winnow/compare/v1.12.7...v1.13.0 -[1.12.7]: https://github.com/koopjs/winnow/compare/v1.12.6...v1.12.7 -[1.12.6]: https://github.com/koopjs/winnow/compare/v1.12.5...v1.12.6 -[1.12.5]: https://github.com/koopjs/winnow/compare/v1.12.4...v1.12.5 -[1.12.4]: https://github.com/koopjs/winnow/compare/v1.12.3...v1.12.4 -[1.12.3]: https://github.com/koopjs/winnow/compare/v1.12.2...v1.12.3 -[1.12.2]: https://github.com/koopjs/winnow/compare/v1.12.1...v1.12.2 -[1.12.1]: https://github.com/koopjs/winnow/compare/v1.12.0...v1.12.1 -[1.12.0]: https://github.com/koopjs/winnow/compare/v1.12.0...v1.11.2 -[1.11.2]: https://github.com/koopjs/winnow/compare/v1.11.1...v1.11.2 -[1.11.1]: https://github.com/koopjs/winnow/compare/v1.11.0...v1.11.1 -[1.11.0]: https://github.com/koopjs/winnow/compare/v1.10.7...v1.11.0 -[1.10.7]: https://github.com/koopjs/winnow/compare/v1.10.6...v1.10.7 -[1.10.6]: https://github.com/koopjs/winnow/compare/v1.10.5...v1.10.6 -[1.10.5]: https://github.com/koopjs/winnow/compare/v1.10.4...v1.10.5 -[1.10.4]: https://github.com/koopjs/winnow/compare/v1.10.3...v1.10.4 -[1.10.3]: https://github.com/koopjs/winnow/compare/v1.10.2...v1.10.3 -[1.10.2]: https://github.com/koopjs/winnow/compare/v1.10.1...v1.10.2 -[1.10.1]: https://github.com/koopjs/winnow/compare/v1.10.0...v1.10.1 -[1.10.0]: https://github.com/koopjs/winnow/compare/v1.9.0...v1.10.0 -[1.9.0]: https://github.com/koopjs/winnow/compare/v1.9.0...v1.8.8 -[1.8.8]: https://github.com/koopjs/winnow/compare/v1.8.7...v1.8.8 -[1.8.7]: https://github.com/koopjs/winnow/compare/v1.8.7...v1.8.6 -[1.8.6]: https://github.com/koopjs/winnow/compare/v1.8.5...v1.8.6 -[1.8.5]: https://github.com/koopjs/winnow/compare/v1.8.5...v1.8.4 -[1.8.4]: https://github.com/koopjs/winnow/compare/v1.8.3...v1.8.4 -[1.8.3]: https://github.com/koopjs/winnow/compare/v1.8.3...v1.8.2 -[1.8.2]: https://github.com/koopjs/winnow/compare/v1.8.1...v1.8.2 -[1.8.1]: https://github.com/koopjs/winnow/compare/v1.8.1...v1.8.0 -[1.8.0]: https://github.com/koopjs/winnow/compare/v1.7.1...v1.8.0 -[1.7.1]: https://github.com/koopjs/winnow/compare/v1.7.1...v1.7.0 -[1.7.0]: https://github.com/koopjs/winnow/compare/v1.6.0...v1.7.0 -[1.6.0]: https://github.com/koopjs/winnow/compare/v1.6.0...v1.5.4 -[1.5.4]: https://github.com/koopjs/winnow/compare/v1.5.3...v1.5.4 -[1.5.3]: https://github.com/koopjs/winnow/compare/v1.5.2...v1.5.3 -[1.5.2]: https://github.com/koopjs/winnow/compare/v1.5.1...v1.5.2 -[1.5.1]: https://github.com/koopjs/winnow/compare/v1.5.0...v1.5.1 -[1.5.0]: https://github.com/koopjs/winnow/compare/v1.4.2...v1.5.0 -[1.4.2]: https://github.com/koopjs/winnow/compare/v1.4.1...v1.4.2 -[1.4.1]: https://github.com/koopjs/winnow/compare/v1.4.0...v1.4.1 -[1.4.0]: https://github.com/koopjs/winnow/compare/v1.3.0...v1.4.0 -[1.3.0]: https://github.com/koopjs/winnow/compare/v1.2.2...v1.3.0 -[1.2.2]: https://github.com/koopjs/winnow/compare/v1.2.1...v1.2.2 -[1.2.1]: https://github.com/koopjs/winnow/compare/v1.2.0...v1.2.1 -[1.2.0]: https://github.com/koopjs/winnow/compare/v1.1.0...v1.2.0 -[1.1.0]: https://github.com/koopjs/winnow/compare/v1.0.1...v1.1.0 -[1.0.1]: https://github.com/koopjs/winnow/compare/v1.0.0...v1.0.1 -[1.0.0]: https://github.com/koopjs/winnow/compare/v1.0.0-alpha...v1.0.0 -[1.0.0-alpha]: https://github.com/koopjs/winnow/releases/tag/v1.0.0-alpha diff --git a/packages/winnow/CHANGELOG.md b/packages/winnow/CHANGELOG.md deleted file mode 100644 index 076ae87a3..000000000 --- a/packages/winnow/CHANGELOG.md +++ /dev/null @@ -1,79 +0,0 @@ -# @koopjs/winnow - -## 4.1.1 - -### Patch Changes - -- need logger dep for stand alone usage - -## 4.1.0 - -### Minor Changes - -- add an objectIds parameter, so that filtering by object can occur at query time - -## 4.0.5 - -### Patch Changes - -- fix inefficient regex - -## 4.0.4 - -### Patch Changes - -- cleanup inefficient regexs - -## 4.0.3 - -### Patch Changes - -- transform ISO dates to epoch time after hashing - -## 4.0.2 - -### Patch Changes - -- fix regressed WHERE support - -## 4.0.1 - -### Patch Changes - -- add option for DISTINCT value query - -## 4.0.0 - -### Major Changes - -- drop support for Node 12 - -## 3.1.1 - -### Patch Changes - -- convert fixture to js module - -## 3.1.0 - -### Minor Changes - -- use koop or other winston-based logger instead of console -- add a Logger singleton -- add a public `setLogger` method that can be used to override default logger or set level - -## 3.0.1 - -### Patch Changes - -- Patch bumping for a clean release - -## 3.0.0 - -### Major Changes - -- scoped repo to koop organization -- migrate to Koop monorepo -- move code to `/src` directory -- co-locate unit test files -- migrate to eslint diff --git a/packages/winnow/README.md b/packages/winnow/README.md deleted file mode 100644 index 63d866459..000000000 --- a/packages/winnow/README.md +++ /dev/null @@ -1,291 +0,0 @@ -# Winnow -[![npm version][npm-img]][npm-url] -![coverage](./coverage.svg) - -*Winnow* is made for applying sql to geojson in memory. It is useful for working against geojson objects, but also has built-in primitives for piping streams. - -## Install -```sh -npm install @koopjs/winnow -``` - -
- -# API -## `winnow.query` -Build and apply a query to a feature collection object or an array of features - -```javascript -const features = Object -const options = { - where: String // A sql where statement - geometry: Object // GeoJSON or Esri geometry Object - spatialPredicate: String // ST_Within || ST_Contains || ST_Intersects - fields: Array // Set of fields to select from feature properties - aggregates: Object // Describes the set of aggregations to perform on fields - groupBy: Array // Set of fields for grouping statistics - limit: Number // number of results to return - offset: Number // number of return features to offset - order: Array // Set of fields or aggregates by which to order results - outputCrs: Number || String // An EPSG code, an OGC WKT or an ESRI WKT used to convert geometry - inputCrs: Number || String // An EPSG code, an OGC WKT or an ESRI WKT defining the coordinate system of the input data. Defaults to 4326 (WGS84) - toEsri: Boolean // return Esri feature collection - geometryPrecision: Number // number of digits to appear after decimal point for geometry - classification: Object // GeoJSON or geoservices classification Object -} -winnow.query(features, options) -// Returns the set of features that match the query -``` - -### `where` -A sql where statement. - -- `'Trunk_Diameter > 10'` -- `'Trunk_Diameter > 10 AND Genus like 'Quercus%'` -- `(Genus like '%Quercus%' OR Common_Name like '%Live Oak%') AND Street_Type like '%AVE%'` - - -### `geometry` -A GeoJSON or Esri Geometry Object -```javascript -// GeoJSON Polygon -{ - type: 'Polygon', - coordinates: [[[-118.163, 34.162], [-118.108, 34.162], [-118.108, 34.173], [-118.163, 34.173], [-118.163, 34.162]]], -} - -// Esri Envelope (aka Bounding box) -{ - xmin: -13155799.066536672, - ymin: 4047806.77771083, - xmax: -13143569.142011061, - ymax: 4050673.16627152, - spatialReference: { - wkid: 102100 - } -} -``` -### `spatialPredicate` -Specifies the relationship between the passed-in geometry and the features in the data - -- ST_Within: Features in the data must be completely within the passed-in geometry -- ST_Contains: Features in the data must completely contain the passed-in geometry -- ST_Intersects: Features in the data must intersect the passed-in geometry - -Can also specify the esri-style predicates `esriSpatialRelWithin, esriSpatialRelContains, esriSpatialRelIntersects` - -### `fields` -An array that specifies fields should be returned from each features properties or attributes. Will also accept a comma-delimited string. - -e.g. `[Trunk_Diameter, Common_Name, Genus]` - -### `aggregates` -An array that specifies aggregations to apply across all features or properties. Must specify at least a type and a field. Providing a name for the aggregation is optional - -Types: `[sum, avg, count, max, min, first, last]` - -e.g: -```javascript -[ - { - type: 'sum', - field: 'Trunk_Diameter', - name: 'Total_Trunk_Diameter' - }, - { - type: 'avg', - field: 'Trunk_Diameter' - } -] -``` - -### `groupBy` -An array of fields used to group the results. Must be used with aggregates. Note this will not return any geometry - -### `limit` -The total number of results to return - -### `offset` -The amount to offset returned features (e.g., `10` will skip the first 10 returned features). `limit` is required to used `offset`. - -### `order` -An array of fields use to sort the output - -### `outputCrs` (formerly `projection`) -Can be an EPSG code, an OGC wkt or an Esri wkt. This parameter controls how the geometry will be projected to another coordinate system. - -### `inputCrs` -Can be an EPSG code, an OGC wkt or an Esri wkt.. This parameter defines the coordinate system of input data. If the incoming data is a GeoJSON feature collection with a "named" `crs` property defined according to [specification](https://geojson.org/geojson-spec#named-crs), winnow will use it's value if `inputCrs` is undefined. If neither is defined, Winnow assumes the input data has coordinate system WGS84. - -### `toEsri` -If true, the object returned will be an esri feature collection. - -Winnow will automatically determine field types from the first feature passed in. If a given attribute is null, Winnow will assume it is a string. - -You can also pass in a metadata object that describes the fields in the feature collection. This is recommended if you know your schema ahead of time - -e.g. - -```javascript -{ - type: 'FeatureCollection', - features: [], - metadata: { - fields: [ - { - name: 'SomeDateField', - type: 'Date' - }, - { - name: 'SomeDoubleField', - type: 'Double' - }, - { - name: 'SomeIntegerField', - type: 'Integer' - }, - { - name: 'SomeStringField', - type: 'String' - } - ] - } -} -``` - -### `geometryPrecision` -A number for geometry precision. Geometry values will be truncated to the supplied decimal place. - -### `classification` -An object for classification aggregation. Classification ouputs an array of breaks on features. There are two supported classification types: _Class Breaks_ and _Unique Value_. Classification supports input from FeatureServer's [generateRenderer](https://github.com/FeatureServer/FeatureServer#generateRenderer) _classificationDef_. - -##### `Class Breaks` -_Class Breaks_ is used to classify numeric data based on a number of breaks and a statistical method. Features can also be normalized before being classified. - -```javascript -{ - *type: 'classes', - *field: '', - *method: 'equalInterval' | 'naturalBreaks' | 'quantile' | 'std', - *breakCount: 7, - normType: 'field' | 'log' | 'percent', - normField: '' // mandatory if normType === 'field' -} -*required -``` -e.g. An example feature collection has a field called _field1_ ranging in value from 0 - 29. - -Input: - -```javascript -{ - type: 'classes', - field: 'field1', - method: 'equalInterval', - breakCount: 5, -} -``` - -Output (array of class intervals): - -```javascript -[ [0-5], - [6-11], - [12-17], - [18-23], - [24-29] ] -``` - -##### `Unique Value` -_Unique Value_ is used to classify data based on a unique field(s). The output is an array of objects for each unique value combination. Each object contains an instance count, and the classifying unqiue field names and values. - -```javascript -{ - *type: 'unique', - *fields: ['', '', ''] // up to three fields -} -*required -``` - -e.g. An example feature collection has unique fields called _employeeID_ and _customerID_. - -Input: - -```javascript -{ - type: 'unique', - fields: ['employeeID', 'customerID'] -} -``` - -Output (array of instance objects): - -```javascript -[ - {count: 3, employeeID: 'A', customerID: 'M'}, - {count: 1, employeeID: 'A', customerID: 'N'}, - {count: 1, employeeID: 'B', customerID: 'M'}, - {count: 2, employeeID: 'B', customerID: 'N'}, - {count: 2, employeeID: 'B', customerID: 'O'}, - {count: 1, employeeID: 'C', customerID: 'O'}, -] -``` - -## `winnow.prepareQuery` -Returns a function that can be applied directly to a feature collection object, an array of features, or a single feature. Useful when you want to pass a stream of features through a filter. - -```javascript -const options = { - where: String, - geometry: Object, - spatialPredicate: String, - fields: Array, - aggregates: Array -} -const filter = winnow.prepareQuery(options) -filter(geojson) -// returns the set of feature that match the query -``` - -## `winnow.querySql` -Execute sql directly against the query engine. - -- Replace any variables with ? - - Table name should always be replaced by ? - - Non-string values always be replaced by ? - - - ```javascript - const statement = 'Select * from ? where Genus in ?' - const data = geojson - const genus = ['Quercus'] - winnow.querySql(statement, [geojson, genus]) - // returns all features that match the query - ``` - -## `winnow.prepareSql` -Pass in a statement and return a filter than can be applied to a feature collection object, an array of features or a single feature. Variables work in the same way as `winnow.sql` - -```javascript -const statement = 'Select Trunk_Diameter from ? where Trunk_Diameter > 100' -const filter = winnow.prepareSql(statement) -filter(geojson) -// returns all the features that match the query -``` - -## OBJECTID generation -When option `toEsri` is `true`, winnow will check that features have a unique-identifier field. This is field is flagged with the `idField` option. If not present, winnow will look for a field named `OBJECTID` and use it as the unique-identifier by default. If no `OBJECTID` is present, winnow creates one by generating a numeric hash of the feature. By default, winnow uses FarmHash for hashing. Some cloud deployments currently have trouble executing Farmhash (Heroku, 2020-09-30), so you can use native Javascript hashing as an alternative. Simply set the environment variable `OBJECTID_FEATURE_HASH=javascript`. - -# Issues - -Find a bug or want to request a new feature? Please let us know by submitting an [issue](https://github.com/FeatureServer/winnow/issues). - -# Contributing - -Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/Esri/contributing) and the [RELEASE.md](RELEASE.md) for a description of our release process. - -# License -[Apache 2.0](LICENSE) - -[npm-img]: https://img.shields.io/npm/v/@koopjs/winnow.svg?style=flat-square -[npm-url]: https://www.npmjs.com/package/@koopjs/winnow \ No newline at end of file diff --git a/packages/winnow/benchmark/fixtures.geojson b/packages/winnow/benchmark/fixtures.geojson deleted file mode 100644 index fdeafaadd..000000000 --- a/packages/winnow/benchmark/fixtures.geojson +++ /dev/null @@ -1 +0,0 @@ -{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[31.086833038864864,32.95900155441401]},"properties":{"OBJECTID":"1","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[100.09836589638053,83.59265359442529]},"properties":{"OBJECTID":"2","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[5.725009379509425,15.66439610753777]},"properties":{"OBJECTID":"3","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[15.062840383732997,57.69334051055557]},"properties":{"OBJECTID":"4","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[122.73899941923226,20.9298743692306]},"properties":{"OBJECTID":"5","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[63.072933692908556,83.26522435009075]},"properties":{"OBJECTID":"6","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[173.5516097727793,85.58379752132636]},"properties":{"OBJECTID":"7","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[156.19373003259417,69.97943050793138]},"properties":{"OBJECTID":"8","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[71.43051922847738,74.98923116681603]},"properties":{"OBJECTID":"9","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[34.80428076551175,14.353586099960829]},"properties":{"OBJECTID":"10","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[26.628767602001346,28.427488813978034]},"properties":{"OBJECTID":"11","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[91.21229744705465,0.894629234974047]},"properties":{"OBJECTID":"12","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[70.68841978715882,10.803199999715838]},"properties":{"OBJECTID":"13","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[22.965230670865058,48.18901706254946]},"properties":{"OBJECTID":"14","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.86779257163847,47.44448646361637]},"properties":{"OBJECTID":"15","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[144.46256861378237,56.806107535945834]},"properties":{"OBJECTID":"16","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[117.81877955231465,39.42334313845252]},"properties":{"OBJECTID":"17","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[133.23882426779588,86.70197576897111]},"properties":{"OBJECTID":"18","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[72.30646175153623,4.722103550790601]},"properties":{"OBJECTID":"19","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[160.6681860499595,87.11323059661851]},"properties":{"OBJECTID":"20","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[83.26107507388384,7.048932384251296]},"properties":{"OBJECTID":"21","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[75.52360534335776,61.871373714337054]},"properties":{"OBJECTID":"22","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[122.08185649427584,41.629435202534864]},"properties":{"OBJECTID":"23","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[149.78356217540932,47.126744473666214]},"properties":{"OBJECTID":"24","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[135.7872338268394,34.502239640113785]},"properties":{"OBJECTID":"25","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[30.629527723081132,24.173442877459273]},"properties":{"OBJECTID":"26","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[29.061335100216994,89.5934857862524]},"properties":{"OBJECTID":"27","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[155.55945049492664,84.56517828478242]},"properties":{"OBJECTID":"28","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[45.90598495744909,66.75095186064416]},"properties":{"OBJECTID":"29","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[161.5420993355565,53.37298663671536]},"properties":{"OBJECTID":"30","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[98.5492589681746,53.084215674895184]},"properties":{"OBJECTID":"31","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[46.48769904831298,40.21192288831757]},"properties":{"OBJECTID":"32","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[48.98765291607587,51.992327983570085]},"properties":{"OBJECTID":"33","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[43.45399145413317,71.07414903109712]},"properties":{"OBJECTID":"34","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[19.803917040911326,76.77901022662553]},"properties":{"OBJECTID":"35","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[116.53558550742875,1.7351723875397984]},"properties":{"OBJECTID":"36","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[45.774779516814014,86.5493909101293]},"properties":{"OBJECTID":"37","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[118.28742259308423,54.89967541253067]},"properties":{"OBJECTID":"38","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[33.25452753957053,79.33464770272218]},"properties":{"OBJECTID":"39","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[28.63269704904709,73.32866785047693]},"properties":{"OBJECTID":"40","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[53.38915319144641,59.48349248248425]},"properties":{"OBJECTID":"41","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[122.9284387058465,68.59857863267469]},"properties":{"OBJECTID":"42","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[78.91218479987575,63.82924021877322]},"properties":{"OBJECTID":"43","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[162.84639377624163,22.107282563385233]},"properties":{"OBJECTID":"44","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[84.02177630764649,56.14214023251555]},"properties":{"OBJECTID":"45","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[85.60504210541082,81.77800841031002]},"properties":{"OBJECTID":"46","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[99.6506963563694,4.128017461957665]},"properties":{"OBJECTID":"47","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[107.87221924075581,6.961596339119844]},"properties":{"OBJECTID":"48","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[6.269385465105697,53.92484458375173]},"properties":{"OBJECTID":"49","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[23.009414600368135,78.8119815489086]},"properties":{"OBJECTID":"50","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[157.6852534637079,86.79587974570155]},"properties":{"OBJECTID":"51","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[106.26300854232336,17.594079865089178]},"properties":{"OBJECTID":"52","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[66.2456377344174,27.52016552507596]},"properties":{"OBJECTID":"53","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[50.39567629759698,34.95187609857708]},"properties":{"OBJECTID":"54","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[22.620081585726282,66.73531193991816]},"properties":{"OBJECTID":"55","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[84.79599437710178,71.12382257768346]},"properties":{"OBJECTID":"56","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[46.360667847929314,22.99065311016964]},"properties":{"OBJECTID":"57","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[19.778971310463493,16.336360135588137]},"properties":{"OBJECTID":"58","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[143.8908847210651,78.56996332885099]},"properties":{"OBJECTID":"59","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[100.41700258296146,81.86176786900108]},"properties":{"OBJECTID":"60","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[177.01146377093895,35.72138785030274]},"properties":{"OBJECTID":"61","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[155.5343624779134,34.399643160347374]},"properties":{"OBJECTID":"62","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[119.61634157134914,63.59456173973855]},"properties":{"OBJECTID":"63","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[46.892730016808926,11.983418708251817]},"properties":{"OBJECTID":"64","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[47.72822354483489,78.38118996821323]},"properties":{"OBJECTID":"65","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[63.39918598320527,63.16749628194329]},"properties":{"OBJECTID":"66","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[84.81628762346138,15.596126731557423]},"properties":{"OBJECTID":"67","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[178.95005964130306,11.626903203254672]},"properties":{"OBJECTID":"68","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[133.1037994753254,89.08967424328453]},"properties":{"OBJECTID":"69","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[126.2455828154876,37.272644610690755]},"properties":{"OBJECTID":"70","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[107.87662382468712,8.310401524824533]},"properties":{"OBJECTID":"71","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[145.99107279800376,86.7147470706248]},"properties":{"OBJECTID":"72","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[20.423531962018657,17.208371421141567]},"properties":{"OBJECTID":"73","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[76.44830472376789,1.9641796386770105]},"properties":{"OBJECTID":"74","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[61.72011812031883,88.51212681144199]},"properties":{"OBJECTID":"75","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[164.6454097790763,49.69076058429991]},"properties":{"OBJECTID":"76","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[28.430905847258522,25.63214800370211]},"properties":{"OBJECTID":"77","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[115.46997293420294,84.23322038517117]},"properties":{"OBJECTID":"78","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[11.386977139571028,31.411630759841103]},"properties":{"OBJECTID":"79","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[40.280756260790966,58.062867720571575]},"properties":{"OBJECTID":"80","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[70.97797552718511,62.19736767669628]},"properties":{"OBJECTID":"81","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[39.620270063995854,27.082044752312157]},"properties":{"OBJECTID":"82","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[58.30485270634252,0.4555812704660034]},"properties":{"OBJECTID":"83","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[111.67827449830806,79.96309354882432]},"properties":{"OBJECTID":"84","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[152.52323247998774,49.51168208367524]},"properties":{"OBJECTID":"85","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[7.267542600824877,18.313870046160844]},"properties":{"OBJECTID":"86","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[174.32837183899048,77.66660213890849]},"properties":{"OBJECTID":"87","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[82.01471683490763,76.33480192003655]},"properties":{"OBJECTID":"88","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.457570599584651,35.47069649709987]},"properties":{"OBJECTID":"89","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[125.40764260876391,48.799045431311384]},"properties":{"OBJECTID":"90","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[138.01144303083532,20.23584917860768]},"properties":{"OBJECTID":"91","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[28.273313021306727,23.69883409454143]},"properties":{"OBJECTID":"92","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[140.2572010528706,62.76851651667912]},"properties":{"OBJECTID":"93","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[179.2138005645549,9.816086623269056]},"properties":{"OBJECTID":"94","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[155.1676512508437,42.31566179709498]},"properties":{"OBJECTID":"95","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[19.8541913928997,11.823703378960552]},"properties":{"OBJECTID":"96","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[146.608703459777,80.30078474103426]},"properties":{"OBJECTID":"97","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.5937690005206226,46.31537347774675]},"properties":{"OBJECTID":"98","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[95.06890951693555,42.24975205934558]},"properties":{"OBJECTID":"99","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[10.819004885226997,2.6338934670441327]},"properties":{"OBJECTID":"100","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[159.44314391509423,37.95178200337426]},"properties":{"OBJECTID":"101","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[71.21162875703249,82.94458732335237]},"properties":{"OBJECTID":"102","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[100.41506457567246,26.88148347718735]},"properties":{"OBJECTID":"103","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[128.61274517134783,0.7010045246182162]},"properties":{"OBJECTID":"104","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[100.5741362890584,0.45213870084874985]},"properties":{"OBJECTID":"105","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[97.96740427467653,54.49688058675488]},"properties":{"OBJECTID":"106","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[134.7521288388213,1.8735956513180896]},"properties":{"OBJECTID":"107","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[123.71924183495625,54.05860151332274]},"properties":{"OBJECTID":"108","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[8.187797883677007,4.749692891312143]},"properties":{"OBJECTID":"109","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[169.21041520907278,69.31942508187538]},"properties":{"OBJECTID":"110","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[110.75210827614855,7.772263834460896]},"properties":{"OBJECTID":"111","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[132.37721519926646,53.771254890353774]},"properties":{"OBJECTID":"112","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[55.6397046565571,58.022105282259126]},"properties":{"OBJECTID":"113","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[116.85836117995312,79.2105690619457]},"properties":{"OBJECTID":"114","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[146.68846611006163,16.608614443306404]},"properties":{"OBJECTID":"115","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[9.977401731178098,44.22191053319971]},"properties":{"OBJECTID":"116","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[97.19752537478882,52.47163734971575]},"properties":{"OBJECTID":"117","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[162.2312116183057,43.091183669285165]},"properties":{"OBJECTID":"118","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[121.1190418290391,39.59110461517222]},"properties":{"OBJECTID":"119","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[60.48115046953181,34.005172829324025]},"properties":{"OBJECTID":"120","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[152.24342447677446,39.134763795593294]},"properties":{"OBJECTID":"121","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[104.14648146294198,49.51420706996855]},"properties":{"OBJECTID":"122","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[155.5509549281782,10.589558226367078]},"properties":{"OBJECTID":"123","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[126.43137280541947,1.2514640662176757]},"properties":{"OBJECTID":"124","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[135.79621665931035,78.3597564764199]},"properties":{"OBJECTID":"125","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[36.61166346110757,13.38043922524518]},"properties":{"OBJECTID":"126","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[174.89147057236661,39.92576043542749]},"properties":{"OBJECTID":"127","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[47.47970463042086,29.14145377626095]},"properties":{"OBJECTID":"128","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[45.51180251621619,70.65799159805825]},"properties":{"OBJECTID":"129","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[77.16388351555452,83.23341078183444]},"properties":{"OBJECTID":"130","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[116.77122264704417,39.0806495129115]},"properties":{"OBJECTID":"131","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.661618858070029,53.92049427124406]},"properties":{"OBJECTID":"132","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[108.86311147170922,34.83012828382009]},"properties":{"OBJECTID":"133","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[49.12094113250786,25.141724962978245]},"properties":{"OBJECTID":"134","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[79.67374199183806,42.772036258288985]},"properties":{"OBJECTID":"135","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[82.83407543546446,2.5819294894780875]},"properties":{"OBJECTID":"136","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[155.18590673089594,7.664032120144093]},"properties":{"OBJECTID":"137","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[124.717952498813,12.223567524811564]},"properties":{"OBJECTID":"138","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[61.788251319694204,18.59858914838827]},"properties":{"OBJECTID":"139","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[93.70228599320947,49.142427168922254]},"properties":{"OBJECTID":"140","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[123.37415908670135,84.97168430355431]},"properties":{"OBJECTID":"141","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.404174187941985,24.1117978481144]},"properties":{"OBJECTID":"142","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[119.34394392467844,2.480026312113408]},"properties":{"OBJECTID":"143","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[110.27213251411015,3.732742329176837]},"properties":{"OBJECTID":"144","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[88.53686669928818,14.40495259288891]},"properties":{"OBJECTID":"145","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[44.65752771773266,30.281967811828654]},"properties":{"OBJECTID":"146","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[76.33897441134,43.13598557815802]},"properties":{"OBJECTID":"147","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[52.19175294681349,62.924558659291726]},"properties":{"OBJECTID":"148","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[32.51539399622299,11.237486139079946]},"properties":{"OBJECTID":"149","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[88.46709408192848,4.871068064051272]},"properties":{"OBJECTID":"150","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[76.74617155632713,87.59625417869985]},"properties":{"OBJECTID":"151","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[7.2917532549311925,69.28987582672676]},"properties":{"OBJECTID":"152","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[164.14073098226322,49.9406185468574]},"properties":{"OBJECTID":"153","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[155.06806144882194,9.241893343907577]},"properties":{"OBJECTID":"154","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[123.6448490691267,2.9278181874842346]},"properties":{"OBJECTID":"155","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[85.44049792940437,67.97661873839613]},"properties":{"OBJECTID":"156","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[8.083412432254423,57.267336851100204]},"properties":{"OBJECTID":"157","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[131.49647342790666,2.4810903260047623]},"properties":{"OBJECTID":"158","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[13.101038642267442,6.072399760305888]},"properties":{"OBJECTID":"159","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[71.76515345641218,45.74668535373204]},"properties":{"OBJECTID":"160","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[38.96518661216907,52.486049751320344]},"properties":{"OBJECTID":"161","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[64.44846786994106,74.25859411949337]},"properties":{"OBJECTID":"162","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[64.06326830645972,58.028721709590606]},"properties":{"OBJECTID":"163","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[77.06155564378231,24.21758411381947]},"properties":{"OBJECTID":"164","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[77.81222658017487,4.69213119822175]},"properties":{"OBJECTID":"165","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[100.6203046030698,44.02115578280254]},"properties":{"OBJECTID":"166","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[5.707901709288814,28.76767668038823]},"properties":{"OBJECTID":"167","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[20.813364674582672,55.60612934319627]},"properties":{"OBJECTID":"168","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[118.08601612355092,89.23381984275858]},"properties":{"OBJECTID":"169","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[33.69199511386312,89.03476698762351]},"properties":{"OBJECTID":"170","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[141.62011011073838,8.032470710426558]},"properties":{"OBJECTID":"171","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.7093287814980318,11.820519679101508]},"properties":{"OBJECTID":"172","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[133.7002805956912,54.95636693014372]},"properties":{"OBJECTID":"173","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[76.6578268797848,46.54084341566878]},"properties":{"OBJECTID":"174","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[151.4577933276262,28.12198192356557]},"properties":{"OBJECTID":"175","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[40.16033282132205,22.929210985427822]},"properties":{"OBJECTID":"176","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[131.75221483354434,43.51072465092552]},"properties":{"OBJECTID":"177","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[148.99398159021354,60.465161656617965]},"properties":{"OBJECTID":"178","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[162.89465112524485,25.934407269190565]},"properties":{"OBJECTID":"179","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[60.86806297348198,57.09127861932009]},"properties":{"OBJECTID":"180","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[79.08280821361997,43.78934615854071]},"properties":{"OBJECTID":"181","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[50.76272199196639,26.627416363049576]},"properties":{"OBJECTID":"182","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[10.293075064375001,42.94520012725294]},"properties":{"OBJECTID":"183","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[22.524739224317077,87.63708612902217]},"properties":{"OBJECTID":"184","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[37.01762683573086,15.586442149705878]},"properties":{"OBJECTID":"185","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[147.0084463804438,38.94141457463268]},"properties":{"OBJECTID":"186","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[34.80573604070538,48.309649111606]},"properties":{"OBJECTID":"187","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[160.24881375814581,48.53436855065722]},"properties":{"OBJECTID":"188","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[108.01019590061809,14.915697700459276]},"properties":{"OBJECTID":"189","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[75.74951496111476,81.86214399613992]},"properties":{"OBJECTID":"190","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0553923943516486,54.71922237685917]},"properties":{"OBJECTID":"191","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[114.64245885476095,52.722572292931694]},"properties":{"OBJECTID":"192","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[130.78000089593678,7.091068337822152]},"properties":{"OBJECTID":"193","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[59.57665637461579,54.09386207910023]},"properties":{"OBJECTID":"194","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[48.643344211132046,52.001699475811215]},"properties":{"OBJECTID":"195","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[29.70410618995794,68.30105647319547]},"properties":{"OBJECTID":"196","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[76.3452145632942,82.67463528855103]},"properties":{"OBJECTID":"197","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[137.00660057361966,15.298548841601127]},"properties":{"OBJECTID":"198","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[127.96988077217206,14.324012093105871]},"properties":{"OBJECTID":"199","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[61.77096138278773,61.99348842358613]},"properties":{"OBJECTID":"200","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[62.20134796527313,24.84661080658827]},"properties":{"OBJECTID":"201","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[57.313963472465296,32.93714760017517]},"properties":{"OBJECTID":"202","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[167.57633743110134,59.6490364503603]},"properties":{"OBJECTID":"203","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[17.457483923854365,18.176731050605643]},"properties":{"OBJECTID":"204","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[153.46276350835055,10.80806925532238]},"properties":{"OBJECTID":"205","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[38.427497619634885,73.56267310950912]},"properties":{"OBJECTID":"206","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[58.29741315914384,71.84819337999375]},"properties":{"OBJECTID":"207","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[120.0964169761377,27.82719203172217]},"properties":{"OBJECTID":"208","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[34.58340433749527,60.26272243999645]},"properties":{"OBJECTID":"209","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[113.78438783772232,78.19939171987097]},"properties":{"OBJECTID":"210","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[39.26916184892081,59.09347793118417]},"properties":{"OBJECTID":"211","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[139.0607017175772,28.79035156409102]},"properties":{"OBJECTID":"212","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[86.79041279046868,70.81878698455246]},"properties":{"OBJECTID":"213","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[153.2010500649169,68.93954052742278]},"properties":{"OBJECTID":"214","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[16.587190570880786,63.816742525747074]},"properties":{"OBJECTID":"215","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[36.320819315953415,78.89859240460474]},"properties":{"OBJECTID":"216","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[38.164583422118874,38.46522761842484]},"properties":{"OBJECTID":"217","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[173.26863339256593,20.13138138728594]},"properties":{"OBJECTID":"218","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[40.97535731507789,40.273902322039135]},"properties":{"OBJECTID":"219","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[149.98511953114254,78.5877440541489]},"properties":{"OBJECTID":"220","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[99.77117827179123,75.65562025976372]},"properties":{"OBJECTID":"221","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[41.75366568899004,86.07217134382232]},"properties":{"OBJECTID":"222","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[154.42092955750073,14.092878779297845]},"properties":{"OBJECTID":"223","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[132.9656903173752,40.97025556559033]},"properties":{"OBJECTID":"224","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[133.10488406051581,16.377954233159883]},"properties":{"OBJECTID":"225","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[71.71381464688625,89.01942499501335]},"properties":{"OBJECTID":"226","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[83.73837410576127,52.57650718542989]},"properties":{"OBJECTID":"227","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[112.26597412651371,45.45654883496798]},"properties":{"OBJECTID":"228","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[147.02930432849848,22.503894089067703]},"properties":{"OBJECTID":"229","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[117.32282787149038,25.000028696048787]},"properties":{"OBJECTID":"230","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[85.75852028318496,50.51701847024181]},"properties":{"OBJECTID":"231","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[30.51965278135187,78.32290189161202]},"properties":{"OBJECTID":"232","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[177.9123684040485,3.0369521961300294]},"properties":{"OBJECTID":"233","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[61.74897319372969,30.58572331123048]},"properties":{"OBJECTID":"234","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[85.80501088413504,60.10024343155617]},"properties":{"OBJECTID":"235","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[87.05289262038328,62.82110605178627]},"properties":{"OBJECTID":"236","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[114.31370099513934,8.371561123415436]},"properties":{"OBJECTID":"237","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[57.329383083367944,6.816460415850274]},"properties":{"OBJECTID":"238","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[0.7464843549990796,14.642998584921871]},"properties":{"OBJECTID":"239","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[137.59443513229692,60.012296566008075]},"properties":{"OBJECTID":"240","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[171.14530602231304,7.78122668178302]},"properties":{"OBJECTID":"241","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[155.7889465317659,78.44639972634877]},"properties":{"OBJECTID":"242","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[17.801116479453913,24.40373587193021]},"properties":{"OBJECTID":"243","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[28.285513526973514,64.4750883339399]},"properties":{"OBJECTID":"244","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[100.12196250782269,78.3532193231421]},"properties":{"OBJECTID":"245","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[47.05622803060468,14.600920027525248]},"properties":{"OBJECTID":"246","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[67.61507402580908,15.186753396707326]},"properties":{"OBJECTID":"247","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[159.49899952353726,86.86372469623194]},"properties":{"OBJECTID":"248","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[76.50954189668359,32.16722847544758]},"properties":{"OBJECTID":"249","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[79.81185076458058,65.24959689595036]},"properties":{"OBJECTID":"250","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[17.384462013539444,12.359614361631579]},"properties":{"OBJECTID":"251","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[25.057301698720412,33.38817688052097]},"properties":{"OBJECTID":"252","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[41.63047693795483,50.453369560503674]},"properties":{"OBJECTID":"253","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[152.48055187375493,38.97314902251779]},"properties":{"OBJECTID":"254","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[99.13767425136952,0.9791659475673065]},"properties":{"OBJECTID":"255","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[163.2748675633897,58.27648964011987]},"properties":{"OBJECTID":"256","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[13.212433442036406,85.66640269473304]},"properties":{"OBJECTID":"257","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[167.1029152292603,29.526241010123684]},"properties":{"OBJECTID":"258","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[39.31129574170015,54.461577641581314]},"properties":{"OBJECTID":"259","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[24.30419846203008,40.86482463693436]},"properties":{"OBJECTID":"260","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[159.06144642099716,17.681705828260004]},"properties":{"OBJECTID":"261","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[112.2433438166077,33.39025821697842]},"properties":{"OBJECTID":"262","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[147.50492651105603,86.53990096982318]},"properties":{"OBJECTID":"263","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[136.07613045155023,10.46975192227966]},"properties":{"OBJECTID":"264","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[0.9721146430758854,22.36525353006026]},"properties":{"OBJECTID":"265","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[94.81945630272295,46.09735843919018]},"properties":{"OBJECTID":"266","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[156.56890552051252,75.3242938289003]},"properties":{"OBJECTID":"267","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[23.771339846170896,86.05386801351547]},"properties":{"OBJECTID":"268","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[6.104208051776747,8.292605478545028]},"properties":{"OBJECTID":"269","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.4668648825819606,30.803055472783527]},"properties":{"OBJECTID":"270","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[114.99491514164629,11.214002934141075]},"properties":{"OBJECTID":"271","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[56.416868070957925,32.40687860988252]},"properties":{"OBJECTID":"272","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[169.4312777393221,65.4886982817581]},"properties":{"OBJECTID":"273","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[114.84512279532844,79.76192545894291]},"properties":{"OBJECTID":"274","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[78.27055951343124,34.594318939712636]},"properties":{"OBJECTID":"275","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[159.89221388090746,16.051528788401445]},"properties":{"OBJECTID":"276","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[152.51979306342892,52.124719150568446]},"properties":{"OBJECTID":"277","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[89.37174423041913,22.253553333452338]},"properties":{"OBJECTID":"278","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[167.86595070241788,61.326356899020475]},"properties":{"OBJECTID":"279","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[165.9987941401479,89.2115077791935]},"properties":{"OBJECTID":"280","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[63.731373553022,89.76998779274527]},"properties":{"OBJECTID":"281","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[87.77152507934635,33.50023437118992]},"properties":{"OBJECTID":"282","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[38.3572407354286,3.131751515038268]},"properties":{"OBJECTID":"283","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[166.49221195641067,78.0563239866783]},"properties":{"OBJECTID":"284","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[150.69100418589247,27.71030199028276]},"properties":{"OBJECTID":"285","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.4108694857140325,17.088109975437273]},"properties":{"OBJECTID":"286","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[82.28621623217411,76.54153523367553]},"properties":{"OBJECTID":"287","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[38.833111211973076,47.47930949092764]},"properties":{"OBJECTID":"288","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[142.952932194667,65.58215857330579]},"properties":{"OBJECTID":"289","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[12.814101937776474,0.558720309042291]},"properties":{"OBJECTID":"290","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[123.03084203085253,34.605897519342534]},"properties":{"OBJECTID":"291","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[89.22789706395353,35.25955098648441]},"properties":{"OBJECTID":"292","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[123.67725680920091,49.6067457612988]},"properties":{"OBJECTID":"293","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[95.27116290706664,25.903296147847577]},"properties":{"OBJECTID":"294","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[91.84029371518608,67.65936952089965]},"properties":{"OBJECTID":"295","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[164.07518328271755,88.16581266695444]},"properties":{"OBJECTID":"296","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.5893192949184725,72.7917946645599]},"properties":{"OBJECTID":"297","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[147.91610692117655,53.992493536120506]},"properties":{"OBJECTID":"298","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[14.123068205410675,66.59461317571153]},"properties":{"OBJECTID":"299","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[97.39870457715963,27.808382961727773]},"properties":{"OBJECTID":"300","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[129.21330057191489,2.03776545683815]},"properties":{"OBJECTID":"301","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[149.64445813113792,39.01201745932868]},"properties":{"OBJECTID":"302","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[5.726755019470646,30.18006699561687]},"properties":{"OBJECTID":"303","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[171.34637236091083,65.38920476159099]},"properties":{"OBJECTID":"304","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[79.90865612623257,30.493408741749192]},"properties":{"OBJECTID":"305","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[28.408598262702153,45.11349568957285]},"properties":{"OBJECTID":"306","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[39.42713869624031,26.56629355403598]},"properties":{"OBJECTID":"307","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[6.128862917163143,82.56896639851594]},"properties":{"OBJECTID":"308","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[8.804044357711787,2.3528664864499316]},"properties":{"OBJECTID":"309","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[152.57168332067602,78.67154890248518]},"properties":{"OBJECTID":"310","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[36.75600534963712,76.3735357900653]},"properties":{"OBJECTID":"311","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[114.61955889876948,88.58944074427217]},"properties":{"OBJECTID":"312","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[134.09643681497434,55.632451005335646]},"properties":{"OBJECTID":"313","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[39.002011805572074,28.65919992110885]},"properties":{"OBJECTID":"314","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[101.21089195240488,0.8900225613695878]},"properties":{"OBJECTID":"315","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[44.22367766006109,12.159994452638756]},"properties":{"OBJECTID":"316","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[162.76049037851988,80.3862482641797]},"properties":{"OBJECTID":"317","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[36.9330869654567,46.939413956645794]},"properties":{"OBJECTID":"318","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[171.91374748573125,2.041620571422631]},"properties":{"OBJECTID":"319","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[51.10880047692015,88.11364205297333]},"properties":{"OBJECTID":"320","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[68.54365782651614,72.17452333292064]},"properties":{"OBJECTID":"321","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[174.67049367918267,79.53772526992742]},"properties":{"OBJECTID":"322","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[59.38932329646378,15.272004585090038]},"properties":{"OBJECTID":"323","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[58.589811592518004,6.7680010650539195]},"properties":{"OBJECTID":"324","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[176.96016747813292,35.566604762585094]},"properties":{"OBJECTID":"325","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[166.88564294673503,1.8888130940074221]},"properties":{"OBJECTID":"326","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[13.124525089744573,31.418726014837098]},"properties":{"OBJECTID":"327","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[65.53689355728208,78.9431416455606]},"properties":{"OBJECTID":"328","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[115.11820544347412,63.64994490148921]},"properties":{"OBJECTID":"329","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[79.98376528879426,12.309885694931019]},"properties":{"OBJECTID":"330","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[133.3889603706026,22.98552501388075]},"properties":{"OBJECTID":"331","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[103.32942524909856,49.215520131492454]},"properties":{"OBJECTID":"332","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[123.33181529405344,69.62954211542092]},"properties":{"OBJECTID":"333","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[52.85293527694725,47.16017617280713]},"properties":{"OBJECTID":"334","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[107.83782295481052,18.007185801326127]},"properties":{"OBJECTID":"335","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.1015977606461602,52.98356851586898]},"properties":{"OBJECTID":"336","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[87.15352716381305,57.97330305156274]},"properties":{"OBJECTID":"337","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[79.28560808727197,22.067248122063198]},"properties":{"OBJECTID":"338","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[71.84392306359084,46.61198110630934]},"properties":{"OBJECTID":"339","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.7716679280639855,74.37574166155531]},"properties":{"OBJECTID":"340","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[54.98917131523341,23.879607555839158]},"properties":{"OBJECTID":"341","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[111.67225237600167,73.915905768305]},"properties":{"OBJECTID":"342","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[17.23260737758517,72.80934920871631]},"properties":{"OBJECTID":"343","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[122.70489657895882,45.95348601901336]},"properties":{"OBJECTID":"344","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[133.63743508679698,0.9090042777538909]},"properties":{"OBJECTID":"345","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[71.69018077117339,65.10187066155173]},"properties":{"OBJECTID":"346","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[71.08938752106093,25.204377987933164]},"properties":{"OBJECTID":"347","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[19.459557098250592,88.54809925516501]},"properties":{"OBJECTID":"348","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[141.6840622897064,38.25428221422388]},"properties":{"OBJECTID":"349","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[23.74147754399089,76.72521525230246]},"properties":{"OBJECTID":"350","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[102.7919368975861,0.3284268222011133]},"properties":{"OBJECTID":"351","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[160.75401119915585,7.923928823767586]},"properties":{"OBJECTID":"352","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[115.34707239368731,8.27739882319176]},"properties":{"OBJECTID":"353","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[53.1480163727029,50.228535414121595]},"properties":{"OBJECTID":"354","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[65.23288727905971,40.681320197789184]},"properties":{"OBJECTID":"355","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[101.77604830801644,59.601425300542175]},"properties":{"OBJECTID":"356","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[57.418634595203166,20.54379575286585]},"properties":{"OBJECTID":"357","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[104.54464488320208,36.874730908049145]},"properties":{"OBJECTID":"358","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[179.3014689584328,48.081020881981246]},"properties":{"OBJECTID":"359","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[56.846580761144004,57.31323101132592]},"properties":{"OBJECTID":"360","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[125.63544918763476,8.554858472953388]},"properties":{"OBJECTID":"361","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[63.133888367297935,33.61720568890058]},"properties":{"OBJECTID":"362","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[178.14710863402797,13.43466467852162]},"properties":{"OBJECTID":"363","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[83.12256317186457,29.61921723154351]},"properties":{"OBJECTID":"364","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[164.97251221738247,57.79793092024579]},"properties":{"OBJECTID":"365","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[139.00089764223114,4.418923442823514]},"properties":{"OBJECTID":"366","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[131.8185338870368,82.5617491522795]},"properties":{"OBJECTID":"367","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[97.7165805244334,31.213534563423412]},"properties":{"OBJECTID":"368","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[155.40835449943432,71.63216658588527]},"properties":{"OBJECTID":"369","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[120.76833950579257,11.150741766865535]},"properties":{"OBJECTID":"370","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[25.12690806998822,35.26119768180931]},"properties":{"OBJECTID":"371","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[98.01632568639421,43.060918488616686]},"properties":{"OBJECTID":"372","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[36.37790939761911,54.64395254286329]},"properties":{"OBJECTID":"373","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[103.53500848236595,28.074848619231872]},"properties":{"OBJECTID":"374","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[68.10775364680798,17.76000938806333]},"properties":{"OBJECTID":"375","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[88.66621706935494,54.21740375701026]},"properties":{"OBJECTID":"376","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[32.59819680346637,38.60518854223747]},"properties":{"OBJECTID":"377","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[76.09684843656305,85.8491036101492]},"properties":{"OBJECTID":"378","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[144.8394188940163,53.959912276612094]},"properties":{"OBJECTID":"379","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[17.21123860285004,60.856097476936185]},"properties":{"OBJECTID":"380","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[87.6928617681826,42.168243843638756]},"properties":{"OBJECTID":"381","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[76.90272225966804,12.417069573629828]},"properties":{"OBJECTID":"382","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[85.26282361274694,85.641694960676]},"properties":{"OBJECTID":"383","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[172.9461853717229,63.16509074590699]},"properties":{"OBJECTID":"384","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[61.478432285540244,87.97582275233997]},"properties":{"OBJECTID":"385","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[138.3711049844067,53.17022649662342]},"properties":{"OBJECTID":"386","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[73.16845116851903,44.55053539717668]},"properties":{"OBJECTID":"387","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.986913004572915,1.791141097229203]},"properties":{"OBJECTID":"388","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[129.30839254549224,72.93015292803474]},"properties":{"OBJECTID":"389","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[162.5148144922085,82.66454664768521]},"properties":{"OBJECTID":"390","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[18.090624700428634,50.961594069977515]},"properties":{"OBJECTID":"391","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[16.7389021461064,55.492206688890015]},"properties":{"OBJECTID":"392","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[71.01816773294728,72.29690731467568]},"properties":{"OBJECTID":"393","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[119.54833398938939,5.529958077688855]},"properties":{"OBJECTID":"394","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[74.05569693136007,71.56146354826852]},"properties":{"OBJECTID":"395","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[11.627795361472995,73.36119618290968]},"properties":{"OBJECTID":"396","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[133.4724930523704,25.048016846470425]},"properties":{"OBJECTID":"397","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[86.10889978475699,52.09687369439895]},"properties":{"OBJECTID":"398","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[34.091844144301575,7.620182283278732]},"properties":{"OBJECTID":"399","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[116.9135387785091,10.083624235746322]},"properties":{"OBJECTID":"400","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[87.14175931351213,8.875723028654676]},"properties":{"OBJECTID":"401","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[47.80978466539356,4.843530977748623]},"properties":{"OBJECTID":"402","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[65.19826733427126,89.77149184613617]},"properties":{"OBJECTID":"403","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[44.342296715284625,14.869304771576964]},"properties":{"OBJECTID":"404","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[10.855305641437889,44.43339191298823]},"properties":{"OBJECTID":"405","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[132.53962917897087,14.698883349852952]},"properties":{"OBJECTID":"406","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[100.70649009739306,14.169006376835497]},"properties":{"OBJECTID":"407","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[87.52000402136075,20.170007531823607]},"properties":{"OBJECTID":"408","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[18.355806538671633,62.84013573378596]},"properties":{"OBJECTID":"409","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[123.7554140591524,13.484811082301249]},"properties":{"OBJECTID":"410","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[54.86104472106363,20.651358525519928]},"properties":{"OBJECTID":"411","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[106.81488859164062,88.58652758089715]},"properties":{"OBJECTID":"412","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[45.817502124905374,86.01603376224072]},"properties":{"OBJECTID":"413","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[17.41253824060065,52.20399766179105]},"properties":{"OBJECTID":"414","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[41.29044743374269,20.405914697101366]},"properties":{"OBJECTID":"415","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[87.52885421305648,53.51403902816802]},"properties":{"OBJECTID":"416","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[170.99970209573465,50.625787200247665]},"properties":{"OBJECTID":"417","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[167.3724097029596,19.019672550040237]},"properties":{"OBJECTID":"418","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[59.79786343282793,18.86623873781271]},"properties":{"OBJECTID":"419","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[173.43868872745028,48.88453021556884]},"properties":{"OBJECTID":"420","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[40.1020105897821,87.32940713859634]},"properties":{"OBJECTID":"421","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[171.60198727756128,69.3937631197267]},"properties":{"OBJECTID":"422","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[112.93692147911939,14.426061129903843]},"properties":{"OBJECTID":"423","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[150.30188921070635,47.60811832858265]},"properties":{"OBJECTID":"424","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[107.22879204251869,24.259380756510435]},"properties":{"OBJECTID":"425","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[105.28777508870701,5.371775274089701]},"properties":{"OBJECTID":"426","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[7.060650602863192,81.37038241464161]},"properties":{"OBJECTID":"427","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[40.46965926147627,78.23333209680918]},"properties":{"OBJECTID":"428","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[166.05856020468764,55.499518675142355]},"properties":{"OBJECTID":"429","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[162.66241333698972,41.51217317162225]},"properties":{"OBJECTID":"430","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[34.73036652753511,17.081318202690607]},"properties":{"OBJECTID":"431","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[179.92576553975582,31.674037479619315]},"properties":{"OBJECTID":"432","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[130.6738612718828,86.90001765204823]},"properties":{"OBJECTID":"433","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[134.35889934180483,41.1744525265593]},"properties":{"OBJECTID":"434","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[72.28086308659037,15.05536065349112]},"properties":{"OBJECTID":"435","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[146.570515803955,78.74683332455751]},"properties":{"OBJECTID":"436","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[160.89357418014416,84.86425047345101]},"properties":{"OBJECTID":"437","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[119.56633600690739,74.73313497509328]},"properties":{"OBJECTID":"438","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[90.65392944266519,21.342692268009426]},"properties":{"OBJECTID":"439","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[178.0530458948673,52.34929592095632]},"properties":{"OBJECTID":"440","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[97.53566906685009,35.80937468468516]},"properties":{"OBJECTID":"441","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.3511784062141725,37.13982280639486]},"properties":{"OBJECTID":"442","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[151.42363043159833,13.409070959008165]},"properties":{"OBJECTID":"443","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[177.12562903139388,16.60164797203813]},"properties":{"OBJECTID":"444","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[5.868131599911561,26.84657176447588]},"properties":{"OBJECTID":"445","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[59.91160930348839,45.31488211723024]},"properties":{"OBJECTID":"446","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[35.62295018387729,2.5453883613794015]},"properties":{"OBJECTID":"447","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[177.79251738552466,22.71141865433734]},"properties":{"OBJECTID":"448","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[176.33362343236422,59.9216694030018]},"properties":{"OBJECTID":"449","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[109.91547627009749,21.29889347210656]},"properties":{"OBJECTID":"450","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[55.37982191441022,42.477483796366826]},"properties":{"OBJECTID":"451","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[60.56874275021188,37.048780470556025]},"properties":{"OBJECTID":"452","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.921616954013432,42.06618137360846]},"properties":{"OBJECTID":"453","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[32.464642479934945,51.14263497822995]},"properties":{"OBJECTID":"454","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[93.19306644694952,77.43193002167759]},"properties":{"OBJECTID":"455","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[123.98039032277772,53.28437852318445]},"properties":{"OBJECTID":"456","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[160.2578666380531,47.736740831474826]},"properties":{"OBJECTID":"457","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[99.80469952654661,65.20746625054169]},"properties":{"OBJECTID":"458","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[162.589601995816,48.09470552414409]},"properties":{"OBJECTID":"459","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[123.69425843213249,7.887063722190755]},"properties":{"OBJECTID":"460","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[76.43964254761477,64.46179355069671]},"properties":{"OBJECTID":"461","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[102.99426353551377,22.888712261023084]},"properties":{"OBJECTID":"462","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[149.4217985357358,42.17539504659128]},"properties":{"OBJECTID":"463","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[55.14985004791388,46.65559220344985]},"properties":{"OBJECTID":"464","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[46.53877823116319,19.231718065867575]},"properties":{"OBJECTID":"465","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[122.2679675203864,46.45839067118674]},"properties":{"OBJECTID":"466","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[9.100543176981777,42.79447360130469]},"properties":{"OBJECTID":"467","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[71.10446553426033,51.93517547355673]},"properties":{"OBJECTID":"468","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[119.96084726177061,66.24630185001072]},"properties":{"OBJECTID":"469","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[32.15704552796127,25.159861650823405]},"properties":{"OBJECTID":"470","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[81.53242997548107,2.603126361519774]},"properties":{"OBJECTID":"471","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[5.642354904430396,49.963914872843304]},"properties":{"OBJECTID":"472","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[109.88604523349373,34.88324453637784]},"properties":{"OBJECTID":"473","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[29.595000945247037,71.0228477270984]},"properties":{"OBJECTID":"474","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[31.030320187697843,59.8995559747509]},"properties":{"OBJECTID":"475","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[124.32792325945724,57.318589017188444]},"properties":{"OBJECTID":"476","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[97.4269196798779,42.59717190276403]},"properties":{"OBJECTID":"477","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[88.67317075372642,22.96888779343877]},"properties":{"OBJECTID":"478","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[127.11326005815734,18.433528073336213]},"properties":{"OBJECTID":"479","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[55.82953611980795,11.79366847171728]},"properties":{"OBJECTID":"480","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[58.54401014258449,36.43825334013819]},"properties":{"OBJECTID":"481","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[42.2217837482729,38.5760817932469]},"properties":{"OBJECTID":"482","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[169.77020993849663,39.93104190590763]},"properties":{"OBJECTID":"483","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[39.93245396012594,81.66660546254288]},"properties":{"OBJECTID":"484","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[163.63340273501382,37.76380302722983]},"properties":{"OBJECTID":"485","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[61.661299722474595,85.42628121593658]},"properties":{"OBJECTID":"486","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[9.640705945207655,60.4049651839008]},"properties":{"OBJECTID":"487","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[88.76733610919842,8.375786980417164]},"properties":{"OBJECTID":"488","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[125.6506729391061,69.50724261583987]},"properties":{"OBJECTID":"489","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[79.58748648474854,28.242238486825016]},"properties":{"OBJECTID":"490","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[40.98319923904161,69.59657339041011]},"properties":{"OBJECTID":"491","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[174.19553266792454,58.89508516948087]},"properties":{"OBJECTID":"492","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[17.4879437439269,31.18455515839639]},"properties":{"OBJECTID":"493","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[132.66177482335038,24.575028516750667]},"properties":{"OBJECTID":"494","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[149.41470572272388,15.65521846857511]},"properties":{"OBJECTID":"495","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[111.93019650660553,57.88847711286092]},"properties":{"OBJECTID":"496","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[17.70451488946634,51.67062373080771]},"properties":{"OBJECTID":"497","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[15.809968630556135,0.14499516344881114]},"properties":{"OBJECTID":"498","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[80.23079360004407,63.57652038999317]},"properties":{"OBJECTID":"499","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[162.41486723814327,53.62726794137145]},"properties":{"OBJECTID":"500","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[43.36188989493887,86.98662021081407]},"properties":{"OBJECTID":"501","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[132.6011666966294,87.20813570938212]},"properties":{"OBJECTID":"502","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[50.90205918956019,67.67787982579635]},"properties":{"OBJECTID":"503","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[107.82510658958967,82.12918366725148]},"properties":{"OBJECTID":"504","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[24.118733258027547,33.895288341968794]},"properties":{"OBJECTID":"505","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[86.37003386119105,25.95578648250188]},"properties":{"OBJECTID":"506","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[59.41384520385644,33.20723446501191]},"properties":{"OBJECTID":"507","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[177.40620607158812,67.50859725344192]},"properties":{"OBJECTID":"508","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[64.88950034941541,19.98072103919189]},"properties":{"OBJECTID":"509","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[42.8672207176861,11.431954449107655]},"properties":{"OBJECTID":"510","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[106.66470464582578,60.9974074940051]},"properties":{"OBJECTID":"511","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[86.43594048904467,16.087731773518275]},"properties":{"OBJECTID":"512","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[12.502359156834082,75.22913690483304]},"properties":{"OBJECTID":"513","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[167.33991513782556,76.24577033829199]},"properties":{"OBJECTID":"514","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[152.99544815835299,47.70423309630844]},"properties":{"OBJECTID":"515","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[114.00381014956133,87.40169260052463]},"properties":{"OBJECTID":"516","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[32.96953754493824,13.33438828975761]},"properties":{"OBJECTID":"517","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[162.5146423666417,32.08820560573392]},"properties":{"OBJECTID":"518","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[82.1686803207989,13.316422252181066]},"properties":{"OBJECTID":"519","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[126.04463723640336,60.18671609025632]},"properties":{"OBJECTID":"520","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[57.71649892990564,39.56222133040177]},"properties":{"OBJECTID":"521","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[66.40246945658697,1.905023390980023]},"properties":{"OBJECTID":"522","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[114.16283894659533,25.745841942463844]},"properties":{"OBJECTID":"523","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[174.0754968474185,65.45507022448086]},"properties":{"OBJECTID":"524","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[107.9998984062771,12.377009547767585]},"properties":{"OBJECTID":"525","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[13.380104059037631,49.29668069494923]},"properties":{"OBJECTID":"526","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[24.565389124350283,30.626468067988128]},"properties":{"OBJECTID":"527","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[26.493839257512587,64.56551117942756]},"properties":{"OBJECTID":"528","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[12.998461368360616,16.5191001927025]},"properties":{"OBJECTID":"529","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[54.93673613161053,30.416343214446883]},"properties":{"OBJECTID":"530","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[131.61346672203697,14.119483933765032]},"properties":{"OBJECTID":"531","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[25.13724566430307,51.56703957990421]},"properties":{"OBJECTID":"532","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[0.4616625803741492,5.57674596666244]},"properties":{"OBJECTID":"533","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[126.37653354217402,55.8489442884457]},"properties":{"OBJECTID":"534","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[169.81770945990007,78.42539497777265]},"properties":{"OBJECTID":"535","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[62.52046553741281,20.615149965251337]},"properties":{"OBJECTID":"536","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[13.146496134505789,29.70530855064006]},"properties":{"OBJECTID":"537","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[58.046450952038846,24.980897001660228]},"properties":{"OBJECTID":"538","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[50.43201387188478,22.64697672096093]},"properties":{"OBJECTID":"539","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[43.649347602393334,6.222319348443444]},"properties":{"OBJECTID":"540","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[67.23114119234141,53.72259019588103]},"properties":{"OBJECTID":"541","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[25.90471205788761,49.9260511681624]},"properties":{"OBJECTID":"542","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[55.07029987459222,25.113013760156427]},"properties":{"OBJECTID":"543","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[162.44713316561666,23.28030991114768]},"properties":{"OBJECTID":"544","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[144.9285308830897,77.01520205167084]},"properties":{"OBJECTID":"545","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[45.637847105957235,37.75484308518474]},"properties":{"OBJECTID":"546","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[168.0268337233032,22.437265192892934]},"properties":{"OBJECTID":"547","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[0.9138869228422353,4.583332243676379]},"properties":{"OBJECTID":"548","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[11.221830889902131,64.4754078421816]},"properties":{"OBJECTID":"549","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[117.33116044315187,50.65136136776194]},"properties":{"OBJECTID":"550","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[117.00898007415427,50.827889740500304]},"properties":{"OBJECTID":"551","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[174.06965148446116,13.067531308344932]},"properties":{"OBJECTID":"552","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[35.64954300450189,85.02006426669483]},"properties":{"OBJECTID":"553","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[104.94681381649707,25.92240993216493]},"properties":{"OBJECTID":"554","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[102.2443849985119,65.49155331840852]},"properties":{"OBJECTID":"555","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[8.049820994111666,68.78531274407516]},"properties":{"OBJECTID":"556","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[173.5756238104797,58.315229991465195]},"properties":{"OBJECTID":"557","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.133580846554952,68.49048343511659]},"properties":{"OBJECTID":"558","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[13.272609657180595,81.8072665881114]},"properties":{"OBJECTID":"559","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[170.61434958441987,5.889273000181352]},"properties":{"OBJECTID":"560","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[33.36273988278562,59.928329180099716]},"properties":{"OBJECTID":"561","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[60.00350427934309,78.31169615994563]},"properties":{"OBJECTID":"562","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[68.36730835615282,46.341918273316956]},"properties":{"OBJECTID":"563","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[21.990174545280567,51.35084395526852]},"properties":{"OBJECTID":"564","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[158.53970837497926,72.72397903474918]},"properties":{"OBJECTID":"565","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[84.46318577044241,7.337167927742756]},"properties":{"OBJECTID":"566","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[13.532130752002427,49.47087240497153]},"properties":{"OBJECTID":"567","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[20.30901976699923,69.48314607632514]},"properties":{"OBJECTID":"568","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[61.109801373665164,50.34868829722446]},"properties":{"OBJECTID":"569","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[28.668369412190316,86.45605490658606]},"properties":{"OBJECTID":"570","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[163.99762503084008,85.86809205765056]},"properties":{"OBJECTID":"571","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[96.89987341671095,75.54051774914362]},"properties":{"OBJECTID":"572","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[29.45847628025198,71.89169524240647]},"properties":{"OBJECTID":"573","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[70.62232528803558,36.825512508002916]},"properties":{"OBJECTID":"574","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[170.02400399790758,67.59087925931676]},"properties":{"OBJECTID":"575","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[103.14016054216168,67.78993446609202]},"properties":{"OBJECTID":"576","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[39.661925422201065,60.087520481160766]},"properties":{"OBJECTID":"577","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[25.311086645187373,28.222319752197194]},"properties":{"OBJECTID":"578","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[113.84744090729346,73.85770274032191]},"properties":{"OBJECTID":"579","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[168.6515175445548,73.26400966896993]},"properties":{"OBJECTID":"580","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[87.421716222938,27.533602629646122]},"properties":{"OBJECTID":"581","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[71.65155296691164,33.845211131247765]},"properties":{"OBJECTID":"582","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[31.06432746160626,88.35015361220094]},"properties":{"OBJECTID":"583","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[11.016263542105644,67.97482940373222]},"properties":{"OBJECTID":"584","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[68.32552478625973,21.867285728385422]},"properties":{"OBJECTID":"585","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[60.8943993621528,18.77160857235432]},"properties":{"OBJECTID":"586","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[172.264732463406,64.98437698919177]},"properties":{"OBJECTID":"587","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[117.22249564972226,52.92569417785384]},"properties":{"OBJECTID":"588","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[139.9964645331968,57.11624165076522]},"properties":{"OBJECTID":"589","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[102.95870333873961,25.652299122523935]},"properties":{"OBJECTID":"590","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[18.74489696409857,35.04938808432515]},"properties":{"OBJECTID":"591","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[32.29692633567427,59.19314137500318]},"properties":{"OBJECTID":"592","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[15.50510902843266,32.145808518406284]},"properties":{"OBJECTID":"593","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[169.13156020225344,52.96133165563259]},"properties":{"OBJECTID":"594","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[70.5534940783475,77.76764050835133]},"properties":{"OBJECTID":"595","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[61.900314983790814,36.82035653871288]},"properties":{"OBJECTID":"596","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[50.81346347153574,79.26684298624826]},"properties":{"OBJECTID":"597","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[60.64789853212625,8.01949542821431]},"properties":{"OBJECTID":"598","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[83.09150255670687,9.934147303776788]},"properties":{"OBJECTID":"599","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.9262546934344433,3.4579041138721744]},"properties":{"OBJECTID":"600","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[91.39502627577474,53.56474871290994]},"properties":{"OBJECTID":"601","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[63.1091223917778,73.6111735961702]},"properties":{"OBJECTID":"602","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[37.710775467852415,67.67029945202874]},"properties":{"OBJECTID":"603","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[52.47197385958864,63.87923564099596]},"properties":{"OBJECTID":"604","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[156.77335060172481,27.462036197359364]},"properties":{"OBJECTID":"605","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[20.36092519546329,25.63713217065483]},"properties":{"OBJECTID":"606","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[25.484362642495476,87.95850466236665]},"properties":{"OBJECTID":"607","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[22.548628041720463,78.21637377698846]},"properties":{"OBJECTID":"608","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[47.73995943897387,59.88651834465416]},"properties":{"OBJECTID":"609","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[110.91811648080767,63.61052355200095]},"properties":{"OBJECTID":"610","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[97.16477065938976,36.659702723811876]},"properties":{"OBJECTID":"611","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[177.14044358898926,41.23662614985493]},"properties":{"OBJECTID":"612","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[127.41880228135712,38.48118650545218]},"properties":{"OBJECTID":"613","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[13.287581803598254,2.1975088108101892]},"properties":{"OBJECTID":"614","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[20.787862490917735,22.639205289308325]},"properties":{"OBJECTID":"615","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[103.3253899009606,4.245965065097588]},"properties":{"OBJECTID":"616","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[99.01530091806453,64.87522647621626]},"properties":{"OBJECTID":"617","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[119.77201884803178,67.52572445998057]},"properties":{"OBJECTID":"618","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[85.18865542464668,11.295895087894579]},"properties":{"OBJECTID":"619","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[87.10465320229366,30.42035214966058]},"properties":{"OBJECTID":"620","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[103.43372970455637,33.018025681940216]},"properties":{"OBJECTID":"621","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[135.09280309093052,46.89223223087775]},"properties":{"OBJECTID":"622","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[153.95939484959555,0.08298049569699151]},"properties":{"OBJECTID":"623","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[144.9869995569482,45.920796034564994]},"properties":{"OBJECTID":"624","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[150.74125617327397,44.13374982307826]},"properties":{"OBJECTID":"625","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[135.51875913799702,14.538814652179212]},"properties":{"OBJECTID":"626","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[115.57479196570225,63.5795560906318]},"properties":{"OBJECTID":"627","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.6791737682542704,59.82710742441296]},"properties":{"OBJECTID":"628","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[0.23559238828416706,29.787978113982426]},"properties":{"OBJECTID":"629","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[29.598158315006042,68.76825529799515]},"properties":{"OBJECTID":"630","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[142.22957629933612,72.67527664164878]},"properties":{"OBJECTID":"631","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[98.52736955275259,64.64017790477993]},"properties":{"OBJECTID":"632","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[42.2473921098826,38.58781095245176]},"properties":{"OBJECTID":"633","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[146.7372470583944,17.013297267682574]},"properties":{"OBJECTID":"634","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[178.64371591764592,83.55094270915153]},"properties":{"OBJECTID":"635","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[67.51913312781386,32.77486760663056]},"properties":{"OBJECTID":"636","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[148.56554169145966,46.541496854240116]},"properties":{"OBJECTID":"637","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[69.46710191305877,57.063859888159925]},"properties":{"OBJECTID":"638","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[13.195663349511513,10.46846584419653]},"properties":{"OBJECTID":"639","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[147.20161925646707,84.92675800354445]},"properties":{"OBJECTID":"640","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[47.327604196177106,27.444313558679656]},"properties":{"OBJECTID":"641","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[179.69648703794905,38.2173448948828]},"properties":{"OBJECTID":"642","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.1765777716740473,0.6909673823296458]},"properties":{"OBJECTID":"643","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[143.36062207769032,88.37621482454963]},"properties":{"OBJECTID":"644","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[6.670877797592505,7.69797781040483]},"properties":{"OBJECTID":"645","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[127.40945149164111,48.26315608341089]},"properties":{"OBJECTID":"646","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[13.561388091265595,37.5986552575879]},"properties":{"OBJECTID":"647","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[36.07274112502685,62.63785507765408]},"properties":{"OBJECTID":"648","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[43.77507618004308,70.7349943784321]},"properties":{"OBJECTID":"649","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[33.78463332333432,40.72276019151403]},"properties":{"OBJECTID":"650","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[105.35873381445117,74.28238581261614]},"properties":{"OBJECTID":"651","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[124.91983055825803,32.2173392587548]},"properties":{"OBJECTID":"652","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[170.04725586867326,10.880241732137002]},"properties":{"OBJECTID":"653","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[43.41759719265607,37.372520069739224]},"properties":{"OBJECTID":"654","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[109.83068392478458,72.83458781215535]},"properties":{"OBJECTID":"655","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[79.0145275911509,36.64058779055104]},"properties":{"OBJECTID":"656","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[73.48864667472627,63.965597884021875]},"properties":{"OBJECTID":"657","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[99.47240719648488,80.99071681771736]},"properties":{"OBJECTID":"658","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[119.04639308269876,43.483245193562205]},"properties":{"OBJECTID":"659","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[13.362803731621863,85.56788830383266]},"properties":{"OBJECTID":"660","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[49.46140183694976,11.925404122509882]},"properties":{"OBJECTID":"661","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[33.11868219137033,22.0861951946089]},"properties":{"OBJECTID":"662","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[146.84690141999087,76.67002361262846]},"properties":{"OBJECTID":"663","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[117.09464493889548,28.433208753978903]},"properties":{"OBJECTID":"664","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[19.469371745543555,46.77898503837363]},"properties":{"OBJECTID":"665","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[27.413144262682852,1.982813963384149]},"properties":{"OBJECTID":"666","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[45.33821788992328,27.8215489963578]},"properties":{"OBJECTID":"667","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[113.09491225908101,65.58363684476313]},"properties":{"OBJECTID":"668","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[44.45880091348426,23.101874295902316]},"properties":{"OBJECTID":"669","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[96.3034593401835,81.70370672827877]},"properties":{"OBJECTID":"670","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[11.264062912919407,63.151121592551895]},"properties":{"OBJECTID":"671","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[40.314481556686566,7.717045587841778]},"properties":{"OBJECTID":"672","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[50.92561591677227,9.326080703976587]},"properties":{"OBJECTID":"673","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[110.67326369434262,61.59509084353596]},"properties":{"OBJECTID":"674","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[72.60937493494559,54.740389258063004]},"properties":{"OBJECTID":"675","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[25.319493580974253,42.40739081490454]},"properties":{"OBJECTID":"676","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[8.03639476778307,25.0785936229005]},"properties":{"OBJECTID":"677","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[26.80871407485329,70.1693040077163]},"properties":{"OBJECTID":"678","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[7.03453354839922,30.546177356952118]},"properties":{"OBJECTID":"679","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[161.28761767870546,82.13030227674544]},"properties":{"OBJECTID":"680","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[134.95026172738625,12.91959947770372]},"properties":{"OBJECTID":"681","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[85.75929127792294,33.992181099660876]},"properties":{"OBJECTID":"682","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[130.8040843465792,86.90635810410015]},"properties":{"OBJECTID":"683","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[125.89671923130778,30.291073379201716]},"properties":{"OBJECTID":"684","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[125.91757064814219,19.831488339829136]},"properties":{"OBJECTID":"685","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[29.525890063142207,3.061428553671459]},"properties":{"OBJECTID":"686","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[159.68936147033858,16.56983640050751]},"properties":{"OBJECTID":"687","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[38.865042795605476,57.4565435059924]},"properties":{"OBJECTID":"688","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[40.39903764034144,2.9234805705369293]},"properties":{"OBJECTID":"689","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[134.37130119175433,56.16152827291685]},"properties":{"OBJECTID":"690","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[161.76712957776465,18.616666519790755]},"properties":{"OBJECTID":"691","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[150.7516841991098,51.92869635004453]},"properties":{"OBJECTID":"692","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[87.76945150685795,53.95966918762669]},"properties":{"OBJECTID":"693","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[50.61847569438931,57.78432196122256]},"properties":{"OBJECTID":"694","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[26.981516723615595,23.922605781454582]},"properties":{"OBJECTID":"695","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[21.143752913306283,51.02395963738896]},"properties":{"OBJECTID":"696","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[30.672065418701035,13.509688764154163]},"properties":{"OBJECTID":"697","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[61.585221056704796,25.381987594188377]},"properties":{"OBJECTID":"698","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[95.9002172811888,47.686953887203536]},"properties":{"OBJECTID":"699","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[113.98922105507353,55.43495033154357]},"properties":{"OBJECTID":"700","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[136.03417933020694,67.76959831736747]},"properties":{"OBJECTID":"701","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[40.20312785945501,27.12870570267888]},"properties":{"OBJECTID":"702","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[80.90664201770534,66.4108867789734]},"properties":{"OBJECTID":"703","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[143.02683216511608,5.953400002944997]},"properties":{"OBJECTID":"704","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[100.75543394469724,67.65083349688783]},"properties":{"OBJECTID":"705","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[169.08040733317327,44.1445778893762]},"properties":{"OBJECTID":"706","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[13.28191013721387,59.72483332388691]},"properties":{"OBJECTID":"707","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[113.63979380061215,38.152568869076966]},"properties":{"OBJECTID":"708","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[85.19319835785791,65.31916508035681]},"properties":{"OBJECTID":"709","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[114.26879096318326,78.43539029447162]},"properties":{"OBJECTID":"710","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[154.8281711014269,39.89491997159057]},"properties":{"OBJECTID":"711","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[14.621706037062596,38.718805608608214]},"properties":{"OBJECTID":"712","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[162.64866270758193,86.93148954074368]},"properties":{"OBJECTID":"713","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[55.056129484686025,12.057210041250704]},"properties":{"OBJECTID":"714","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[154.39570455350287,21.803581988010514]},"properties":{"OBJECTID":"715","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[41.76706406754376,72.58271933090339]},"properties":{"OBJECTID":"716","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[155.63088572981664,69.75108648798373]},"properties":{"OBJECTID":"717","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[107.29420504196648,23.52828251784286]},"properties":{"OBJECTID":"718","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[146.30100142015968,79.10017221165366]},"properties":{"OBJECTID":"719","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[160.185979004947,75.4032874572681]},"properties":{"OBJECTID":"720","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[87.65645260188896,1.9076343082647362]},"properties":{"OBJECTID":"721","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[16.429377237872057,55.1971241285119]},"properties":{"OBJECTID":"722","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[40.23561149976834,15.601587445646494]},"properties":{"OBJECTID":"723","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[106.91265325695014,0.812310660654425]},"properties":{"OBJECTID":"724","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[77.86169758585245,22.20175893410144]},"properties":{"OBJECTID":"725","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[89.11804634359454,23.374405857962447]},"properties":{"OBJECTID":"726","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[169.52592125249438,50.68828819697374]},"properties":{"OBJECTID":"727","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[33.34937954531567,35.36489132869961]},"properties":{"OBJECTID":"728","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[141.00548134062956,68.89676520834367]},"properties":{"OBJECTID":"729","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[82.79721562984672,6.054530876994697]},"properties":{"OBJECTID":"730","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[26.57605673058623,34.5717195379339]},"properties":{"OBJECTID":"731","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[112.85270020867715,24.78857507418765]},"properties":{"OBJECTID":"732","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[38.426408950346726,53.61514320411509]},"properties":{"OBJECTID":"733","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[97.61232015530965,23.200263257630866]},"properties":{"OBJECTID":"734","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[89.3464329171297,60.5652156912109]},"properties":{"OBJECTID":"735","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[72.62712272085614,17.194631617485925]},"properties":{"OBJECTID":"736","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[136.4445102549315,74.88827771147328]},"properties":{"OBJECTID":"737","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[179.84025739706158,31.744612173569145]},"properties":{"OBJECTID":"738","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[168.13600587771208,74.25359043488406]},"properties":{"OBJECTID":"739","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[16.241129078780748,50.144109165615276]},"properties":{"OBJECTID":"740","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[50.84714190079073,70.4786992761778]},"properties":{"OBJECTID":"741","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[165.38077807971763,69.9973744387102]},"properties":{"OBJECTID":"742","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[168.77503921844945,1.3108700006973328]},"properties":{"OBJECTID":"743","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[132.04708458361372,22.280202692199783]},"properties":{"OBJECTID":"744","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[91.14575634985165,34.79429880005756]},"properties":{"OBJECTID":"745","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[79.58033571369353,47.818449181323174]},"properties":{"OBJECTID":"746","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[21.845253734365023,66.1850779023729]},"properties":{"OBJECTID":"747","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[20.546381911183865,60.64064300328788]},"properties":{"OBJECTID":"748","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[72.82295014752411,53.76749303553728]},"properties":{"OBJECTID":"749","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[46.240520957120054,85.91141235431354]},"properties":{"OBJECTID":"750","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[30.128685601262013,73.45283839015174]},"properties":{"OBJECTID":"751","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[35.24362149919574,34.67711515877717]},"properties":{"OBJECTID":"752","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[71.91065399573516,66.12480986605837]},"properties":{"OBJECTID":"753","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[69.19783908916496,71.6815166280616]},"properties":{"OBJECTID":"754","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[161.18223763870353,46.59860108974915]},"properties":{"OBJECTID":"755","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[178.49079659207604,79.69748011389896]},"properties":{"OBJECTID":"756","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[64.18337222388301,6.255293623843709]},"properties":{"OBJECTID":"757","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[111.68105252389027,15.805576844593116]},"properties":{"OBJECTID":"758","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[129.4324725899104,16.882396769468585]},"properties":{"OBJECTID":"759","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[50.84438514293426,72.16386724019583]},"properties":{"OBJECTID":"760","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[45.657073175654126,3.646624841396089]},"properties":{"OBJECTID":"761","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[140.97195041243637,81.88055803302628]},"properties":{"OBJECTID":"762","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[145.50321189594902,1.1769522249720832]},"properties":{"OBJECTID":"763","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[117.24772855846544,68.77906759182662]},"properties":{"OBJECTID":"764","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[55.23535422789092,14.852656997878157]},"properties":{"OBJECTID":"765","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[80.37699315161078,60.40091219690422]},"properties":{"OBJECTID":"766","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[77.60258422379901,53.57401197755602]},"properties":{"OBJECTID":"767","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[71.31488281142957,32.62025353194089]},"properties":{"OBJECTID":"768","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[62.50132083904819,41.915121381746964]},"properties":{"OBJECTID":"769","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[101.59565604878556,40.18352369485318]},"properties":{"OBJECTID":"770","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[43.47111846790114,77.79523288786338]},"properties":{"OBJECTID":"771","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[120.36236635996627,19.108038830724258]},"properties":{"OBJECTID":"772","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[43.100221297564495,54.72745010897055]},"properties":{"OBJECTID":"773","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[147.838861779597,81.21599700027154]},"properties":{"OBJECTID":"774","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[122.39513073854367,70.76500161702002]},"properties":{"OBJECTID":"775","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[88.16297297864196,7.382949992923187]},"properties":{"OBJECTID":"776","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[112.85513526383966,58.07027309942909]},"properties":{"OBJECTID":"777","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[20.189800777427376,9.660429964341425]},"properties":{"OBJECTID":"778","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[45.497522076416594,45.68241402537162]},"properties":{"OBJECTID":"779","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[101.05525523809338,77.05099104464303]},"properties":{"OBJECTID":"780","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[25.0701077210142,82.68763447828422]},"properties":{"OBJECTID":"781","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[87.33287466534038,63.53297439735021]},"properties":{"OBJECTID":"782","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[95.87765368634311,2.997644989728916]},"properties":{"OBJECTID":"783","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[98.84445969411507,71.9946714208785]},"properties":{"OBJECTID":"784","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[169.84292739231861,57.92224353758892]},"properties":{"OBJECTID":"785","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[72.08207045594804,63.407345895302484]},"properties":{"OBJECTID":"786","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[62.36905180894301,7.488172286005977]},"properties":{"OBJECTID":"787","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[150.88983670918265,60.52706034673851]},"properties":{"OBJECTID":"788","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[136.73148389390855,39.24221310856932]},"properties":{"OBJECTID":"789","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[169.59216995200404,18.176431406457368]},"properties":{"OBJECTID":"790","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[50.08771769220794,23.315336370651316]},"properties":{"OBJECTID":"791","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[58.6941296135026,2.5059936349822975]},"properties":{"OBJECTID":"792","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[110.98791017132359,58.22182235394894]},"properties":{"OBJECTID":"793","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[82.95478606005501,46.216176529008465]},"properties":{"OBJECTID":"794","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[45.00903927976762,56.791995450122776]},"properties":{"OBJECTID":"795","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[10.821544299752777,27.739348726927883]},"properties":{"OBJECTID":"796","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[115.34248120187667,88.74871783809995]},"properties":{"OBJECTID":"797","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[108.74073970176875,72.26155081921615]},"properties":{"OBJECTID":"798","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[117.11514650278588,47.94999010145258]},"properties":{"OBJECTID":"799","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[149.32770431853962,47.44095004685748]},"properties":{"OBJECTID":"800","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[7.54232519760849,13.081952312750262]},"properties":{"OBJECTID":"801","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[163.58061795565774,50.136395442101374]},"properties":{"OBJECTID":"802","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[106.19508826462435,37.950952828028015]},"properties":{"OBJECTID":"803","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[167.81225497194745,32.77411424137592]},"properties":{"OBJECTID":"804","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[150.60229468625968,47.74382924872905]},"properties":{"OBJECTID":"805","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[28.68545093081304,33.285001693061105]},"properties":{"OBJECTID":"806","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[33.44826576702437,34.14226105923376]},"properties":{"OBJECTID":"807","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[124.65988608126928,29.695825038111284]},"properties":{"OBJECTID":"808","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[67.41978681644714,64.22185954263743]},"properties":{"OBJECTID":"809","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[40.61323027777001,9.560273717659058]},"properties":{"OBJECTID":"810","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[21.38153401994621,14.966552179612558]},"properties":{"OBJECTID":"811","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[47.56170474027357,77.25713505486068]},"properties":{"OBJECTID":"812","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[92.33790149526608,76.57371386969264]},"properties":{"OBJECTID":"813","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[76.8749482661609,6.748703691430908]},"properties":{"OBJECTID":"814","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[123.05968789353297,35.50704932260562]},"properties":{"OBJECTID":"815","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[101.30826095716934,52.568296677654644]},"properties":{"OBJECTID":"816","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[10.961054350963156,16.9914955821957]},"properties":{"OBJECTID":"817","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[47.826255162451815,11.111347056643213]},"properties":{"OBJECTID":"818","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[23.59204305311679,4.798809270727129]},"properties":{"OBJECTID":"819","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[174.8789759186361,88.58681828286154]},"properties":{"OBJECTID":"820","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[94.29716536060407,18.272893801248074]},"properties":{"OBJECTID":"821","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[50.43093290875401,32.568484230923985]},"properties":{"OBJECTID":"822","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[82.10999892908848,74.90290200594309]},"properties":{"OBJECTID":"823","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[142.7192060849018,31.276352532772314]},"properties":{"OBJECTID":"824","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[90.74691848287101,47.95543187522753]},"properties":{"OBJECTID":"825","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[108.88033872059148,16.9419254981656]},"properties":{"OBJECTID":"826","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[88.98109320753149,16.759505162942137]},"properties":{"OBJECTID":"827","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[19.244202451677033,68.89580544184568]},"properties":{"OBJECTID":"828","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[138.83363225743958,60.529956811222306]},"properties":{"OBJECTID":"829","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[47.219648909982936,26.582128038637777]},"properties":{"OBJECTID":"830","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[123.5271164110382,13.227461888807303]},"properties":{"OBJECTID":"831","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[131.61350560479542,13.164934880668028]},"properties":{"OBJECTID":"832","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[163.72635997495274,5.792363995485468]},"properties":{"OBJECTID":"833","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.02879066552795,73.87856398539178]},"properties":{"OBJECTID":"834","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[34.95000004581294,1.1649222464839326]},"properties":{"OBJECTID":"835","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[21.979372014293116,47.82233224560537]},"properties":{"OBJECTID":"836","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[63.768528868484054,39.29748054197442]},"properties":{"OBJECTID":"837","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[99.23713634749649,69.6342709449068]},"properties":{"OBJECTID":"838","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[9.036009790703293,14.163554692217417]},"properties":{"OBJECTID":"839","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[159.71988130043638,34.06162524756784]},"properties":{"OBJECTID":"840","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[48.64695855986087,78.01875561040205]},"properties":{"OBJECTID":"841","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[60.26691865935136,81.31119002122139]},"properties":{"OBJECTID":"842","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[20.39804490617192,44.26787909855119]},"properties":{"OBJECTID":"843","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[176.73990243458388,10.160806758841385]},"properties":{"OBJECTID":"844","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[132.4434527644991,76.81921985012877]},"properties":{"OBJECTID":"845","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[9.2085513822874,37.70588380868017]},"properties":{"OBJECTID":"846","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[46.761401805281636,26.62767364621289]},"properties":{"OBJECTID":"847","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[163.49489893648555,9.978489287813545]},"properties":{"OBJECTID":"848","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[80.4555631239596,41.0298542198774]},"properties":{"OBJECTID":"849","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.838517751637167,24.989019897202283]},"properties":{"OBJECTID":"850","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[12.692469845794005,86.30923662779212]},"properties":{"OBJECTID":"851","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[19.603563576895837,38.418028603485084]},"properties":{"OBJECTID":"852","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[86.45199113640328,27.512993775309603]},"properties":{"OBJECTID":"853","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[87.64447206144396,26.86622166709954]},"properties":{"OBJECTID":"854","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[168.67447821237175,64.45627677635923]},"properties":{"OBJECTID":"855","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[23.908692320314188,68.21001112659594]},"properties":{"OBJECTID":"856","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[7.584363432286669,11.335187458041387]},"properties":{"OBJECTID":"857","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[152.9520084805457,27.988949245316853]},"properties":{"OBJECTID":"858","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[23.735459743906404,87.12171018092583]},"properties":{"OBJECTID":"859","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[0.4475825290610391,43.3946812583507]},"properties":{"OBJECTID":"860","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[43.79987913849301,46.559224969572895]},"properties":{"OBJECTID":"861","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[67.09302994084769,23.857644880126017]},"properties":{"OBJECTID":"862","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[34.33220049320194,52.20077178904308]},"properties":{"OBJECTID":"863","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[172.93771946091397,8.320526683943008]},"properties":{"OBJECTID":"864","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[110.84333165755807,82.58606362915155]},"properties":{"OBJECTID":"865","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[98.66535786695992,62.53652631520065]},"properties":{"OBJECTID":"866","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[145.64985377594192,48.41250006246944]},"properties":{"OBJECTID":"867","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.5104367442386275,58.26928379027274]},"properties":{"OBJECTID":"868","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[56.670990045300854,31.619325524896286]},"properties":{"OBJECTID":"869","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[145.24495126883764,41.51224250130755]},"properties":{"OBJECTID":"870","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[100.41647085855928,35.20318468916267]},"properties":{"OBJECTID":"871","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[136.71791031361937,86.35712006060665]},"properties":{"OBJECTID":"872","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[161.3601000399265,85.31634257848273]},"properties":{"OBJECTID":"873","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[21.793783780552786,55.464583269849385]},"properties":{"OBJECTID":"874","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[158.79067092548124,35.2574510612122]},"properties":{"OBJECTID":"875","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[144.10114461758369,42.33463699698576]},"properties":{"OBJECTID":"876","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[82.55510626004151,19.119461670784993]},"properties":{"OBJECTID":"877","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[179.61107899847804,43.3651114762402]},"properties":{"OBJECTID":"878","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[121.92613177273924,18.2862358804056]},"properties":{"OBJECTID":"879","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[169.57053084470294,2.108432478930169]},"properties":{"OBJECTID":"880","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[151.280620451355,66.04147003591723]},"properties":{"OBJECTID":"881","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[158.00794307848804,9.173450348357008]},"properties":{"OBJECTID":"882","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.403502613316398,65.14686550759224]},"properties":{"OBJECTID":"883","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[15.794655243903168,87.8343514824721]},"properties":{"OBJECTID":"884","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[157.8279361541387,80.49053713032723]},"properties":{"OBJECTID":"885","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[49.524480283387284,87.6132391668188]},"properties":{"OBJECTID":"886","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[160.0173334035311,52.63537266875805]},"properties":{"OBJECTID":"887","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[47.64344049297586,61.091129910151]},"properties":{"OBJECTID":"888","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[114.23860839619985,10.652959455761739]},"properties":{"OBJECTID":"889","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[138.09820046989543,77.52181760968433]},"properties":{"OBJECTID":"890","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[97.44592831239488,67.5466340494209]},"properties":{"OBJECTID":"891","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[103.93421237965646,5.213332068160148]},"properties":{"OBJECTID":"892","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[151.43287781416484,9.803116875119436]},"properties":{"OBJECTID":"893","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[134.95094703123675,63.45627765694408]},"properties":{"OBJECTID":"894","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[77.74545372825737,24.112161052822966]},"properties":{"OBJECTID":"895","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[118.04924100615473,78.14157765784446]},"properties":{"OBJECTID":"896","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[9.504557925496794,56.989099953148205]},"properties":{"OBJECTID":"897","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[59.73591219267608,46.04139926050131]},"properties":{"OBJECTID":"898","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[179.97291311749032,30.039258226335185]},"properties":{"OBJECTID":"899","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[6.95922015000801,75.8095388197661]},"properties":{"OBJECTID":"900","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[108.67370637591955,10.833727362547698]},"properties":{"OBJECTID":"901","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[152.12702207229617,87.64920659236088]},"properties":{"OBJECTID":"902","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[69.45760944156005,3.1456011824805175]},"properties":{"OBJECTID":"903","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[61.35358968341831,37.32288361161694]},"properties":{"OBJECTID":"904","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[41.39653490361897,72.6582145716592]},"properties":{"OBJECTID":"905","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[80.5663378142074,76.32271293970358]},"properties":{"OBJECTID":"906","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[130.3737820711215,81.63003652941913]},"properties":{"OBJECTID":"907","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[61.13266118336007,6.853220624884033]},"properties":{"OBJECTID":"908","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[67.14101075300817,36.755805585398434]},"properties":{"OBJECTID":"909","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[35.36343320560013,11.740891125871107]},"properties":{"OBJECTID":"910","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[164.42952528640905,66.46279675865247]},"properties":{"OBJECTID":"911","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[48.33497076797435,67.48722065652147]},"properties":{"OBJECTID":"912","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[88.37109213216462,57.68636331882442]},"properties":{"OBJECTID":"913","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[111.704699383367,56.3206338218605]},"properties":{"OBJECTID":"914","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[134.28415751339145,59.42862141051145]},"properties":{"OBJECTID":"915","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[15.413665940337808,37.249962436242484]},"properties":{"OBJECTID":"916","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[17.38119577823394,43.33150875961599]},"properties":{"OBJECTID":"917","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[35.76668678729649,44.53563947787812]},"properties":{"OBJECTID":"918","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[173.98290541151206,48.85086871854812]},"properties":{"OBJECTID":"919","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[55.446674903187784,67.75786229800624]},"properties":{"OBJECTID":"920","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[112.4016413311823,10.334638075809604]},"properties":{"OBJECTID":"921","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[17.871702344166756,54.245543732476754]},"properties":{"OBJECTID":"922","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[41.89071274570115,2.334800221622928]},"properties":{"OBJECTID":"923","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[170.818983967326,86.55253102634089]},"properties":{"OBJECTID":"924","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[97.60006368382892,29.85799029727426]},"properties":{"OBJECTID":"925","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[155.3702339197102,74.07220818929457]},"properties":{"OBJECTID":"926","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[149.89670005888252,65.78561794565132]},"properties":{"OBJECTID":"927","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[49.486907854986356,36.7446318363152]},"properties":{"OBJECTID":"928","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[127.21814939825555,36.62805554832665]},"properties":{"OBJECTID":"929","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[109.9529111159712,68.73214906857957]},"properties":{"OBJECTID":"930","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[26.135252023843908,77.43686335271505]},"properties":{"OBJECTID":"931","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[156.8167785825804,8.385318502077688]},"properties":{"OBJECTID":"932","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[70.6335222088971,17.710277360942687]},"properties":{"OBJECTID":"933","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[146.24696769386912,85.79761713250936]},"properties":{"OBJECTID":"934","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[158.10376205990335,9.248721339078463]},"properties":{"OBJECTID":"935","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[144.75308282205975,3.642264322665414]},"properties":{"OBJECTID":"936","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[109.04910951950008,31.268525328452444]},"properties":{"OBJECTID":"937","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[159.42278537272998,26.393777194804038]},"properties":{"OBJECTID":"938","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[114.44141167572343,32.33114861308767]},"properties":{"OBJECTID":"939","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[70.43241987459716,73.7779354126888]},"properties":{"OBJECTID":"940","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[155.09602044343762,86.8136275809264]},"properties":{"OBJECTID":"941","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[57.41589029074304,3.2863766719698795]},"properties":{"OBJECTID":"942","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[37.64987768647722,75.84954351401625]},"properties":{"OBJECTID":"943","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[18.95769925691758,38.87194142648286]},"properties":{"OBJECTID":"944","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[120.76666967586783,13.488466407161726]},"properties":{"OBJECTID":"945","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[107.8346567304153,25.65840370506912]},"properties":{"OBJECTID":"946","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[23.058495090859008,89.54182474982831]},"properties":{"OBJECTID":"947","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[91.86688434573571,11.021411295121839]},"properties":{"OBJECTID":"948","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[125.42031552317593,29.968330022199652]},"properties":{"OBJECTID":"949","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[165.72777264549927,73.52640081485569]},"properties":{"OBJECTID":"950","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[104.68945792529087,7.420210549625064]},"properties":{"OBJECTID":"951","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[82.34765073364503,32.202955574851096]},"properties":{"OBJECTID":"952","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[162.65299656779214,5.132239091277164]},"properties":{"OBJECTID":"953","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[130.36285818783438,57.95309673088813]},"properties":{"OBJECTID":"954","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[7.130189703762486,78.49713708534065]},"properties":{"OBJECTID":"955","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[44.287200551080865,72.4307927824146]},"properties":{"OBJECTID":"956","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[11.299243253973806,62.82472341051587]},"properties":{"OBJECTID":"957","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[45.93892173742673,11.414648510025495]},"properties":{"OBJECTID":"958","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[71.06473560398729,36.65457763732555]},"properties":{"OBJECTID":"959","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[108.16387384064097,44.21712755331593]},"properties":{"OBJECTID":"960","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[62.943942093027154,71.43097661477493]},"properties":{"OBJECTID":"961","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[79.05540008194437,32.1541341715607]},"properties":{"OBJECTID":"962","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[31.65780012382595,59.74020563013538]},"properties":{"OBJECTID":"963","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[61.84351624022648,82.56435025910261]},"properties":{"OBJECTID":"964","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[63.16870250788434,32.295473630718185]},"properties":{"OBJECTID":"965","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[42.56664416995997,43.91762456248211]},"properties":{"OBJECTID":"966","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[127.69057462917439,11.468597180314928]},"properties":{"OBJECTID":"967","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.812250759578099,87.06728917637147]},"properties":{"OBJECTID":"968","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[102.45963321279824,24.252392203692988]},"properties":{"OBJECTID":"969","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[163.03279259985325,33.50621340156512]},"properties":{"OBJECTID":"970","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[33.17890724045429,73.71540314778007]},"properties":{"OBJECTID":"971","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[8.422715467083037,15.423341407757745]},"properties":{"OBJECTID":"972","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[122.69058912696478,35.55454906004854]},"properties":{"OBJECTID":"973","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[28.76531634904979,45.08877888847971]},"properties":{"OBJECTID":"974","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[80.30631729684129,37.005553720617996]},"properties":{"OBJECTID":"975","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[53.65659417799772,79.85378279066472]},"properties":{"OBJECTID":"976","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[128.8239729031795,43.24429986651624]},"properties":{"OBJECTID":"977","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[112.00786550850636,40.78969300983131]},"properties":{"OBJECTID":"978","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[46.51255150983723,10.477056054211424]},"properties":{"OBJECTID":"979","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[97.25062572922216,14.9968363837219]},"properties":{"OBJECTID":"980","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[155.68670465287255,4.010837388876592]},"properties":{"OBJECTID":"981","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[140.09536056769286,19.62654228766571]},"properties":{"OBJECTID":"982","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[130.41915332766072,45.14627469587566]},"properties":{"OBJECTID":"983","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[143.5574472895527,35.76782443729244]},"properties":{"OBJECTID":"984","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[9.18939226467307,83.84906377859488]},"properties":{"OBJECTID":"985","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[72.50317195577458,59.76652411213808]},"properties":{"OBJECTID":"986","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[31.27408728974568,9.904846848576558]},"properties":{"OBJECTID":"987","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[20.733662508399355,29.56285346892951]},"properties":{"OBJECTID":"988","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[45.39787266085446,87.39160615810108]},"properties":{"OBJECTID":"989","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[16.18225722701878,17.571114584378588]},"properties":{"OBJECTID":"990","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[51.21048470488626,51.03398263404195]},"properties":{"OBJECTID":"991","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[88.60556753728238,7.725352845501785]},"properties":{"OBJECTID":"992","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[99.05476731445893,82.58129323430374]},"properties":{"OBJECTID":"993","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[78.51941643743218,52.94688638514372]},"properties":{"OBJECTID":"994","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[43.29276419977542,48.54585813494275]},"properties":{"OBJECTID":"995","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[15.168176698011472,35.25648537941086]},"properties":{"OBJECTID":"996","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[167.12680028982345,27.633070659465293]},"properties":{"OBJECTID":"997","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[153.87394890522043,44.76388869654998]},"properties":{"OBJECTID":"998","direction":"west"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[73.651758598083,18.419019020379654]},"properties":{"OBJECTID":"999","direction":"east"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[60.666518150095705,74.72077704284574]},"properties":{"OBJECTID":"1000","direction":"west"}}]} \ No newline at end of file diff --git a/packages/winnow/benchmark/index.js b/packages/winnow/benchmark/index.js deleted file mode 100644 index f8dfa93bf..000000000 --- a/packages/winnow/benchmark/index.js +++ /dev/null @@ -1,37 +0,0 @@ -const Benchmark = require('benchmark'); -const fs = require('fs-extra'); -const path = require('path'); -const winnow = require('../src/index.js'); - -const features = fs.readJSONSync(path.join(__dirname, './fixtures.geojson')).features; -const suite = new Benchmark.Suite(); - -suite - .add('query all', function () { - winnow.query(features, { - where: '1=1' - }); - }) - .add('query with filter', function () { - winnow.query(features, { - where: 'OBJECTID = \'east\'' - }); - }) - .add('query with geo filter', function () { - winnow.query(features, { - geometry: { - xmin: 50, - ymin: 50, - xmax: 80, - ymax: 80, - spatialReference: { - wkid: '4326' - } - }, - spatialPredicate: 'ST_Within' - }); - }) - .on('cycle', function (event) { - console.log(String(event.target)); - }) - .run({ async: true }); diff --git a/packages/winnow/coverage-unit.svg b/packages/winnow/coverage-unit.svg deleted file mode 100644 index c2e24087a..000000000 --- a/packages/winnow/coverage-unit.svg +++ /dev/null @@ -1,20 +0,0 @@ - - coverage: 96.49% - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/winnow/coverage.svg b/packages/winnow/coverage.svg deleted file mode 100644 index 26e4e2603..000000000 --- a/packages/winnow/coverage.svg +++ /dev/null @@ -1,20 +0,0 @@ - - coverage: 98.33% - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/winnow/index.d.ts b/packages/winnow/index.d.ts deleted file mode 100644 index f3d62c592..000000000 --- a/packages/winnow/index.d.ts +++ /dev/null @@ -1,120 +0,0 @@ -import { Feature, FeatureCollection, Geometry } from 'geojson'; - -/** - * Aggregation definition - */ -export interface IAggregateDef { - /** - * type - */ - type: 'sum' | 'avg' | 'count' | 'max' | 'min' | 'first' | 'last' - - /** - * Data field name - */ - field: string - - /** - * Aggregation field name - */ - name?: string -} - -/** - * Classes-break classification definition - */ -export interface IClassesBreakClassidicationDef { - type: 'classes', - field: string, - method: 'equalInterval' | 'naturalBreaks' | 'quantile' | 'std', - breakCount: number, - normType?: 'field' | 'log' | 'percent', - normField?: string -} - -/** - * Unique value classification definition - */ -export interface IUniqueValueClassidicationDef { - type: 'unique', - fields: string[] -} - -export interface IQueryOptions { - /** - * A sql where statement - */ - where?: string - - /** - * GeoJSON or Esri geometry Object - */ - geometry?: Geometry - - /** - * Spatial predicate - */ - spatialPredicate?: 'ST_Within' | 'ST_Contains' | 'ST_Intersects' - - /** - * Set of fields to select from feature properties - */ - fields?: string[] - - /** - * Describes the set of aggregations to perform on fields - */ - aggregates?: IAggregateDef[] - - /** - * Set of fields for grouping statistics - */ - groupBy?: string[] - - /** - * number of results to return - */ - number?: number - - /** - * number of return features to offset - */ - offset?: number - - /** - * Set of fields or aggregates by which to order results - */ - order?: string[] - - /** - * An EPSG code, an OGC WKT or an ESRI WKT used to convert geometry - */ - outputCrs?: string | number - - /** - * An EPSG code, an OGC WKT or an ESRI WKT defining the coordinate system of the input data. Defaults to 4326 (WGS84) - */ - inputCrs?: string | number - - /** - * Whether to return Esri feature collection - */ - toEsri?: boolean - - /** - * Number of digits to appear after decimal point for geometry - */ - geometryPrecision?: number - - /** - * GeoJSON or geoservices classification Object - */ - classification?: IClassesBreakClassidicationDef | IUniqueValueClassidicationDef -} - -/** - * Build and apply a query to a feature collection object or an array of features - * @param features a feature collection object or an array of features - * @param options query options - */ -export function query(features: Feature[] | FeatureCollection, options: IQueryOptions): Feature[] \ No newline at end of file diff --git a/packages/winnow/package.json b/packages/winnow/package.json index 5549897dc..e1e78e112 100644 --- a/packages/winnow/package.json +++ b/packages/winnow/package.json @@ -1,55 +1,14 @@ { - "name": "@koopjs/winnow", + "name": "winnow", "version": "4.1.1", - "description": "Apply sql-like filters to GeoJSON", "main": "src/index.js", - "directories": { - "test": "test" - }, "scripts": { - "test": "tape **/*.spec.js | tap-spec", - "test:cov": "nyc -r=json-summary tape '**/*.spec.js' | tap-spec && npm run cov:badge && npm run test:cov:unit", - "test:cov:unit": "nyc -r=json-summary --report-dir=coverage_unit --temp-dir=.nyc_output_unit tape 'src/**/*.spec.js' | tap-spec && npm run cov:badge:unit", - "test:cov:unit:loc": "nyc -r=html --report-dir=coverage_unit --temp-dir=.nyc_output_unit tape 'src/**/*.spec.js' | tap-spec && npm run cov:badge:unit", - "cov:badge": "coverage-badges-cli --output ./coverage.svg", - "cov:badge:unit": "coverage-badges-cli --source coverage_unit/coverage-summary.json --output ./coverage-unit.svg", - "benchmark": "node benchmark/index.js", - "benchmark:ci": "node benchmark/index.js | tee benchmark-result.txt" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/koopjs/winnow.git" + "clean": "shx rm -rf ../../customdata/framework/winnow && shx rm package-lock.json", + "build": "shx mkdir ../../customdata/framework/winnow && shx cp package.json ../../customdata/framework/winnow && shx cp -r ./src ../../customdata/framework/winnow && shx cp -r ./node_modules ../../customdata/framework/winnow" }, - "keywords": [ - "geojson", - "filter", - "stream", - "sql", - "geoservices", - "query" - ], - "contributors": [ - { - "name": "Rich Gwozdz", - "email": "rgwozdz@esri.com" - }, - { - "name": "Daniel Fenton" - } - ], "license": "Apache-2.0", - "files": [ - "src/**/*.js", - "index.d.ts", - "!**/*.spec.js" - ], - "bugs": { - "url": "https://github.com/koopjs/koop/issues" - }, - "homepage": "https://github.com/koopjs/koop#readme", "dependencies": { "@esri/proj-codes": "^3.1.0", - "@koopjs/logger": "5.0.0", "@terraformer/arcgis": "^2.1.1", "@terraformer/spatial": "^2.1.2", "@turf/bbox-polygon": "^6.5.0", @@ -67,16 +26,7 @@ "string-hash": "^1.1.3", "wkt-parser": "^1.2.2" }, - "devDependencies": { - "benchmark": "^2.1.4", - "fs-extra": "^11.0.0", - "proxyquire": "^2.1.3", - "sinon": "^15.0.0", - "tap-spec": "^5.0.0", - "tape": "^5.6.6" - }, "optionalDependencies": { "farmhash": "^3.1.0" - }, - "types": "index.d.ts" + } } diff --git a/packages/winnow/src/calculate-class-breaks/calculate-std-dev-intervals.spec.js b/packages/winnow/src/calculate-class-breaks/calculate-std-dev-intervals.spec.js deleted file mode 100644 index 8af6fec20..000000000 --- a/packages/winnow/src/calculate-class-breaks/calculate-std-dev-intervals.spec.js +++ /dev/null @@ -1,10 +0,0 @@ -const test = require('tape'); -const calculateStdDevIntervals = require('./calculate-std-dev-intervals'); - -test('calculateStdDevIntervals: invalid std dev interval', (spec) => { - const result = calculateStdDevIntervals([5, 6, 7, 6, 9, 2, 12, 15, 8, 40], { - stddev_intv: 0.33, - }); - spec.deepEquals(result, [5.866775, 16.133225]); - spec.end(); -}); diff --git a/packages/winnow/src/calculate-class-breaks/filter-and-validate-classification-features.spec.js b/packages/winnow/src/calculate-class-breaks/filter-and-validate-classification-features.spec.js deleted file mode 100644 index 09ad8742d..000000000 --- a/packages/winnow/src/calculate-class-breaks/filter-and-validate-classification-features.spec.js +++ /dev/null @@ -1,34 +0,0 @@ -const test = require('tape'); -const filterAndValidateClassificationValues = require('./filter-and-validate-classification-features'); - -test('filterAndValidateClassificationValues: success', (spec) => { - const features = [ - { properties: { rain: 0.1 } }, - { properties: { rain: '0.1' } }, - { properties: { rain: 0 } }, - { properties: {} }, - ]; - const result = filterAndValidateClassificationValues(features, 'rain'); - spec.deepEquals(result, [0.1, 0.1, 0]); - spec.end(); -}); - -test('filterAndValidateClassificationValues: should throw error', (spec) => { - const features = [ - { properties: { rain: 0.1 } }, - { properties: { rain: 'foo' } }, - { properties: { rain: 0 } }, - { properties: {} }, - ]; - - try { - filterAndValidateClassificationValues(features, 'rain'); - spec.fail('should throw error'); - } catch (error) { - spec.equals( - error.message, - 'Cannot use non-numeric classificationField, rain: "foo"', - ); - } - spec.end(); -}); diff --git a/packages/winnow/src/calculate-class-breaks/index.spec.js b/packages/winnow/src/calculate-class-breaks/index.spec.js deleted file mode 100644 index fed1ccefd..000000000 --- a/packages/winnow/src/calculate-class-breaks/index.spec.js +++ /dev/null @@ -1,273 +0,0 @@ -const test = require('tape'); -const calculateClassBreaks = require('./index.js'); - -test('calculateClassBreaks: no breakCount', (t) => { - t.plan(1); - const features = [ - { properties: { Trunk_Diameter: 13 } }, - { properties: { Trunk_Diameter: 7 } }, - { properties: { Trunk_Diameter: 17 } }, - { properties: { Trunk_Diameter: 25 } }, - { properties: { Trunk_Diameter: 3 } }, - ]; - const classification = { - type: 'classes', - field: 'Trunk_Diameter', - method: 'equalInterval', - }; - - try { - calculateClassBreaks(features, classification); - t.fail('should have thrown'); - } catch (error) { - t.equals(error.message, 'must supply classification.breakCount'); - } -}); - -test('calculateClassBreaks: no method', (t) => { - t.plan(1); - const features = [ - { properties: { Trunk_Diameter: 13 } }, - { properties: { Trunk_Diameter: 7 } }, - { properties: { Trunk_Diameter: 17 } }, - { properties: { Trunk_Diameter: 25 } }, - { properties: { Trunk_Diameter: 3 } }, - ]; - const classification = { - type: 'classes', - field: 'Trunk_Diameter', - }; - - try { - calculateClassBreaks(features, classification); - t.fail('should have thrown'); - } catch (error) { - t.equals(error.message, 'must supply classification.method'); - } -}); - -test('calculateClassBreaks: field not found', (t) => { - t.plan(1); - const features = [ - { properties: { Trunk_Diameter: 13 } }, - { properties: { Trunk_Diameter: 7 } }, - { properties: { Trunk_Diameter: 17 } }, - { properties: { Trunk_Diameter: 25 } }, - { properties: { Trunk_Diameter: 3 } }, - ]; - const classification = { - type: 'classes', - method: 'equalInterval', - field: 'foodbar', - breakCount: 3, - }; - - try { - calculateClassBreaks(features, classification); - t.fail('should have thrown'); - } catch (error) { - t.equals(error.message, '"foodbar" was not found on any feature.'); - } -}); - -test('calculateClassBreaks: equal interval', (t) => { - t.plan(1); - const features = [ - { properties: { Trunk_Diameter: 13 } }, - { properties: { Trunk_Diameter: 7 } }, - { properties: { Trunk_Diameter: 17 } }, - { properties: { Trunk_Diameter: 25 } }, - { properties: { Trunk_Diameter: 3 } }, - ]; - const classification = { - type: 'classes', - field: 'Trunk_Diameter', - method: 'equalInterval', - breakCount: 3, - }; - - const result = calculateClassBreaks(features, classification); - t.deepEquals(result, [ - [3, 10.333333333333332], - [10.333333333333334, 17.666666666666664], - [17.666666666666664, 25], - ]); -}); - -test('calculateClassBreaks: stddev', (t) => { - t.plan(1); - const features = [ - { properties: { Trunk_Diameter: 13 } }, - { properties: { Trunk_Diameter: 7 } }, - { properties: { Trunk_Diameter: 17 } }, - { properties: { Trunk_Diameter: 25 } }, - { properties: { Trunk_Diameter: 3 } }, - ]; - const classification = { - type: 'classes', - field: 'Trunk_Diameter', - method: 'stddev', - stddev_intv: 0.5, - breakCount: 3, - }; - - const result = calculateClassBreaks(features, classification); - t.deepEquals(result, [ - [-13.929538, -6.235385], - [-6.235384, 1.458768], - [1.458769, 9.152922], - [9.152923, 16.847077], - [16.847078, 24.541231], - [24.541232, 32.235384], - [32.235385, 39.929538], - ]); -}); - -test('calculateClassBreaks: natural breaks', (t) => { - t.plan(1); - const features = [ - { properties: { Trunk_Diameter: 13 } }, - { properties: { Trunk_Diameter: 7 } }, - { properties: { Trunk_Diameter: 17 } }, - { properties: { Trunk_Diameter: 25 } }, - { properties: { Trunk_Diameter: 3 } }, - ]; - const classification = { - type: 'classes', - field: 'Trunk_Diameter', - method: 'naturalBreaks', - breakCount: 3, - }; - - const result = calculateClassBreaks(features, classification); - t.deepEquals(result, [ - [3, 7], - [8, 17], - [18, 25], - ]); -}); - -test('calculateClassBreaks: quantile', (t) => { - t.plan(1); - const features = [ - { properties: { Trunk_Diameter: 13 } }, - { properties: { Trunk_Diameter: 7 } }, - { properties: { Trunk_Diameter: 17 } }, - { properties: { Trunk_Diameter: 25 } }, - { properties: { Trunk_Diameter: 3 } }, - ]; - const classification = { - type: 'classes', - field: 'Trunk_Diameter', - method: 'quantile', - breakCount: 3, - }; - - const result = calculateClassBreaks(features, classification); - t.deepEquals(result, [ - [3, 7], - [8, 17], - [18, 25], - ]); -}); - -test('calculateClassBreaks: normalize by field', (t) => { - t.plan(1); - const features = [ - { properties: { age: 10, Trunk_Diameter: 13 } }, - { properties: { age: 5, Trunk_Diameter: 7 } }, - { properties: { age: 13, Trunk_Diameter: 17 } }, - { properties: { age: 20, Trunk_Diameter: 25 } }, - { properties: { age: 3, Trunk_Diameter: 3 } }, - ]; - const classification = { - type: 'classes', - field: 'Trunk_Diameter', - method: 'equalInterval', - breakCount: 3, - normType: 'field', - normField: 'age', - }; - - const result = calculateClassBreaks(features, classification); - t.deepEquals(result, [ - [1, 1.1333333333333333], - [1.1333333333333333, 1.2666666666666666], - [1.2666666666666666, 1.4], - ]); -}); - -test('calculateClassBreaks: normalize by log', (t) => { - t.plan(1); - const features = [ - { properties: { age: 10, Trunk_Diameter: 13 } }, - { properties: { age: 5, Trunk_Diameter: 7 } }, - { properties: { age: 13, Trunk_Diameter: 17 } }, - { properties: { age: 20, Trunk_Diameter: 25 } }, - { properties: { age: 3, Trunk_Diameter: 3 } }, - ]; - const classification = { - type: 'classes', - field: 'Trunk_Diameter', - method: 'equalInterval', - breakCount: 3, - normType: 'log', - }; - - const result = calculateClassBreaks(features, classification); - t.deepEquals(result, [ - [0.47712125471966244, 0.7840608393704542], - [0.7840608393704543, 1.091000424021246], - [1.091000424021247, 1.3979400086720377], - ]); -}); - -test('calculateClassBreaks: normalize by percent', (t) => { - t.plan(1); - const features = [ - { properties: { age: 10, Trunk_Diameter: 13 } }, - { properties: { age: 5, Trunk_Diameter: 7 } }, - { properties: { age: 13, Trunk_Diameter: 17 } }, - { properties: { age: 20, Trunk_Diameter: 25 } }, - { properties: { age: 3, Trunk_Diameter: 3 } }, - ]; - const classification = { - type: 'classes', - field: 'Trunk_Diameter', - method: 'equalInterval', - breakCount: 3, - normType: 'percent', - }; - - const result = calculateClassBreaks(features, classification); - t.deepEquals(result, [ - [4.615384615384616, 15.897435897435901], - [15.897435897435903, 27.179487179487186], - [27.179487179487186, 38.46153846153847], - ]); -}); - -test('calculateClassBreaks: null values not used in breaks calculation', (t) => { - t.plan(1); - const features = [ - { properties: { Trunk_Diameter: 13 } }, - { properties: { Trunk_Diameter: null } }, - { properties: { Trunk_Diameter: 7 } }, - { properties: { Trunk_Diameter: 17 } }, - { properties: { Trunk_Diameter: 25 } }, - { properties: { Trunk_Diameter: 3 } }, - ]; - const classification = { - type: 'classes', - field: 'Trunk_Diameter', - method: 'equalInterval', - breakCount: 3, - }; - - const result = calculateClassBreaks(features, classification); - t.deepEquals(result, [ - [3, 10.333333333333332], - [10.333333333333334, 17.666666666666664], - [17.666666666666664, 25], - ]); -}); diff --git a/packages/winnow/src/calculate-class-breaks/normalize-classification-values.spec.js b/packages/winnow/src/calculate-class-breaks/normalize-classification-values.spec.js deleted file mode 100644 index c6583c4a2..000000000 --- a/packages/winnow/src/calculate-class-breaks/normalize-classification-values.spec.js +++ /dev/null @@ -1,207 +0,0 @@ -const test = require('tape'); -const normalizeClassificationValues = require('./normalize-classification-values'); - -test('nomalizeClassificationValue: unsupported method', (spec) => { - try { - normalizeClassificationValues([], { normType: 'unsupported' }); - spec.fail('should have thrown error'); - } catch (error) { - spec.equals(error.message, 'Normalization not supported: unsupported'); - } - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by field, field undefined', (spec) => { - try { - normalizeClassificationValues([], { normType: 'field' }); - spec.fail('should have thrown error'); - } catch (error) { - spec.equals(error.message, 'Normalization field is undefined'); - } - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by field, no classification field', (spec) => { - try { - normalizeClassificationValues([], { normType: 'field', normField: 'foo' }); - spec.fail('should have thrown error'); - } catch (error) { - spec.equals(error.message, 'Classification field is undefined'); - } - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by field, fields not found', (spec) => { - try { - normalizeClassificationValues([], { - normType: 'field', - normField: 'foo', - field: 'booz', - }); - spec.fail('should have thrown error'); - } catch (error) { - spec.equals( - error.message, - 'Classification field "booz" and normalization field "foo" were not found on any feature.', - ); - } - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by field, normalization field not found in feature', (spec) => { - try { - normalizeClassificationValues([{ properties: { booz: 1 } }], { - normType: 'field', - normField: 'foo', - field: 'booz', - }); - spec.fail('should have thrown error'); - } catch (error) { - spec.equals( - error.message, - 'Classification field "booz" and normalization field "foo" were not found on any feature.', - ); - } - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by field, normalization field is non-numeric', (spec) => { - try { - normalizeClassificationValues( - [{ properties: { booz: 1, foo: 'string' } }], - { normType: 'field', normField: 'foo', field: 'booz' }, - ); - spec.fail('should have thrown error'); - } catch (error) { - spec.equals( - error.message, - 'Cannot use non-numeric normalizationField, foo: "string"', - ); - } - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by field, classification field is non-numeric', (spec) => { - try { - normalizeClassificationValues( - [{ properties: { booz: 'string', foo: 10 } }], - { normType: 'field', normField: 'foo', field: 'booz' }, - ); - spec.fail('should have thrown error'); - } catch (error) { - spec.equals( - error.message, - 'Cannot use non-numeric classificationField, booz: "string"', - ); - } - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by field', (spec) => { - const result = normalizeClassificationValues( - [{ properties: { booz: 1, foo: 10 } }], - { normType: 'field', normField: 'foo', field: 'booz' }, - ); - spec.deepEquals(result, [0.1]); - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by log, normalization field not found in feature', (spec) => { - try { - normalizeClassificationValues([{ properties: {} }], { - normType: 'log', - field: 'booz', - }); - spec.fail('should have thrown error'); - } catch (error) { - spec.equals( - error.message, - 'Classification field "booz" was not found on any feature.', - ); - } - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by log, normalization field is non-numeric', (spec) => { - try { - normalizeClassificationValues([{ properties: { booz: 'string' } }], { - normType: 'log', - field: 'booz', - }); - spec.fail('should have thrown error'); - } catch (error) { - spec.equals( - error.message, - 'Cannot use non-numeric classificationField, booz: "string"', - ); - } - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by log, less than 0', (spec) => { - const result = normalizeClassificationValues([{ properties: { booz: -1 } }], { - normType: 'log', - field: 'booz', - }); - spec.deepEquals(result, [0]); - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by log, 0', (spec) => { - const result = normalizeClassificationValues([{ properties: { booz: 0 } }], { - normType: 'log', - field: 'booz', - }); - spec.deepEquals(result, [0]); - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by log', (spec) => { - const result = normalizeClassificationValues( - [{ properties: { booz: 200 } }], - { normType: 'log', field: 'booz' }, - ); - spec.deepEquals(result, [2.3010299956639813]); - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by percent, classification field not found in feature', (spec) => { - try { - normalizeClassificationValues([{ properties: {} }, { properties: {} }], { - normType: 'percent', - field: 'booz', - }); - spec.fail('should have thrown error'); - } catch (error) { - spec.equals( - error.message, - 'Cannot normalize by percent because value total is not greater than 0: 0', - ); - } - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by percent, value total <= 0', (spec) => { - try { - normalizeClassificationValues( - [{ properties: { booz: 1 } }, { properties: { booz: -2 } }], - { normType: 'percent', field: 'booz' }, - ); - spec.fail('should have thrown error'); - } catch (error) { - spec.equals( - error.message, - 'Cannot normalize by percent because value total is not greater than 0: -1', - ); - } - spec.end(); -}); - -test('nomalizeClassificationValue: normalize by percent', (spec) => { - const result = normalizeClassificationValues( - [{ properties: { booz: 1 } }, { properties: { booz: 9 } }], - { normType: 'percent', field: 'booz' }, - ); - spec.deepEquals(result, [10, 90]); - spec.end(); -}); diff --git a/packages/winnow/src/calculate-class-breaks/transform-class-breaks-to-ranges.spec.js b/packages/winnow/src/calculate-class-breaks/transform-class-breaks-to-ranges.spec.js deleted file mode 100644 index 1c353f911..000000000 --- a/packages/winnow/src/calculate-class-breaks/transform-class-breaks-to-ranges.spec.js +++ /dev/null @@ -1,29 +0,0 @@ -const test = require('tape'); -const transformClassBreaksToRanges = require('./transform-class-breaks-to-ranges'); - -test('transformClassBreaksToRanges: non-stddev', (spec) => { - const result = transformClassBreaksToRanges([ - -3.01, -1.02, 2.01, 6.003, 9.004, - ]); - spec.deepEquals(result, [ - [-3.01, -1.02], - [-1.01, 2.01], - [2.02, 6.003], - [6.004, 9.004], - ]); - spec.end(); -}); - -test('transformClassBreaksToRanges: stddev', (spec) => { - const result = transformClassBreaksToRanges( - [-3.01, -1.02, 2.01, 6.003, 9.004], - { method: 'stddev' }, - ); - spec.deepEquals(result, [ - [-3.01, -1.03], - [-1.02, 2], - [2.01, 6.003], - [6.004, 9.004], - ]); - spec.end(); -}); diff --git a/packages/winnow/src/filter-and-transform/filter-and-transform.spec.js b/packages/winnow/src/filter-and-transform/filter-and-transform.spec.js deleted file mode 100644 index dbc20565d..000000000 --- a/packages/winnow/src/filter-and-transform/filter-and-transform.spec.js +++ /dev/null @@ -1,90 +0,0 @@ -const test = require('tape'); -const { filterAndTransform } = require('./'); -const polygonFilter = { - type: 'Polygon', - coordinates: [ - [ - [ - -56.9, - -61.8 - ], - [ - -52.9, - -61.8 - ], - [ - -52.9, - -60.5 - ], - [ - -56.9, - -60.5 - ], - [ - -56.9, - -61.8 - ] - ] - ] -}; -const pointFeature = { - type: 'Point', - coordinates: [ - -55.1, - -61.1 - ] -}; -const lineFeature = { - type: 'LineString', - coordinates: [ - [ - -54.5, - -60.7 - ], - [ - -54.7, - -60.8 - ] - ] -}; -const polygonFeature = { - type: 'Polygon', - coordinates: [ - [ - [ - -54.3, - -61.3 - ], - [ - -53.9, - -61.3 - ], - [ - -53.9, - -60.7 - ], - [ - -54.3, - -61.3 - ] - ] - ] -}; - -test('sql.fn.ST_Within - geometries fully within a target polygon should return true', t => { - t.plan(3); - t.ok(filterAndTransform.fn.ST_Within(pointFeature, polygonFilter), 'point within filter geom'); - t.ok(filterAndTransform.fn.ST_Within(lineFeature, polygonFilter), 'line within filter geom'); - t.ok(filterAndTransform.fn.ST_Within(polygonFeature, polygonFilter), 'polygon within filter geom'); -}); - -test('sql.fn.ST_Within - falsey feature geometries should return false', t => { - const falseyFeatures = [undefined, null, {}, { coordinates: [] }, { coordinates: [0, 0] }, { type: 'Point' }]; - - falseyFeatures.forEach(falsey => { - t.notOk(filterAndTransform.fn.ST_Within(falsey, polygonFilter), 'falsey feature should return false'); - }); - t.end(); -}); - -// TODO: put other method decorators under test diff --git a/packages/winnow/src/filter-and-transform/filters/contains.spec.js b/packages/winnow/src/filter-and-transform/filters/contains.spec.js deleted file mode 100644 index 084765295..000000000 --- a/packages/winnow/src/filter-and-transform/filters/contains.spec.js +++ /dev/null @@ -1,68 +0,0 @@ -const test = require('tape'); -const contains = require('./contains'); - -test('contains: empty input', t => { - const result = contains(); - t.equals(result, false); - t.end(); -}); - -test('contains: empty object input', t => { - const result = contains({}, {}); - t.equals(result, false); - t.end(); -}); - -test('contains: null input', t => { - const result = contains(null, {}); - t.equals(result, false); - t.end(); -}); - -test('contains: null input', t => { - const result = contains({}, null); - t.equals(result, false); - t.end(); -}); - -test('contains: missing geometry type', t => { - const result = contains({ coordinates: [44, 84] }, {}); - t.equals(result, false); - t.end(); -}); - -test('contains: missing coordinates', t => { - const result = contains({ type: 'Point' }, {}); - t.equals(result, false); - t.end(); -}); - -test('contains: missing empty coordinates', t => { - const result = contains({ type: 'Point', coordinates: [] }, {}); - t.equals(result, false); - t.end(); -}); - -test('contains: missing filter geometry', t => { - const result = contains({ type: 'Point', coordinates: [44, -84.5] }); - t.equals(result, false); - t.end(); -}); - -test('contains: true', t => { - const result = contains({ type: 'Point', coordinates: [44, -84.5] }, { - type: 'Polygon', - coordinates: [[[44, -85], [45, -85], [45, -84], [44, -84], [44, -85]]] - }); - t.equals(result, true); - t.end(); -}); - -test('contains: false', t => { - const result = contains({ type: 'Point', coordinates: [0, 0] }, { - type: 'Polygon', - coordinates: [[[44, -85], [45, -85], [45, -84], [44, -84], [44, -85]]] - }); - t.equals(result, false); - t.end(); -}); diff --git a/packages/winnow/src/filter-and-transform/filters/envelope-intersects.spec.js b/packages/winnow/src/filter-and-transform/filters/envelope-intersects.spec.js deleted file mode 100644 index 223ba95df..000000000 --- a/packages/winnow/src/filter-and-transform/filters/envelope-intersects.spec.js +++ /dev/null @@ -1,149 +0,0 @@ -const test = require('tape'); -const envelopeIntersects = require('./envelope-intersects'); - -test('envelopeIntersects: empty input', t => { - const result = envelopeIntersects(); - t.equals(result, false); - t.end(); -}); - -test('envelopeIntersects: empty object input', t => { - const result = envelopeIntersects({}, {}); - t.equals(result, false); - t.end(); -}); - -test('envelopeIntersects: null input', t => { - const result = envelopeIntersects(null, {}); - t.equals(result, false); - t.end(); -}); - -test('envelopeIntersects: null input', t => { - const result = envelopeIntersects({}, null); - t.equals(result, false); - t.end(); -}); - -test('envelopeIntersects: missing geometry type', t => { - const result = envelopeIntersects({ coordinates: [44, 84] }, {}); - t.equals(result, false); - t.end(); -}); - -test('envelopeIntersects: missing coordinates', t => { - const result = envelopeIntersects({ type: 'Point' }, {}); - t.equals(result, false); - t.end(); -}); - -test('envelopeIntersects: missing empty coordinates', t => { - const result = envelopeIntersects({ type: 'Point', coordinates: [] }, {}); - t.equals(result, false); - t.end(); -}); - -test('envelopeIntersects: missing filter geometry', t => { - const result = envelopeIntersects({ type: 'Point', coordinates: [44, -84.5] }); - t.equals(result, false); - t.end(); -}); - -test('envelopeIntersects: Point inside polygon, true', t => { - const result = envelopeIntersects({ type: 'Point', coordinates: [44, -84.5] }, { - type: 'Polygon', - coordinates: [[[44, -85], [45, -85], [45, -84], [44, -84], [44, -85]]] - }); - t.equals(result, true); - t.end(); -}); - -test('envelopeIntersects: LineString outside polygon, false', t => { - const result = envelopeIntersects({ type: 'LineString', coordinates: [[17.41, 52.22], [17.42, 52.22]] }, { - type: 'Polygon', - coordinates: [[[17.2, 52.2], [17.4, 52.2], [17.4, 52.3], [17.2, 52.3], [17.2, 52.2]]] - }); - t.equals(result, false); - t.end(); -}); - -test('envelopeIntersects: Point inside polygon, Esri Geometry, true', t => { - const result = envelopeIntersects({ x: 44, y: -84.5 }, { - type: 'Polygon', - coordinates: [[[44, -85], [45, -85], [45, -84], [44, -84], [44, -85]]] - }); - t.equals(result, true); - t.end(); -}); - -test('envelopeIntersects: Point inside polygon envelope, true', t => { - const result = envelopeIntersects({ type: 'Point', coordinates: [17.505, 52.029] }, { - type: 'Polygon', - coordinates: [ - [ - [ - 17.52, - 52.037 - ], - [ - 17.50, - 52.02 - ], - [ - 17.55134582519531, - 52.01 - ], - [ - 17.56988525390625, - 52.02 - ], - [ - 17.538986206054688, - 52.03 - ], - [ - 17.52, - 52.037 - ] - ] - ] - }); - t.equals(result, true); - t.end(); -}); - -test('envelopeIntersects: Point outside polygon envelope, false', t => { - const result = envelopeIntersects({ type: 'Point', coordinates: [20, 53] }, { - type: 'Polygon', - coordinates: [ - [ - [ - 17.52, - 52.037 - ], - [ - 17.50, - 52.02 - ], - [ - 17.55134582519531, - 52.01 - ], - [ - 17.56988525390625, - 52.02 - ], - [ - 17.538986206054688, - 52.03 - ], - [ - 17.52, - 52.037 - ] - ] - ] - }); - t.equals(result, false); - t.end(); -}); diff --git a/packages/winnow/src/filter-and-transform/filters/hashed-objectid-comparator.spec.js b/packages/winnow/src/filter-and-transform/filters/hashed-objectid-comparator.spec.js deleted file mode 100644 index 1b0d238aa..000000000 --- a/packages/winnow/src/filter-and-transform/filters/hashed-objectid-comparator.spec.js +++ /dev/null @@ -1,43 +0,0 @@ -const test = require('tape'); -const hashedObjectIdComparator = require('./hashed-objectid-comparator'); -const createIntegerHash = require('../helpers/create-integer-hash'); - -const properties = { foo: 'bar' }; -const geometry = { type: 'Point', coordinates: [44, -84.5] }; -const objectId = createIntegerHash(JSON.stringify({ properties, geometry })); - -test('hashedObjectIdComparator: =, should return true', t => { - const result = hashedObjectIdComparator(properties, geometry, objectId, '='); - t.equals(result, true); - t.end(); -}); - -test('hashedObjectIdComparator: !=, should return true', t => { - const result = hashedObjectIdComparator(properties, geometry, -9999, '!='); - t.equals(result, true); - t.end(); -}); - -test('hashedObjectIdComparator: >, should return true', t => { - const result = hashedObjectIdComparator(properties, geometry, 0, '>'); - t.equals(result, true); - t.end(); -}); - -test('hashedObjectIdComparator: >=, should return true', t => { - const result = hashedObjectIdComparator(properties, geometry, 0, '>='); - t.equals(result, true); - t.end(); -}); - -test('hashedObjectIdComparator: >, should return true', t => { - const result = hashedObjectIdComparator(properties, geometry, 9999999999, '<'); - t.equals(result, true); - t.end(); -}); - -test('hashedObjectIdComparator: >=, should return true', t => { - const result = hashedObjectIdComparator(properties, geometry, 9999999999, '<='); - t.equals(result, true); - t.end(); -}); diff --git a/packages/winnow/src/filter-and-transform/filters/intersects.spec.js b/packages/winnow/src/filter-and-transform/filters/intersects.spec.js deleted file mode 100644 index c79a4d2ae..000000000 --- a/packages/winnow/src/filter-and-transform/filters/intersects.spec.js +++ /dev/null @@ -1,77 +0,0 @@ -const test = require('tape'); -const intersects = require('./intersects'); - -test('intersects: empty input', t => { - const result = intersects(); - t.equals(result, false); - t.end(); -}); - -test('intersects: empty object input', t => { - const result = intersects({}, {}); - t.equals(result, false); - t.end(); -}); - -test('intersects: null input', t => { - const result = intersects(null, {}); - t.equals(result, false); - t.end(); -}); - -test('intersects: null input', t => { - const result = intersects({}, null); - t.equals(result, false); - t.end(); -}); - -test('intersects: missing geometry type', t => { - const result = intersects({ coordinates: [44, 84] }, {}); - t.equals(result, false); - t.end(); -}); - -test('intersects: missing coordinates', t => { - const result = intersects({ type: 'Point' }, {}); - t.equals(result, false); - t.end(); -}); - -test('intersects: missing empty coordinates', t => { - const result = intersects({ type: 'Point', coordinates: [] }, {}); - t.equals(result, false); - t.end(); -}); - -test('intersects: missing filter geometry', t => { - const result = intersects({ type: 'Point', coordinates: [44, -84.5] }); - t.equals(result, false); - t.end(); -}); - -test('intersects: Point inside polygon, true', t => { - const result = intersects({ type: 'Point', coordinates: [44, -84.5] }, { - type: 'Polygon', - coordinates: [[[44, -85], [45, -85], [45, -84], [44, -84], [44, -85]]] - }); - t.equals(result, true); - t.end(); -}); - -test('intersects: LineString outside polygon, false', t => { - const result = intersects({ type: 'LineString', coordinates: [[17.41, 52.22], [17.42, 52.22]] }, { - type: 'Polygon', - coordinates: [[[17.2, 52.2], [17.4, 52.2], [17.4, 52.3], [17.2, 52.3], [17.2, 52.2]]] - }); - t.equals(result, false); - t.end(); -}); - -test('intersects: Point inside polygon, Esri Geometry, true', t => { - const result = intersects({ x: 44, y: -84.5 }, { - type: 'Polygon', - coordinates: [[[44, -85], [45, -85], [45, -84], [44, -84], [44, -85]]] - }); - t.equals(result, true); - t.end(); -}); diff --git a/packages/winnow/src/filter-and-transform/filters/within.spec.js b/packages/winnow/src/filter-and-transform/filters/within.spec.js deleted file mode 100644 index b514f82da..000000000 --- a/packages/winnow/src/filter-and-transform/filters/within.spec.js +++ /dev/null @@ -1,68 +0,0 @@ -const test = require('tape'); -const within = require('./within'); - -test('within: empty input', t => { - const result = within(); - t.equals(result, false); - t.end(); -}); - -test('within: empty object input', t => { - const result = within({}, {}); - t.equals(result, false); - t.end(); -}); - -test('within: null input', t => { - const result = within(null, {}); - t.equals(result, false); - t.end(); -}); - -test('within: null input', t => { - const result = within({}, null); - t.equals(result, false); - t.end(); -}); - -test('within: missing geometry type', t => { - const result = within({ coordinates: [44, 84] }, {}); - t.equals(result, false); - t.end(); -}); - -test('within: missing coordinates', t => { - const result = within({ type: 'Point' }, {}); - t.equals(result, false); - t.end(); -}); - -test('within: missing empty coordinates', t => { - const result = within({ type: 'Point', coordinates: [] }, {}); - t.equals(result, false); - t.end(); -}); - -test('within: missing filter geometry', t => { - const result = within({ type: 'Point', coordinates: [44, -84.5] }); - t.equals(result, false); - t.end(); -}); - -test('within: true', t => { - const result = within({ type: 'Point', coordinates: [44, -84.5] }, { - type: 'Polygon', - coordinates: [[[44, -85], [45, -85], [45, -84], [44, -84], [44, -85]]] - }); - t.equals(result, true); - t.end(); -}); - -test('within: false', t => { - const result = within({ type: 'Point', coordinates: [0, 0] }, { - type: 'Polygon', - coordinates: [[[44, -85], [45, -85], [45, -84], [44, -84], [44, -85]]] - }); - t.equals(result, false); - t.end(); -}); diff --git a/packages/winnow/src/filter-and-transform/helpers/create-integer-hash.spec.js b/packages/winnow/src/filter-and-transform/helpers/create-integer-hash.spec.js deleted file mode 100644 index c13fe27d4..000000000 --- a/packages/winnow/src/filter-and-transform/helpers/create-integer-hash.spec.js +++ /dev/null @@ -1,18 +0,0 @@ -const test = require('tape'); -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const modulePath = './create-integer-hash'; -test('numeric hash 32 function', t => { - const hashFunctionSpy = sinon.spy(function () { - return 4294967295; - }); - const createIntegerHash = proxyquire(modulePath, { - './hash-function': hashFunctionSpy - }); - - const result = createIntegerHash('my-string'); - t.equals(result, 2147483647); - t.ok(hashFunctionSpy.calledOnce); - t.deepEquals(hashFunctionSpy.firstCall.args, ['my-string']); - t.end(); -}); diff --git a/packages/winnow/src/filter-and-transform/helpers/hash-function.spec.js b/packages/winnow/src/filter-and-transform/helpers/hash-function.spec.js deleted file mode 100644 index 147354b93..000000000 --- a/packages/winnow/src/filter-and-transform/helpers/hash-function.spec.js +++ /dev/null @@ -1,35 +0,0 @@ -const test = require('tape'); -const proxyquire = require('proxyquire'); -const modulePath = './hash-function'; -const stub = { - 'string-hash': () => { return 'string-hash'; }, - 'farmhash': { // eslint-disable-line - hash32: () => { return 'farmhash'; } - } -}; - -test('hashFunction: ENV variable forces use of string-hash', t => { - t.plan(1); - process.env.OBJECTID_FEATURE_HASH = 'javascript'; - const hashFunction = proxyquire(modulePath, stub); - t.equals(hashFunction(), 'string-hash'); - process.env.OBJECTID_FEATURE_HASH = undefined; -}); - -test('hashFunction: default use of farmhash', t => { - t.plan(1); - const hashFunction = proxyquire(modulePath, stub); - t.equals(hashFunction(), 'farmhash'); -}); - -test('hashFunction: fallback use of string-hash', t => { - t.plan(1); - const stub = { - 'string-hash': () => { return 'string-hash'; }, - 'farmhash': { // eslint-disable-line - hash32: () => { throw new Error(); } - } - }; - const hashFunction = proxyquire(modulePath, stub); - t.equals(hashFunction(), 'string-hash'); -}); diff --git a/packages/winnow/src/filter-and-transform/prepare-filter-and-transform.spec.js b/packages/winnow/src/filter-and-transform/prepare-filter-and-transform.spec.js deleted file mode 100644 index ca4b2a5f9..000000000 --- a/packages/winnow/src/filter-and-transform/prepare-filter-and-transform.spec.js +++ /dev/null @@ -1,40 +0,0 @@ -const test = require('tape'); -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const modulePath = './prepare-filter-and-transform'; - -test('Should return prepared filter and transform query', t => { - const compiledQuerySpy = sinon.spy(() => { - return 'results'; - }); - - const filterAndTransform = sinon.spy({ - compile: function () { - return compiledQuerySpy; - } - }); - - const prepareFilterAndTransform = proxyquire(modulePath, { - './filter-and-transform': filterAndTransform - }); - - // Get a prepared filter and transform query - const preparedFilterAndTransform = prepareFilterAndTransform('SELECT foo FROM ?'); - t.equals(typeof preparedFilterAndTransform, 'function'); - - // Execute with single GeoJSON feature - const result1 = preparedFilterAndTransform({ type: 'feature' }); - t.equals(result1, 'results'); - t.deepEquals(compiledQuerySpy.firstCall.args, [[[{ type: 'feature' }]]]); - - // Execute with single Esri feature - const result2 = preparedFilterAndTransform({ attributes: {} }); - t.equals(result2, 'results'); - t.deepEquals(compiledQuerySpy.secondCall.args, [[[{ attributes: {} }]]]); - - // Execute with GeoJSON feature array - const result3 = preparedFilterAndTransform([{ type: 'feature' }]); - t.equals(result3, 'results'); - t.deepEquals(compiledQuerySpy.thirdCall.args, [[[{ type: 'feature' }]]]); - t.end(); -}); diff --git a/packages/winnow/src/filter-and-transform/transforms/project.spec.js b/packages/winnow/src/filter-and-transform/transforms/project.spec.js deleted file mode 100644 index f65993783..000000000 --- a/packages/winnow/src/filter-and-transform/transforms/project.spec.js +++ /dev/null @@ -1,63 +0,0 @@ -const test = require('tape'); -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const project = require('./project'); -const modulePath = './project'; - -test('project, empty input, returns undefined', t => { - const result = project(); - t.equals(result, undefined); - t.end(); -}); - -test('project, empty target coordinate system input, returns input geometry', t => { - const result = project({}); - t.deepEquals(result, {}); - t.end(); -}); - -test('project, empty geometry object, return input geometry', t => { - const result = project({}, 'coordinate-system'); - t.deepEquals(result, {}); - t.end(); -}); - -test('project, missing input geometry coordinates, return input geometry', t => { - const result = project({ type: 'Point' }, 'coordinate-system'); - t.deepEquals(result, { type: 'Point' }); - t.end(); -}); - -test('project, missing input geometry type, return input geometry', t => { - const result = project({ coordinates: [] }, 'coordinate-system'); - t.deepEquals(result, { coordinates: [] }); - t.end(); -}); - -test('project, valid input, return projection result', t => { - const projectSpy = sinon.spy(function () { return 'projected-coordinates'; }); - const project = proxyquire(modulePath, { - '../../helpers/project-coordinates': projectSpy - }); - const result = project({ type: 'Point', coordinates: 'source-coordinates' }, 'source-cs', 'target-cs'); - t.deepEquals(result, { type: 'Point', coordinates: 'projected-coordinates' }); - t.ok(projectSpy.calledOnce); - t.deepEquals(projectSpy.firstCall.args, [{ - coordinates: 'source-coordinates', - fromSR: 'source-cs', - toSR: 'target-cs' - }]); - t.end(); -}); - -test('project, error throw in projection, return null', t => { - const projectSpy = sinon.spy(function () { - throw new Error('project error'); - }); - const project = proxyquire(modulePath, { - '../../helpers/project-coordinates': projectSpy - }); - const result = project({ type: 'Point', coordinates: [] }, 'source-cs', 'target-cs'); - t.deepEquals(result, null); - t.end(); -}); diff --git a/packages/winnow/src/filter-and-transform/transforms/reduce-precision.spec.js b/packages/winnow/src/filter-and-transform/transforms/reduce-precision.spec.js deleted file mode 100644 index 61262ba2b..000000000 --- a/packages/winnow/src/filter-and-transform/transforms/reduce-precision.spec.js +++ /dev/null @@ -1,31 +0,0 @@ -const test = require('tape'); -const reducePrecision = require('./reduce-precision'); - -const inputFixture = { - type: 'Point', - coordinates: [100.011189, 0.123451] -}; - -test('reducePrecision, empty input, returns undefined', t => { - const result = reducePrecision(); - t.equals(result, undefined); - t.end(); -}); - -test('reducePrecision, empty geometry, returns empty geometry', t => { - const result = reducePrecision({}); - t.deepEquals(result, {}); - t.end(); -}); - -test('reducePrecision, no precision input', t => { - const result = reducePrecision(inputFixture); - t.deepEquals(result, { type: 'Point', coordinates: [100, 0] }); - t.end(); -}); - -test('reducePrecision', t => { - const result = reducePrecision(inputFixture, 3); - t.deepEquals(result, { type: 'Point', coordinates: [100.011, 0.123] }); - t.end(); -}); diff --git a/packages/winnow/src/filter-and-transform/transforms/to-esri-attributes.spec.js b/packages/winnow/src/filter-and-transform/transforms/to-esri-attributes.spec.js deleted file mode 100644 index 8a7df2102..000000000 --- a/packages/winnow/src/filter-and-transform/transforms/to-esri-attributes.spec.js +++ /dev/null @@ -1,102 +0,0 @@ -const test = require('tape'); -const proxyquire = require('proxyquire'); -const modulePath = './to-esri-attributes'; -const toEsriAttributes = require(modulePath); - -test('toEsriAttributes, does not require idField', t => { - // (properties, geometry, dateFields, requiresObjectId, idField) - const result = toEsriAttributes({ foo: 'bar' }, { coordinates: [-118, 34] }, '', 'false', ''); - t.deepEquals(result, { foo: 'bar' }); - t.end(); -}); - -test('toEsriAttributes, requires idField and properties contain it', t => { - // (properties, geometry, dateFields, requiresObjectId, idField) - const result = toEsriAttributes({ foo: 'bar', OBJECTID: 11111 }, { coordinates: [-118, 34] }, '', 'true', 'OBJECTID'); - t.deepEquals(result, { foo: 'bar', OBJECTID: 11111 }); - t.end(); -}); - -test('toEsriAttributes, requires idField, properties contain it, but logs debug message', t => { - const toEsriAttributes = proxyquire(modulePath, { - '../../logger': { - logger: { - debug: (message) => { - t.equals(message, 'OBJECTIDs created from provider\'s "idField" (OBJECTID: 11111) are not integers from 0 to 2147483647'); - } - } - } - }); - // (properties, geometry, dateFields, requiresObjectId, idField) - const result = toEsriAttributes({ foo: 'bar', OBJECTID: '11111' }, { coordinates: [-118, 34] }, '', 'true', 'OBJECTID'); - t.deepEquals(result, { foo: 'bar', OBJECTID: '11111' }); - t.end(); -}); - -test('toEsriAttributes, requires idField and properties do not have one, so create hash', t => { - const toEsriAttributes = proxyquire(modulePath, { - '../helpers': { - createIntegerHash: (string) => { - t.deepEquals(string, '{"properties":{"foo":"bar"},"geometry":{"coordinates":[-118,34]}}'); - return 99999; - } - } - }); - - // (properties, geometry, dateFields, requiresObjectId, idField) - const result = toEsriAttributes({ foo: 'bar' }, { coordinates: [-118, 34] }, '', 'true', 'null'); - t.deepEquals(result, { foo: 'bar', OBJECTID: 99999 }); - t.end(); -}); - -test('toEsriAttributes, does not require idField, has dateFields', t => { - // (properties, geometry, dateFields, requiresObjectId, idField) - const date1 = new Date(); - const date2 = new Date(1000); - const result = toEsriAttributes({ hello: 'world', foo: date1.toISOString(), bar: date2.toISOString() }, { coordinates: [-118, 34] }, 'foo,bar', 'false', ''); - t.deepEquals(result, { hello: 'world', foo: date1.getTime(), bar: date2.getTime() }); - t.end(); -}); - -test('toEsriAttributes, require idField, has dateFields', t => { - const date1 = new Date(); - const date2 = new Date(1000); - - const toEsriAttributes = proxyquire(modulePath, { - '../helpers': { - createIntegerHash: (string) => { - t.deepEquals(string, `{"properties":{"hello":"world","foo":"${date1.toISOString()}","bar":"${date2.toISOString()}"},"geometry":{"coordinates":[-118,34]}}`); - return 99999; - } - } - }); - - // (properties, geometry, dateFields, requiresObjectId, idField) - const result = toEsriAttributes({ hello: 'world', foo: date1.toISOString(), bar: date2.toISOString() }, { coordinates: [-118, 34] }, 'foo,bar', 'true', 'null'); - t.deepEquals(result, { OBJECTID: 99999, hello: 'world', foo: date1.getTime(), bar: date2.getTime() }); - t.end(); -}); - -test('toEsriAttributes, does not require idField, has null dateField', t => { - // (properties, geometry, dateFields, requiresObjectId, idField) - const date2 = new Date(1000); - const result = toEsriAttributes({ hello: 'world', foo: null, bar: date2.toISOString() }, { coordinates: [-118, 34] }, 'foo,bar', 'false', ''); - t.deepEquals(result, { hello: 'world', foo: null, bar: date2.getTime() }); - t.end(); -}); - -test('toEsriAttributes, does not require idField, has nested properties', t => { - const result = toEsriAttributes({ - hello: 'world', - nested: { - foo: 'bar' - } - }, { - coordinates: [-118, 34] - }, - '', - 'false', - ''); - t.deepEquals(result, { hello: 'world', nested: '{"foo":"bar"}' }); - t.end(); -}); diff --git a/packages/winnow/src/filter-and-transform/transforms/to-esri-geometry.spec.js b/packages/winnow/src/filter-and-transform/transforms/to-esri-geometry.spec.js deleted file mode 100644 index 17b4afbea..000000000 --- a/packages/winnow/src/filter-and-transform/transforms/to-esri-geometry.spec.js +++ /dev/null @@ -1,189 +0,0 @@ -const test = require('tape'); -const toEsriGeometry = require('./to-esri-geometry'); - -test('toEsriGeometry: no geometry', (t) => { - t.plan(1); - const transformed = toEsriGeometry(); - t.equals(transformed, null); -}); - -test('toEsriGeometry: null geometry', (t) => { - t.plan(1); - const transformed = toEsriGeometry(null); - t.equals(transformed, null); -}); - -test('toEsriGeometry: no geometry type', (t) => { - t.plan(1); - const transformed = toEsriGeometry({}); - t.equals(transformed, null); -}); - -test('toEsriGeometry: point', (t) => { - t.plan(1); - const transformed = toEsriGeometry({ - type: 'Point', - coordinates: [ - 100, - 0 - ] - }); - t.deepEquals(transformed, { x: 100, y: 0 }); -}); - -test('toEsriGeometry: linestring', (t) => { - t.plan(1); - const transformed = toEsriGeometry({ - type: 'LineString', - coordinates: [ - [100.0, 0.0], - [101.0, 1.0], - ], - }); - t.deepEquals(transformed, { - paths: [ - [ - [100, 0], - [101, 1], - ], - ], - }); -}); - -test('toEsriGeometry: polygon', (t) => { - t.plan(1); - const transformed = toEsriGeometry({ - type: 'Polygon', - coordinates: [ - [ - [100.0, 0.0], - [101.0, 0.0], - [101.0, 1.0], - [100.0, 1.0], - [100.0, 0.0], - ], - ], - }); - t.deepEquals(transformed, { - rings: [ - [ - [100, 0], - [100, 1], - [101, 1], - [101, 0], - [100, 0], - ], - ], - }); -}); - -test('toEsriGeometry: multipoint', (t) => { - t.plan(1); - const transformed = toEsriGeometry({ - type: 'MultiPoint', - coordinates: [ - [100.0, 0.0], - [101.0, 1.0], - ], - }); - t.deepEquals(transformed, { - points: [ - [100, 0], - [101, 1], - ], - }); -}); - -test('toEsriGeometry: multilinestring', (t) => { - t.plan(1); - const transformed = toEsriGeometry({ - type: 'MultiLineString', - coordinates: [ - [ - [100.0, 0.0], - [101.0, 1.0], - ], - [ - [102.0, 2.0], - [103.0, 3.0], - ], - ], - }); - t.deepEquals(transformed, { - paths: [ - [ - [100, 0], - [101, 1], - ], - [ - [102, 2], - [103, 3], - ], - ], - }); -}); - -test('toEsriGeometry: multipolygon', (t) => { - t.plan(1); - const transformed = toEsriGeometry({ - type: 'MultiPolygon', - coordinates: [ - [ - [ - [102.0, 2.0], - [103.0, 2.0], - [103.0, 3.0], - [102.0, 3.0], - [102.0, 2.0], - ], - ], - [ - [ - [100.0, 0.0], - [101.0, 0.0], - [101.0, 1.0], - [100.0, 1.0], - [100.0, 0.0], - ], - [ - [100.2, 0.2], - [100.2, 0.8], - [100.8, 0.8], - [100.8, 0.2], - [100.2, 0.2], - ], - ], - ], - }); - t.deepEquals(transformed, { - rings: [ - [ - [102, 2], - [102, 3], - [103, 3], - [103, 2], - [102, 2], - ], - [ - [100.2, 0.2], - [100.8, 0.2], - [100.8, 0.8], - [100.2, 0.8], - [100.2, 0.2], - ], - [ - [100, 0], - [100, 1], - [101, 1], - [101, 0], - [100, 0], - ], - ], - }); -}); - -test('toEsriGeometry: unsupported type', (t) => { - t.plan(1); - const result = toEsriGeometry({ type: 'unsupported' }); - t.equals(result, null); -}); diff --git a/packages/winnow/src/filter-and-transform/transforms/to-geohash.spec.js b/packages/winnow/src/filter-and-transform/transforms/to-geohash.spec.js deleted file mode 100644 index 366ec2644..000000000 --- a/packages/winnow/src/filter-and-transform/transforms/to-geohash.spec.js +++ /dev/null @@ -1,87 +0,0 @@ -const test = require('tape'); -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const toGeohash = require('./to-geohash'); -const modulePath = './to-geohash'; - -test('toGeohash, empty input, returns undefined', t => { - const result = toGeohash(); - t.equals(result, undefined); - t.end(); -}); - -test('toGeohash, empty geometry object, returns undefined', t => { - const result = toGeohash(); - t.equals(result, undefined); - t.end(); -}); - -test('project, missing input geometry coordinates, return input geometry', t => { - const result = toGeohash({ type: 'Point' }); - t.deepEquals(result, undefined); - t.end(); -}); - -test('project, missing input geometry type, return input geometry', t => { - const result = toGeohash({ coordinates: [] }); - t.deepEquals(result, undefined); - t.end(); -}); - -test('toGeohash, point input, returns geohash', t => { - const geohashSpy = sinon.spy(function () { return 'geohash-result'; }); - const centroidSpy = sinon.spy(function () { return { coordinates: [11, 19] }; }); - const toGeohash = proxyquire(modulePath, { - 'ngeohash': { // eslint-disable-line - encode: geohashSpy - }, - '@turf/centroid': { - default: centroidSpy - } - }); - const result = toGeohash({ type: 'Point', coordinates: [23, 24] }); - t.equals(result, 'geohash-result'); - t.ok(geohashSpy.calledOnce); - t.deepEquals(geohashSpy.firstCall.args, [24, 23, 8]); - t.ok(centroidSpy.notCalled); - t.end(); -}); - -test('toGeohash, non-point input, returns geohash', t => { - const geohashSpy = sinon.spy(function () { return 'geohash-result'; }); - const centroidSpy = sinon.spy(function () { return { coordinates: [11, 19] }; }); - const toGeohash = proxyquire(modulePath, { - 'ngeohash': { // eslint-disable-line - encode: geohashSpy - }, - '@turf/centroid': { - default: centroidSpy - } - }); - const result = toGeohash({ type: 'Polygon', coordinates: 'polygon-coordinates' }); - t.equals(result, 'geohash-result'); - t.ok(geohashSpy.calledOnce); - t.deepEquals(geohashSpy.firstCall.args, [19, 11, 8]); - t.ok(centroidSpy.calledOnce); - t.deepEquals(centroidSpy.firstCall.args, [{ type: 'Polygon', coordinates: 'polygon-coordinates' }]); - t.end(); -}); - -test('toGeohash, point input, precision input, returns geohash', t => { - const geohashSpy = sinon.spy(function () { return 'geohash-result'; }); - const centroidSpy = sinon.spy(function () { return { coordinates: [11, 19] }; }); - const toGeohash = proxyquire(modulePath, { - 'ngeohash': { // eslint-disable-line - encode: geohashSpy - }, - '@turf/centroid': { - default: centroidSpy - } - }); - const result = toGeohash({ type: 'Point', coordinates: [23, 24] }, 5); - t.equals(result, 'geohash-result'); - t.ok(geohashSpy.calledOnce); - t.deepEquals(geohashSpy.firstCall.args, [24, 23, 5]); - t.ok(centroidSpy.notCalled); - t.end(); -}); diff --git a/packages/winnow/src/filter-and-transform/transforms/to-hash.spec.js b/packages/winnow/src/filter-and-transform/transforms/to-hash.spec.js deleted file mode 100644 index 96c2ef10c..000000000 --- a/packages/winnow/src/filter-and-transform/transforms/to-hash.spec.js +++ /dev/null @@ -1,20 +0,0 @@ -const test = require('tape'); -const toHash = require('./to-hash'); - -test('transformToHash, empty hashStore', spec => { - const result = toHash('foobar'); - spec.deepEquals(result, { foobar: 1 }); - spec.end(); -}); - -test('transformToHash, initial count', spec => { - const result = toHash('foobar', { hello: 1 }); - spec.deepEquals(result, { foobar: 1, hello: 1 }); - spec.end(); -}); - -test('transformToHash, subsequent count', spec => { - const result = toHash('foobar', { foobar: 1, hello: 1 }); - spec.deepEquals(result, { foobar: 2, hello: 1 }); - spec.end(); -}); diff --git a/packages/winnow/src/helpers/project-coordinates.spec.js b/packages/winnow/src/helpers/project-coordinates.spec.js deleted file mode 100644 index 6d4fe8ba9..000000000 --- a/packages/winnow/src/helpers/project-coordinates.spec.js +++ /dev/null @@ -1,44 +0,0 @@ -const test = require('tape'); -const projectCoordinates = require('./project-coordinates'); - -test('Do not project coordinates if one is null', t => { - t.plan(2); - const transformed = projectCoordinates({ coordinates: [null, 63] }); - t.equal(transformed[0], null, 'not projected'); - t.equal(transformed[1], 63, 'not projected'); -}); - -test('Do not project coordinates if both are null', t => { - t.plan(2); - const transformed = projectCoordinates({ coordinates: [null, null] }); - t.equal(transformed[0], null, 'not projected'); - t.equal(transformed[1], null, 'not projected'); -}); - -test('Do not project coordinates if empty array', t => { - t.plan(2); - const transformed = projectCoordinates({ coordinates: [] }); - t.equal(transformed[0], undefined, 'not projected'); - t.equal(transformed[1], undefined, 'not projected'); -}); - -test('Do not project coordinates if no toSR', t => { - t.plan(2); - const transformed = projectCoordinates({ coordinates: [45, 75] }); - t.equal(transformed[0], 45, 'not projected'); - t.equal(transformed[1], 75, 'not projected'); -}); - -test('Project coordinates correctly', t => { - t.plan(2); - const transformed = projectCoordinates({ coordinates: [45, 75], toSR: 'EPSG:3857' }); - t.equal(transformed[0], 5009377.085697311, 'projected correctly'); - t.equal(transformed[1], 12932243.111992031, 'projected correctly'); -}); - -test('Do not project coordinates if target and source spatial reference are the same', t => { - t.plan(2); - const transformed = projectCoordinates({ coordinates: [45, 75], fromSR: 'EPSG:4326', toSR: 'EPSG:4326' }); - t.equal(transformed[0], 45, 'projected correctly'); - t.equal(transformed[1], 75, 'projected correctly'); -}); diff --git a/packages/winnow/src/helpers/transform-coordinates.spec.js b/packages/winnow/src/helpers/transform-coordinates.spec.js deleted file mode 100644 index bd412773e..000000000 --- a/packages/winnow/src/helpers/transform-coordinates.spec.js +++ /dev/null @@ -1,161 +0,0 @@ -const test = require('tape'); -const transformCoordinates = require('./transform-coordinates'); - -test('transform coordinates, point', t => { - t.plan(1); - const transform = (coordinates) => { - coordinates[0] = 'x'; - coordinates[1] = 'y'; - }; - const input = [100.0, 0.0]; - transformCoordinates(input, {}, transform); - t.deepEquals(input, ['x', 'y']); -}); - -test('transform coordinates, line', t => { - t.plan(1); - const transform = (coordinates) => { - coordinates[0] = 'x'; - coordinates[1] = 'y'; - }; - const input = [ - [100.0, 0.0], - [101.0, 1.0] - ]; - transformCoordinates(input, {}, transform); - t.deepEquals(input, [['x', 'y'], ['x', 'y']]); -}); - -test('transform coordinates, polygon', t => { - t.plan(1); - const transform = (coordinates) => { - coordinates[0] = 'x'; - coordinates[1] = 'y'; - }; - const input = [ - [ - [100.0, 0.0], - [101.0, 0.0], - [101.0, 1.0], - [100.0, 1.0], - [100.0, 0.0] - ] - ]; - transformCoordinates(input, {}, transform); - t.deepEquals(input, [ - [ - ['x', 'y'], - ['x', 'y'], - ['x', 'y'], - ['x', 'y'], - ['x', 'y'] - ] - ]); -}); - -test('transform coordinates, multi-point', t => { - t.plan(1); - const transform = (coordinates) => { - coordinates[0] = 'x'; - coordinates[1] = 'y'; - }; - const input = [ - [100.0, 0.0], - [101.0, 1.0] - ]; - transformCoordinates(input, {}, transform); - t.deepEquals(input, [['x', 'y'], ['x', 'y']] - ); -}); - -test('transform coordinates, multi-linestring', t => { - t.plan(1); - const transform = (coordinates) => { - coordinates[0] = 'x'; - coordinates[1] = 'y'; - }; - const input = [ - [ - [100.0, 0.0], - [101.0, 1.0] - ], - [ - [102.0, 2.0], - [103.0, 3.0] - ] - ]; - transformCoordinates(input, {}, transform); - t.deepEquals(input, [ - [ - ['x', 'y'], - ['x', 'y'] - ], - [ - ['x', 'y'], - ['x', 'y'] - ] - ]); -}); - -test('transform coordinates, multi-polygon', t => { - t.plan(1); - const transform = (coordinates) => { - coordinates[0] = 'x'; - coordinates[1] = 'y'; - }; - const input = [ - [ - [ - [102.0, 2.0], - [103.0, 2.0], - [103.0, 3.0], - [102.0, 3.0], - [102.0, 2.0] - ] - ], - [ - [ - [100.0, 0.0], - [101.0, 0.0], - [101.0, 1.0], - [100.0, 1.0], - [100.0, 0.0] - ], - [ - [100.2, 0.2], - [100.2, 0.8], - [100.8, 0.8], - [100.8, 0.2], - [100.2, 0.2] - ] - ] - ]; - transformCoordinates(input, {}, transform); - t.deepEquals(input, [ - [ - [ - ['x', 'y'], - ['x', 'y'], - ['x', 'y'], - ['x', 'y'], - ['x', 'y'] - ] - ], - [ - [ - ['x', 'y'], - ['x', 'y'], - ['x', 'y'], - ['x', 'y'], - ['x', 'y'] - ], - [ - ['x', 'y'], - ['x', 'y'], - ['x', 'y'], - ['x', 'y'], - ['x', 'y'] - ] - ] - ]); -}); diff --git a/packages/winnow/src/logger/index.js b/packages/winnow/src/logger/index.js index 4dae5002f..592c0943c 100644 --- a/packages/winnow/src/logger/index.js +++ b/packages/winnow/src/logger/index.js @@ -1,5 +1,5 @@ let logger = require('./logger'); -const Logger = require('@koopjs/logger'); +const Logger = require('../../../logger'); module.exports = { logger, diff --git a/packages/winnow/src/logger/logger.js b/packages/winnow/src/logger/logger.js index 546968eac..5ac551ae0 100644 --- a/packages/winnow/src/logger/logger.js +++ b/packages/winnow/src/logger/logger.js @@ -1,4 +1,4 @@ -const Logger = require('@koopjs/logger'); +const Logger = require('../../../logger'); let _logger = new Logger(); diff --git a/packages/winnow/src/normalize-query-options/aggregates.spec.js b/packages/winnow/src/normalize-query-options/aggregates.spec.js deleted file mode 100644 index 67216b21d..000000000 --- a/packages/winnow/src/normalize-query-options/aggregates.spec.js +++ /dev/null @@ -1,60 +0,0 @@ -const test = require('tape'); -const normalizeAggregates = require('./aggregates'); - -test('normalize-options, aggregates: undefined', t => { - t.plan(1); - - const normalized = normalizeAggregates({ }); - t.equal(normalized, undefined); -}); - -test('normalize-options, aggregates: generate name property when missing', t => { - t.plan(1); - - const options = { - aggregates: [ - { - type: 'avg', - field: 'height' - } - ] - }; - const normalized = normalizeAggregates(options); - t.deepEquals(normalized, [{ type: 'avg', field: 'height', name: 'avg_height' }]); -}); - -test('normalize-options, aggregates: remove blank space in name property', t => { - t.plan(1); - - const options = { - aggregates: [ - { - type: 'avg', - field: 'tree height' - } - ] - }; - const normalized = normalizeAggregates(options); - t.deepEquals(normalized, [{ type: 'avg', field: 'tree height', name: 'avg_tree_height' }]); -}); - -test('normalize-options, aggregates: defer to outStatistics as aggregates source', t => { - t.plan(1); - - const options = { - aggregates: [ - { - type: 'avg', - field: 'height' - } - ], - outStatistics: [ - { - statisticType: 'avg', - onStatisticField: 'Trunk_Diameter' - } - ] - }; - const normalized = normalizeAggregates(options); - t.deepEquals(normalized, [{ type: 'avg', field: 'Trunk_Diameter', name: 'avg_Trunk_Diameter' }]); -}); diff --git a/packages/winnow/src/normalize-query-options/classification.spec.js b/packages/winnow/src/normalize-query-options/classification.spec.js deleted file mode 100644 index 0e10b5e32..000000000 --- a/packages/winnow/src/normalize-query-options/classification.spec.js +++ /dev/null @@ -1,205 +0,0 @@ -const test = require('tape'); -const normalizeClassification = require('./classification'); - -test('normalize-options, classification: undefined', t => { - t.plan(1); - const normalized = normalizeClassification({ }); - t.equal(normalized, undefined); -}); - -test('normalize-options, classification: return classification', t => { - t.plan(1); - const normalized = normalizeClassification({ classification: 'some classification' }); - t.equal(normalized, 'some classification'); -}); - -test('normalize-options, classification: classificationDef without type should throw error', t => { - t.plan(1); - try { - normalizeClassification({ classificationDef: {} }); - } catch (error) { - t.equal(error.message, 'Input classification type invalid: undefined'); - } -}); - -test('normalize-options, classification: classificationDef of type "classBreaksDef"', t => { - t.plan(1); - const normalized = normalizeClassification({ - classificationDef: { - type: 'classBreaksDef', - classificationField: 'abc', - classificationMethod: 'esriClassifyEqualInterval', - standardDeviationInterval: 10, - breakCount: 99, - normalizationType: 'esriNormalizeByField', - normalizationField: 'def' - } - }); - t.deepEquals(normalized, { - type: 'classes', - field: 'abc', - method: 'equalInterval', - stddev_intv: 10, - breakCount: 99, - normType: 'field', - normField: 'def' - }); -}); - -test('normalize-options, classification: classificationMethod "esriClassifyNaturalBreaks"', t => { - t.plan(1); - const normalized = normalizeClassification({ - classificationDef: { - type: 'classBreaksDef', - classificationField: 'abc', - classificationMethod: 'esriClassifyNaturalBreaks', - standardDeviationInterval: 10, - breakCount: 99, - normalizationType: 'esriNormalizeByField', - normalizationField: 'def' - } - }); - t.deepEquals(normalized, { - type: 'classes', - field: 'abc', - method: 'naturalBreaks', - stddev_intv: 10, - breakCount: 99, - normType: 'field', - normField: 'def' - }); -}); - -test('normalize-options, classification: classificationMethod "esriClassifyQuantile"', t => { - t.plan(1); - const normalized = normalizeClassification({ - classificationDef: { - type: 'classBreaksDef', - classificationField: 'abc', - classificationMethod: 'esriClassifyQuantile', - standardDeviationInterval: 10, - breakCount: 99, - normalizationType: 'esriNormalizeByField', - normalizationField: 'def' - } - }); - t.deepEquals(normalized, { - type: 'classes', - field: 'abc', - method: 'quantile', - stddev_intv: 10, - breakCount: 99, - normType: 'field', - normField: 'def' - }); -}); - -test('normalize-options, classification: classificationMethod "esriClassifyGeometricalInterval"', t => { - t.plan(1); - const normalized = normalizeClassification({ - classificationDef: { - type: 'classBreaksDef', - classificationField: 'abc', - classificationMethod: 'esriClassifyGeometricalInterval', - standardDeviationInterval: 10, - breakCount: 99, - normalizationType: 'esriNormalizeByField', - normalizationField: 'def' - } - }); - t.deepEquals(normalized, { - type: 'classes', - field: 'abc', - method: 'geomInterval', - stddev_intv: 10, - breakCount: 99, - normType: 'field', - normField: 'def' - }); -}); - -test('normalize-options, classification: classificationMethod "esriClassifyStandardDeviation"', t => { - t.plan(1); - const normalized = normalizeClassification({ - classificationDef: { - type: 'classBreaksDef', - classificationField: 'abc', - classificationMethod: 'esriClassifyStandardDeviation', - standardDeviationInterval: 10, - breakCount: 99, - normalizationType: 'esriNormalizeByField', - normalizationField: 'def' - } - }); - t.deepEquals(normalized, { - type: 'classes', - field: 'abc', - method: 'stddev', - stddev_intv: 10, - breakCount: 99, - normType: 'field', - normField: 'def' - }); -}); - -test('normalize-options, classification: transformationMethod "esriNormalizeByLog"', t => { - t.plan(1); - const normalized = normalizeClassification({ - classificationDef: { - type: 'classBreaksDef', - classificationField: 'abc', - classificationMethod: 'esriClassifyStandardDeviation', - standardDeviationInterval: 10, - breakCount: 99, - normalizationType: 'esriNormalizeByLog', - normalizationField: 'def' - } - }); - t.deepEquals(normalized, { - type: 'classes', - field: 'abc', - method: 'stddev', - stddev_intv: 10, - breakCount: 99, - normType: 'log', - normField: 'def' - }); -}); - -test('normalize-options, classification: transformationMethod "esriNormalizeByPercentOfTotal"', t => { - t.plan(1); - const normalized = normalizeClassification({ - classificationDef: { - type: 'classBreaksDef', - classificationField: 'abc', - classificationMethod: 'esriClassifyStandardDeviation', - standardDeviationInterval: 10, - breakCount: 99, - normalizationType: 'esriNormalizeByPercentOfTotal', - normalizationField: 'def' - } - }); - t.deepEquals(normalized, { - type: 'classes', - field: 'abc', - method: 'stddev', - stddev_intv: 10, - breakCount: 99, - normType: 'percent', - normField: 'def' - }); -}); - -test('normalize-options, classification: classificationDef of type "uniqueValueDev"', t => { - t.plan(1); - const normalized = normalizeClassification({ - classificationDef: { - type: 'uniqueValueDef', - uniqueValueFields: ['abc', 'def'] - } - }); - t.deepEquals(normalized, { - type: 'unique', - fields: ['abc', 'def'] - }); -}); diff --git a/packages/winnow/src/normalize-query-options/collection.spec.js b/packages/winnow/src/normalize-query-options/collection.spec.js deleted file mode 100644 index 9d0c17b17..000000000 --- a/packages/winnow/src/normalize-query-options/collection.spec.js +++ /dev/null @@ -1,42 +0,0 @@ - -const test = require('tape'); -const normalizeCollection = require('./collection'); - -test('normalize-options, collection: undefined', t => { - t.plan(1); - const normalized = normalizeCollection(); - t.equal(normalized, undefined); -}); - -test('normalize-options, collection: add metadata object', t => { - t.plan(1); - const normalized = normalizeCollection({ }); - t.deepEquals(normalized, { metadata: {} }); -}); - -test('normalize-options, collection: unable to generate metadata fields without feature', t => { - t.plan(1); - const normalized = normalizeCollection({ }, []); - t.deepEquals(normalized, { metadata: {} }); -}); - -test('normalize-options, collection: metadata.fields already defined', t => { - t.plan(1); - const normalized = normalizeCollection({ metadata: { fields: ['abc'] } }); - t.deepEquals(normalized, { metadata: { fields: ['abc'] } }); -}); - -test('normalize-options, collection: generate metadata fields from feature', t => { - t.plan(1); - const normalized = normalizeCollection({ }, [{ properties: { name: 'test' } }]); - t.deepEquals(normalized, { - metadata: { - fields: [ - { - name: 'name', - type: 'String' - } - ] - } - }); -}); diff --git a/packages/winnow/src/normalize-query-options/date-fields.spec.js b/packages/winnow/src/normalize-query-options/date-fields.spec.js deleted file mode 100644 index 090fb0c5c..000000000 --- a/packages/winnow/src/normalize-query-options/date-fields.spec.js +++ /dev/null @@ -1,52 +0,0 @@ -const test = require('tape'); -const getDateFields = require('./date-fields'); - -test('normalize-query-options, date-fields: undefined metadata', t => { - t.plan(1); - - const normalized = getDateFields(); - t.deepEquals(normalized, []); -}); - -test('normalize-query-options, date-fields: undefined metadata.fields', t => { - t.plan(1); - - const normalized = getDateFields({}); - t.deepEquals(normalized, []); -}); - -test('normalize-query-options, date-fields: metadata.fields are empty array', t => { - t.plan(1); - - const normalized = getDateFields({ fields: [] }); - t.deepEquals(normalized, []); -}); - -test('normalize-query-options, date-fields: requestedFields undefined', t => { - t.plan(1); - - const normalized = getDateFields({ - metadata: { - fields: [ - { name: 'hello', type: 'Date' }, - { name: 'world', type: 'String' } - ] - } - }); - t.deepEquals(normalized, ['hello']); -}); - -test('normalize-query-options, date-fields: requestedFields defined', t => { - t.plan(1); - - const normalized = getDateFields({ - metadata: { - fields: [ - { name: 'hello', type: 'Date' }, - { name: 'world', type: 'String' }, - { name: 'foo', type: 'String' } - ] - } - }, ['hello', 'foo']); - t.deepEquals(normalized, ['hello']); -}); diff --git a/packages/winnow/src/normalize-query-options/fields.spec.js b/packages/winnow/src/normalize-query-options/fields.spec.js deleted file mode 100644 index 7a2aa51db..000000000 --- a/packages/winnow/src/normalize-query-options/fields.spec.js +++ /dev/null @@ -1,70 +0,0 @@ -const test = require('tape'); -const normalizeFields = require('./fields'); - -test('normalize-options, fields: undefined', t => { - t.plan(1); - - const normalized = normalizeFields({ }); - t.equal(normalized, undefined); -}); - -test('normalize-options, fields: defer to "fields" value', t => { - t.plan(1); - - const normalizedFields = normalizeFields({ fields: 'hello', outFields: 'world' }); - t.deepEquals(normalizedFields, ['hello']); -}); - -test('normalize-options, fields: remove Geoservices-style "*" when present', t => { - t.plan(1); - - const normalizedFields = normalizeFields({ fields: '*' }); - t.deepEquals(normalizedFields, undefined); -}); - -test('normalize-options, fields: convert string to array', t => { - t.plan(1); - const normalizedFields = normalizeFields({ fields: 'hello,world' }); - t.deepEquals(normalizedFields, ['hello', 'world']); -}); - -test('normalize-options, fields: convert string to array, trim whitespace', t => { - t.plan(1); - const normalizedFields = normalizeFields({ fields: 'hello ,world' }); - t.deepEquals(normalizedFields, ['hello', 'world']); -}); - -test('normalize-options, fields: value is a string array', t => { - t.plan(2); - const options = { - fields: ['test', 'field', 'names'] - }; - const fields = normalizeFields(options); - t.ok(Array.isArray(fields)); - t.deepEquals(fields, ['test', 'field', 'names']); -}); - -test('normalize-options, fields: returnIdsOnly is set to true and an idField is set', t => { - t.plan(1); - const options = { - returnIdsOnly: true, - outFields: '*', - collection: { - metadata: { - idField: 'feature_id' - } - } - }; - const fields = normalizeFields(options); - t.deepEquals(fields, ['feature_id']); -}); - -test('normalize-options, fields: returnIdsOnly is set to true and an idField is not set', t => { - t.plan(1); - const options = { - returnIdsOnly: true, - outFields: '*' - }; - const fields = normalizeFields(options); - t.deepEquals(fields, ['OBJECTID']); -}); diff --git a/packages/winnow/src/normalize-query-options/geometry-filter-spatial-reference.spec.js b/packages/winnow/src/normalize-query-options/geometry-filter-spatial-reference.spec.js deleted file mode 100644 index a65d7e69a..000000000 --- a/packages/winnow/src/normalize-query-options/geometry-filter-spatial-reference.spec.js +++ /dev/null @@ -1,73 +0,0 @@ -const test = require('tape'); -const normalizeGeometryFilterSpatialReference = require('./geometry-filter-spatial-reference'); - -test('normalize-query-options, geometry-filter-spatial-reference: undefined input', t => { - t.plan(1); - const { wkid } = normalizeGeometryFilterSpatialReference(); - t.equal(wkid, 4326); -}); - -test('normalize-query-options, geometry-filter-spatial-reference: undefined options', t => { - t.plan(1); - const { wkid } = normalizeGeometryFilterSpatialReference({}); - t.equal(wkid, 4326); -}); - -test('normalize-query-options, geometry-filter-spatial-reference: defer to geometry option', t => { - t.plan(1); - const options = { - geometry: '100,200,300,400,3857', - bbox: '100,200,300,400,4326', - inSR: '4269' - }; - const { wkid } = normalizeGeometryFilterSpatialReference(options); - t.equal(wkid, 3857); -}); - -test('normalize-query-options, geometry-filter-spatial-reference: defer to bbox option if no geometry', t => { - t.plan(1); - const options = { - bbox: '100,200,300,400,3857', - inSR: '4269' - }; - const { wkid } = normalizeGeometryFilterSpatialReference(options); - t.equal(wkid, 3857); -}); - -test('normalize-query-options, geometry-filter-spatial-reference: geometry filter bbox missing spatial reference', t => { - t.plan(1); - const options = { - geometry: '100,200,300,400', - inSR: '4269' - }; - const { wkid } = normalizeGeometryFilterSpatialReference(options); - t.equal(wkid, 4269); -}); - -test('normalize-query-options, geometry-filter-spatial-reference: defer to geometry filter wkid', t => { - t.plan(1); - const options = { - geometry: { - spatialReference: { - wkid: 4326 - } - }, - inSR: '4269' - }; - const { wkid } = normalizeGeometryFilterSpatialReference(options); - t.equal(wkid, 4326); -}); - -test('normalize-query-options, geometry-filter-spatial-reference: inSR string', t => { - t.plan(1); - const options = { inSR: '4269' }; - const { wkid } = normalizeGeometryFilterSpatialReference(options); - t.equal(wkid, 4269); -}); - -test('normalize-query-options, geometry-filter-spatial-reference: inSR spatialReference object', t => { - t.plan(1); - const options = { inSR: { wkid: 4269 } }; - const { wkid } = normalizeGeometryFilterSpatialReference(options); - t.equal(wkid, 4269); -}); diff --git a/packages/winnow/src/normalize-query-options/geometry-filter.spec.js b/packages/winnow/src/normalize-query-options/geometry-filter.spec.js deleted file mode 100644 index cf0ab1eb8..000000000 --- a/packages/winnow/src/normalize-query-options/geometry-filter.spec.js +++ /dev/null @@ -1,233 +0,0 @@ -const test = require('tape'); -const normalizeGeometryFilter = require('./geometry-filter'); - -test('normalize-query-options, geometry-filter: undefined options input', t => { - t.plan(1); - const geometryFilter = normalizeGeometryFilter(); - t.equal(geometryFilter, undefined); -}); - -test('normalize-query-options, geometry-filter: defer to geometry options', t => { - t.plan(1); - const geometryFilter = normalizeGeometryFilter({ geometry: [10, 15, 20, 25], bbox: [0, 45, 50, 90] }); - t.deepEquals(geometryFilter, { - type: 'Polygon', - coordinates: [ - [ - [10, 15], - [20, 15], - [20, 25], - [10, 25], - [10, 15] - ] - ] - }); -}); - -test('normalize-query-options, geometry-filter: use bbox if geometry is undefined', t => { - t.plan(1); - const geometryFilter = normalizeGeometryFilter({ bbox: [0, 45, 50, 90] }); - t.deepEquals(geometryFilter, { - type: 'Polygon', - coordinates: [ - [ - [0, 45], - [50, 45], - [50, 90], - [0, 90], - [0, 45] - ] - ] - }); -}); - -test('normalize-query-options, geometry-filter: filter spatial reference of 4326 does not trigger reproject', t => { - t.plan(1); - const geometryFilter = normalizeGeometryFilter({ geometry: [0, 45, 50, 90], inSR: 4326 }); - t.deepEquals(geometryFilter, { - type: 'Polygon', - coordinates: [ - [ - [0, 45], - [50, 45], - [50, 90], - [0, 90], - [0, 45] - ] - ] - }); -}); - -test('normalize-query-options, geometry-filter: filter spatial reference of 3857 does trigger reproject', t => { - t.plan(1); - const geometryFilter = normalizeGeometryFilter({ - geometry: { - spatialReference: { - latestWkid: 3857 - }, - xmin: 782715.169637017, - ymin: 6569915.455168739, - xmax: 787607.1394472681, - ymax: 6574807.42497899 - } - }); - t.deepEquals(geometryFilter, { - type: 'Polygon', - coordinates: [ - [ - [7.031249999971363, 50.708634400835436], - [7.0751953124713625, 50.708634400835436], - [7.0751953124713625, 50.736455137017856], - [7.031249999971363, 50.736455137017856], - [7.031249999971363, 50.708634400835436] - ] - ] - }); -}); - -test('normalize-query-options, geometry-filter: data spatial reference of 3857 triggers reproject of filter', t => { - t.plan(1); - const geometryFilter = normalizeGeometryFilter({ - geometry: { - spatialReference: { - latestWkid: 4326 - }, - xmin: 0, - ymin: 10, - xmax: 30, - ymax: 45 - }, - sourceSR: 3857 - }); - t.deepEquals(geometryFilter, { - type: 'Polygon', - coordinates: [ - [ - [0, 1118889.9748579597], - [3339584.723798207, 1118889.9748579597], - [3339584.723798207, 5621521.486192066], - [0, 5621521.486192066], - [0, 1118889.9748579597] - ] - ] - }); -}); - -test('normalize-query-options, geometry-filter: same data/filter spatial reference skips filter reprojection', t => { - t.plan(1); - const geometryFilter = normalizeGeometryFilter({ - geometry: { - spatialReference: { - latestWkid: 3857 - }, - xmin: 782715.169637017, - ymin: 6569915.455168739, - xmax: 787607.1394472681, - ymax: 6574807.42497899 - }, - sourceSR: 3857 - }); - t.deepEquals(geometryFilter, { - type: 'Polygon', - coordinates: [ - [ - [782715.169637017, 6569915.455168739], - [787607.1394472681, 6569915.455168739], - [787607.1394472681, 6574807.42497899], - [782715.169637017, 6574807.42497899], - [782715.169637017, 6569915.455168739] - ] - ] - }); -}); - -test('normalize-query-options, geometry-filter: geometry as coordinate string polygon', t => { - t.plan(1); - const geometryFilter = normalizeGeometryFilter({ geometry: '10,15,20,25' }); - t.deepEquals(geometryFilter, { - type: 'Polygon', - coordinates: [ - [ - [10, 15], - [20, 15], - [20, 25], - [10, 25], - [10, 15] - ] - ] - }); -}); - -test('normalize-query-options, geometry-filter: geometry as coordinate string point', t => { - t.plan(1); - const geometryFilter = normalizeGeometryFilter({ geometry: '-10,10' }); - t.deepEquals(geometryFilter, { - type: 'Point', - coordinates: [-10, 10] - }); -}); - -test('normalize-query-options, geometry-filter: geometry as coordinate array polygon', t => { - t.plan(1); - const geometryFilter = normalizeGeometryFilter({ geometry: [10, 15, 20, 25] }); - t.deepEquals(geometryFilter, { - type: 'Polygon', - coordinates: [ - [ - [10, 15], - [20, 15], - [20, 25], - [10, 25], - [10, 15] - ] - ] - }); -}); - -test('normalize-query-options, geometry-filter: geometry as coordinate array point', t => { - t.plan(1); - const geometryFilter = normalizeGeometryFilter({ geometry: [-10, 10] }); - t.deepEquals(geometryFilter, { - type: 'Point', - coordinates: [-10, 10] - }); -}); - -test('normalize-query-options, geometry-filter: geometry as Esri envelope', t => { - t.plan(1); - const geometryFilter = normalizeGeometryFilter({ - geometry: { - rings: [ - [ - [-119.86203847085071, 39.545907591418406], - [-119.86204539539456, 39.545898008841569], - [-119.86201962858273, 39.545886843071926], - [-119.86210620156871, 39.545767093994201], - [-119.86216807184147, 39.545793902806423], - [-119.86213343971804, 39.545841804116996], - [-119.86215200336552, 39.545849846100822], - [-119.86214507417176, 39.545859427834422], - [-119.86209313222116, 39.545931275663776], - [-119.86203847085071, 39.545907591418406] - ] - ] - } - }); - t.deepEquals(geometryFilter, { - type: 'Polygon', - coordinates: [ - [ - [-119.8620384708507, 39.545907591418406], - [-119.86209313222116, 39.545931275663776], - [-119.86214507417176, 39.54585942783442], - [-119.86215200336552, 39.54584984610082], - [-119.86213343971804, 39.545841804116996], - [-119.86216807184147, 39.54579390280642], - [-119.86210620156871, 39.5457670939942], - [-119.86201962858273, 39.545886843071926], - [-119.86204539539456, 39.54589800884157], - [-119.8620384708507, 39.545907591418406] - ] - ] - }); -}); diff --git a/packages/winnow/src/normalize-query-options/group-by.spec.js b/packages/winnow/src/normalize-query-options/group-by.spec.js deleted file mode 100644 index 7c417f203..000000000 --- a/packages/winnow/src/normalize-query-options/group-by.spec.js +++ /dev/null @@ -1,54 +0,0 @@ -const test = require('tape'); -const normalizeGroupBy = require('./group-by'); - -test('normalize-options, groupBy: undefined', t => { - t.plan(1); - - const normalized = normalizeGroupBy({ }); - t.equal(normalized, undefined); -}); - -test('normalize-options, groupBy: defer to "groupBy" value', t => { - t.plan(1); - - const normalizedOrder = normalizeGroupBy({ groupBy: 'hello', groupByFieldsForStatistics: 'world' }); - t.deepEquals(normalizedOrder, ['hello']); -}); - -test('normalize-options, groupBy: use "groupByFieldsForStatistics" as second choice', t => { - t.plan(1); - - const normalizedOrder = normalizeGroupBy({ groupByFieldsForStatistics: 'world' }); - t.deepEquals(normalizedOrder, ['world']); -}); - -test('normalize-options, groupBy: convert string to array', t => { - t.plan(1); - const normalizedOrder = normalizeGroupBy({ groupBy: 'hello,world' }); - t.deepEquals(normalizedOrder, ['hello', 'world']); -}); - -test('normalize-options, groupBy: convert string to array, trim whitespace', t => { - t.plan(1); - const normalizedOrder = normalizeGroupBy({ groupBy: 'hello ,world' }); - t.deepEquals(normalizedOrder, ['hello', 'world']); -}); - -test('normalize-options, groupBy: value is a string array', t => { - t.plan(2); - const options = { - groupBy: ['test', 'field', 'names'] - }; - const order = normalizeGroupBy(options); - t.ok(Array.isArray(order)); - t.deepEquals(order, ['test', 'field', 'names']); -}); - -test('normalize-options, groupBy: value is a not a string or array', t => { - t.plan(1); - const options = { - groupBy: 1 - }; - const order = normalizeGroupBy(options); - t.equals(order, undefined); -}); diff --git a/packages/winnow/src/normalize-query-options/helpers/detect-esri-field-types.spec.js b/packages/winnow/src/normalize-query-options/helpers/detect-esri-field-types.spec.js deleted file mode 100644 index 287c60474..000000000 --- a/packages/winnow/src/normalize-query-options/helpers/detect-esri-field-types.spec.js +++ /dev/null @@ -1,26 +0,0 @@ -const test = require('tape'); -const { detectEsriFieldType } = require('./'); - -test('detectEsriFieldTypes: string', t => { - t.plan(1); - const type = detectEsriFieldType('a string value'); - t.equals(type, 'String'); -}); - -test('detectEsriFieldTypes: integer', t => { - t.plan(1); - const type = detectEsriFieldType(1); - t.equals(type, 'Integer'); -}); - -test('detectEsriFieldTypes: double', t => { - t.plan(1); - const type = detectEsriFieldType(1.1); - t.equals(type, 'Double'); -}); - -test('detectEsriFieldTypes: date', t => { - t.plan(1); - const type = detectEsriFieldType((new Date()).toISOString()); - t.equals(type, 'Date'); -}); diff --git a/packages/winnow/src/normalize-query-options/helpers/get-collection-crs.spec.js b/packages/winnow/src/normalize-query-options/helpers/get-collection-crs.spec.js deleted file mode 100644 index f0ed26cec..000000000 --- a/packages/winnow/src/normalize-query-options/helpers/get-collection-crs.spec.js +++ /dev/null @@ -1,38 +0,0 @@ -const test = require('tape'); -const { getCollectionCrs } = require('./'); - -test('getCollectionCrs: no collection', t => { - t.plan(1); - const crs = getCollectionCrs(); - t.equals(crs, undefined); -}); - -test('getCollectionCrs: no crs', t => { - t.plan(1); - const crs = getCollectionCrs({}); - t.equals(crs, undefined); -}); - -test('getCollectionCrs: no crs object', t => { - t.plan(1); - const crs = getCollectionCrs({ crs: {} }); - t.equals(crs, undefined); -}); - -test('getCollectionCrs: bad crs definition', t => { - t.plan(1); - const crs = getCollectionCrs({ crs: { properties: { name: 'foodbar' } } }); - t.equals(crs, undefined); -}); - -test('getCollectionCrs: WGS84 definition', t => { - t.plan(1); - const crs = getCollectionCrs({ crs: { properties: { name: 'urn:ogc:def:crs:ogc:1.3:crs84' } } }); - t.equals(crs, undefined); -}); - -test('getCollectionCrs: non-WGS84 definition', t => { - t.plan(1); - const crs = getCollectionCrs({ crs: { properties: { name: 'urn:ogc:def:crs:EPSG::2285' } } }); - t.equals(crs, '2285'); -}); diff --git a/packages/winnow/src/normalize-query-options/id-field.spec.js b/packages/winnow/src/normalize-query-options/id-field.spec.js deleted file mode 100644 index 034cde02a..000000000 --- a/packages/winnow/src/normalize-query-options/id-field.spec.js +++ /dev/null @@ -1,79 +0,0 @@ -const test = require('tape'); -const normalizeIdField = require('./id-field'); - -test('normalize-query-options, idField: undefined inputs return null', spec => { - spec.plan(1); - const result = normalizeIdField(); - spec.equals(result, null); -}); - -test('normalize-query-options, idField: undefined metadata and no feature properties', spec => { - spec.plan(1); - const result = normalizeIdField({}, [{}]); - spec.equals(result, null); -}); - -test('normalize-query-options, idField: undefined metadata and feature OBJECTID', spec => { - spec.plan(1); - const result = normalizeIdField({}, [{ properties: {} }]); - spec.equals(result, null); -}); - -test('normalize-query-options, idField: undefined metadata and feature OBJECTID', spec => { - spec.plan(1); - const result = normalizeIdField({}, [{ attributes: {} }]); - spec.equals(result, null); -}); - -test('normalize-query-options, idField: no collection metadata', spec => { - spec.plan(1); - const result = normalizeIdField({ collection: {} }); - spec.equals(result, null); -}); - -test('normalize-query-options, idField: empty collection metadata', spec => { - spec.plan(1); - const result = normalizeIdField({ collection: { metadata: {} } }); - spec.equals(result, null); -}); - -test('normalize-query-options, idField: set by metadata.idField', spec => { - spec.plan(1); - const result = normalizeIdField({ collection: { metadata: { idField: 'customIdField' } } }); - spec.equals(result, 'customIdField'); -}); - -test('normalize-query-options, idField: default to metadata.idField', spec => { - spec.plan(1); - const result = normalizeIdField({ - collection: { - metadata: { - idField: 'customIdField', - fields: [ - { name: 'OBJECTID' } - ] - } - } - }, [{ properties: { OBJECTID: 9999 } }]); - spec.equals(result, 'customIdField'); -}); - -test('normalize-query-options, idField: derive from metadata.fields', spec => { - spec.plan(1); - const result = normalizeIdField({ - collection: { - metadata: { - fields: [ - { name: 'OBJECTID' } - ] - } - } - }, [{ properties: { OBJECTID: 9999 } }]); - spec.equals(result, 'OBJECTID'); -}); - -test('normalize-query-options, idField: derive from data', spec => { - spec.plan(1); - const result = normalizeIdField({}, [{ properties: { OBJECTID: 9999 } }]); - spec.equals(result, 'OBJECTID'); -}); diff --git a/packages/winnow/src/normalize-query-options/limit.spec.js b/packages/winnow/src/normalize-query-options/limit.spec.js deleted file mode 100644 index 71d03852f..000000000 --- a/packages/winnow/src/normalize-query-options/limit.spec.js +++ /dev/null @@ -1,60 +0,0 @@ -const test = require('tape'); -const normalizeLimit = require('./limit'); - -test('normalize-query-options, limit: undefined', t => { - t.plan(1); - - const normalized = normalizeLimit({ }); - t.equal(normalized, undefined); -}); - -test('normalize-query-options, limit: defer to limit option', t => { - t.plan(1); - - const normalized = normalizeLimit({ - limit: 10, - resultRecordCount: 20, - count: 30, - maxFeatures: 40 - }); - t.equal(normalized, 11); -}); - -test('normalize-query-options, limit: defer to resultRecordCount option', t => { - t.plan(1); - - const normalized = normalizeLimit({ - resultRecordCount: 20, - count: 30, - maxFeatures: 40 - }); - t.equal(normalized, 21); -}); - -test('normalize-query-options, limit: defer to count option', t => { - t.plan(1); - - const normalized = normalizeLimit({ - count: 30, - maxFeatures: 40 - }); - t.equal(normalized, 31); -}); - -test('normalize-query-options, limit: defer to maxFeatures option', t => { - t.plan(1); - - const normalized = normalizeLimit({ - maxFeatures: 40 - }); - t.equal(normalized, 41); -}); - -test('normalize-query-options, limit: undefined if not an integer', t => { - t.plan(1); - - const normalized = normalizeLimit({ - limit: '1' - }); - t.equal(normalized, undefined); -}); diff --git a/packages/winnow/src/normalize-query-options/object-ids.spec.js b/packages/winnow/src/normalize-query-options/object-ids.spec.js deleted file mode 100644 index ed3708da4..000000000 --- a/packages/winnow/src/normalize-query-options/object-ids.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -const test = require('tape'); -const normalizeObjectIds = require('./object-ids'); - -test('normalize objectIds: undefined objectIds', t => { - t.plan(1); - - const normalized = normalizeObjectIds(); - t.equal(normalized, undefined); -}); - -test('normalize objectIds: numeric string', t => { - t.plan(1); - - const normalized = normalizeObjectIds('1'); - t.deepEqual(normalized, [1]); -}); - -test('normalize objectIds: delimited numeric string', t => { - t.plan(1); - - const normalized = normalizeObjectIds('1,2'); - t.deepEqual(normalized, [1, 2]); -}); - -test('normalize objectIds: integer', t => { - t.plan(1); - - const normalized = normalizeObjectIds(1); - t.deepEqual(normalized, [1]); -}); - -test('normalize objectIds: numeric array', t => { - t.plan(1); - - const normalized = normalizeObjectIds([1]); - t.deepEqual(normalized, [1]); -}); - -test('normalize objectIds: throw on unsupported data type', t => { - t.plan(2); - - try { - normalizeObjectIds(true); - t.fail('should have thrown'); - } catch (err) { - t.equals(err.message, 'Invalid objectIds: true'); - t.equals(err.code, 400); - } -}); - -test('normalize objectIds: throw on non-integer string', t => { - t.plan(2); - - try { - normalizeObjectIds('1.4'); - t.fail('should have thrown'); - } catch (err) { - t.equals(err.message, 'Non-integer objectId: 1.4'); - t.equals(err.code, 400); - } -}); \ No newline at end of file diff --git a/packages/winnow/src/normalize-query-options/offset.spec.js b/packages/winnow/src/normalize-query-options/offset.spec.js deleted file mode 100644 index 601ba1de3..000000000 --- a/packages/winnow/src/normalize-query-options/offset.spec.js +++ /dev/null @@ -1,39 +0,0 @@ -const test = require('tape'); -const normalizeOffset = require('./offset'); - -test('normalize-query-options, offset: undefined limit and offset', t => { - t.plan(1); - - const normalized = normalizeOffset({ }); - t.equal(normalized, undefined); -}); - -test('normalize-query-options, offset: undefined limit', t => { - t.plan(1); - - const normalized = normalizeOffset({ - offset: 100 - }); - t.equal(normalized, undefined); -}); - -test('normalize-query-options, offset: defer to offset option', t => { - t.plan(1); - - const normalized = normalizeOffset({ - limit: 10, - offset: 100, - resultOffset: 200 - }); - t.equal(normalized, 100); -}); - -test('normalize-query-options, offset: defer to resultOffset option if no offset', t => { - t.plan(1); - - const normalized = normalizeOffset({ - limit: 10, - resultOffset: 200 - }); - t.equal(normalized, 200); -}); diff --git a/packages/winnow/src/normalize-query-options/order.spec.js b/packages/winnow/src/normalize-query-options/order.spec.js deleted file mode 100644 index 843ff1243..000000000 --- a/packages/winnow/src/normalize-query-options/order.spec.js +++ /dev/null @@ -1,61 +0,0 @@ -const test = require('tape'); -const normalizeOrder = require('./order'); - -test('normalize-options, order: undefined', t => { - t.plan(1); - - const normalized = normalizeOrder({ }); - t.equal(normalized, undefined); -}); - -test('normalize-options, order: empty string', t => { - t.plan(1); - - const normalized = normalizeOrder({ order: '' }); - t.equal(normalized, undefined); -}); - -test('normalize-options, order: defer to "order" value', t => { - t.plan(1); - - const normalizedOrder = normalizeOrder({ order: 'hello', orderByFields: 'world' }); - t.deepEquals(normalizedOrder, ['hello']); -}); - -test('normalize-options, order: use orderByFields as second choice', t => { - t.plan(1); - - const normalizedOrder = normalizeOrder({ orderByFields: 'world' }); - t.deepEquals(normalizedOrder, ['world']); -}); - -test('normalize-options, order: convert string to array', t => { - t.plan(1); - const normalizedOrder = normalizeOrder({ order: 'hello,world' }); - t.deepEquals(normalizedOrder, ['hello', 'world']); -}); - -test('normalize-options, order: convert string to array, trim whitespace', t => { - t.plan(1); - const normalizedOrder = normalizeOrder({ order: 'hello ,world' }); - t.deepEquals(normalizedOrder, ['hello', 'world']); -}); - -test('normalize-options, order: value is a string array', t => { - t.plan(2); - const options = { - order: ['test', 'field', 'names'] - }; - const order = normalizeOrder(options); - t.ok(Array.isArray(order)); - t.deepEquals(order, ['test', 'field', 'names']); -}); - -test('normalize-options, order: value is a not a string or array', t => { - t.plan(1); - const options = { - order: 1 - }; - const order = normalizeOrder(options); - t.equals(order, undefined); -}); diff --git a/packages/winnow/src/normalize-query-options/output-data-spatial-reference.spec.js b/packages/winnow/src/normalize-query-options/output-data-spatial-reference.spec.js deleted file mode 100644 index 531d71e36..000000000 --- a/packages/winnow/src/normalize-query-options/output-data-spatial-reference.spec.js +++ /dev/null @@ -1,98 +0,0 @@ -const test = require('tape'); -const normalizeOutputDataSpatialReference = require('./output-data-spatial-reference'); - -test('normalize-query-options, output-data-spatial-reference: undefined input', t => { - t.plan(1); - const { wkid } = normalizeOutputDataSpatialReference(); - t.equal(wkid, 4326); -}); - -test('normalize-query-options, output-data-spatial-reference: undefined options', t => { - t.plan(1); - const { wkid } = normalizeOutputDataSpatialReference({}); - t.equal(wkid, 4326); -}); - -test('normalize-query-options, output-data-spatial-reference: defer to projection option', t => { - t.plan(1); - const options = { - projection: 4326, - srsname: 4269, - srsName: 3857, - outSR: 2227 - }; - const { wkid } = normalizeOutputDataSpatialReference(options); - t.equal(wkid, 4326); -}); - -test('normalize-query-options, output-data-spatial-reference: defer to srsname option', t => { - t.plan(1); - const options = { - srsname: 4269, - srsName: 3857, - outSR: 2227 - }; - const { wkid } = normalizeOutputDataSpatialReference(options); - t.equal(wkid, 4269); -}); - -test('normalize-query-options, output-data-spatial-reference: defer to srsName option', t => { - t.plan(1); - const options = { - srsName: 3857, - outSR: 2227 - }; - const { wkid } = normalizeOutputDataSpatialReference(options); - t.equal(wkid, 3857); -}); - -test('normalize-query-options, output-data-spatial-reference: defer to outSR option', t => { - t.plan(2); - const options = { - outSR: 2227 - }; - const { wkid, wkt } = normalizeOutputDataSpatialReference(options); - t.equal(wkid, 2227); - t.equal(wkt, 'PROJCS["NAD_1983_StatePlane_California_III_FIPS_0403_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",37.06666666666667],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.5],UNIT["Foot_US",0.3048006096012192]]'); -}); - -test('normalize-query-options, output-data-spatial-reference: defer to inputCrs option', t => { - t.plan(2); - const options = { - inputCrs: 2227 - }; - const { wkid, wkt } = normalizeOutputDataSpatialReference(options); - t.equal(wkid, 2227); - t.equal(wkt, 'PROJCS["NAD_1983_StatePlane_California_III_FIPS_0403_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",37.06666666666667],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.5],UNIT["Foot_US",0.3048006096012192]]'); -}); - -test('normalize-query-options, output-data-spatial-reference: defer to sourceSR option', t => { - t.plan(2); - const options = { - sourceSR: 2227 - }; - const { wkid, wkt } = normalizeOutputDataSpatialReference(options); - t.equal(wkid, 2227); - t.equal(wkt, 'PROJCS["NAD_1983_StatePlane_California_III_FIPS_0403_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",37.06666666666667],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.5],UNIT["Foot_US",0.3048006096012192]]'); -}); - -test('normalize-query-options, output-data-spatial-reference: defer to collection.crs option', t => { - t.plan(2); - const options = { - collection: { - crs: { properties: { name: 'urn:ogc:def:crs:EPSG:2227' } } - } - }; - const { wkid, wkt } = normalizeOutputDataSpatialReference(options); - t.equal(wkid, 2227); - t.equal(wkt, 'PROJCS["NAD_1983_StatePlane_California_III_FIPS_0403_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-120.5],PARAMETER["Standard_Parallel_1",37.06666666666667],PARAMETER["Standard_Parallel_2",38.43333333333333],PARAMETER["Latitude_Of_Origin",36.5],UNIT["Foot_US",0.3048006096012192]]'); -}); - -test('normalize-query-options, output-data-spatial-reference: bad input', t => { - t.plan(1); - const options = { - outSR: 99999 - }; - const { wkid } = normalizeOutputDataSpatialReference(options); - t.equal(wkid, 4326); -}); diff --git a/packages/winnow/src/normalize-query-options/source-data-spatial-reference.spec.js b/packages/winnow/src/normalize-query-options/source-data-spatial-reference.spec.js deleted file mode 100644 index 6f2795032..000000000 --- a/packages/winnow/src/normalize-query-options/source-data-spatial-reference.spec.js +++ /dev/null @@ -1,60 +0,0 @@ -const test = require('tape'); -const normalizeSourceDataSpatialReference = require('./source-data-spatial-reference'); - -test('normalize-query-options, source-data-spatial-reference: undefined input', t => { - t.plan(1); - const { wkid } = normalizeSourceDataSpatialReference(); - t.equal(wkid, 4326); -}); - -test('normalize-query-options, source-data-spatial-reference: known spatial reference', t => { - t.plan(1); - const { wkid } = normalizeSourceDataSpatialReference({ inputCrs: 3857 }); - t.equal(wkid, 3857); -}); - -test('normalize-query-options, source-data-spatial-reference: spatial reference that requires wkt', t => { - t.plan(2); - const { wkid, wkt } = normalizeSourceDataSpatialReference({ inputCrs: 2228 }); - t.equal(wkid, 2228); - t.equal(wkt, 'PROJCS["NAD_1983_StatePlane_California_IV_FIPS_0404_Feet",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",6561666.666666666],PARAMETER["False_Northing",1640416.666666667],PARAMETER["Central_Meridian",-119.0],PARAMETER["Standard_Parallel_1",36.0],PARAMETER["Standard_Parallel_2",37.25],PARAMETER["Latitude_Of_Origin",35.33333333333334],UNIT["Foot_US",0.3048006096012192]]'); -}); - -test('normalize-query-options, source-data-spatial-reference: sourceSR option', t => { - t.plan(1); - const { wkid } = normalizeSourceDataSpatialReference({ sourceSR: 3857 }); - t.equal(wkid, 3857); -}); - -test('normalize-query-options, source-data-spatial-reference: collection crs', t => { - t.plan(1); - const params = { - collection: { - crs: { properties: { name: 'urn:ogc:def:crs:OGC:1.3:CRS84' } } - } - }; - const { wkid } = normalizeSourceDataSpatialReference(params); - t.equal(wkid, 4326); -}); - -test('normalize-query-options, source-data-spatial-reference: collection crs', t => { - t.plan(1); - const params = { - collection: { - crs: { properties: { name: 'urn:ogc:def:crs:EPSG::3857' } } - } - }; - const { wkid } = normalizeSourceDataSpatialReference(params); - t.equal(wkid, 3857); -}); - -test('normalize-query-options, source-data-spatial-reference: known spatial reference', t => { - t.plan(1); - const params = { - collection: { - crs: { properties: { name: 'urn:ogc:def:crs:EPSG:3857' } } - } - }; - const { wkid } = normalizeSourceDataSpatialReference(params); - t.equal(wkid, 3857); -}); diff --git a/packages/winnow/src/normalize-query-options/spatial-predicate.spec.js b/packages/winnow/src/normalize-query-options/spatial-predicate.spec.js deleted file mode 100644 index b56983ec5..000000000 --- a/packages/winnow/src/normalize-query-options/spatial-predicate.spec.js +++ /dev/null @@ -1,51 +0,0 @@ -const test = require('tape'); -const normalizeSpatialPredicate = require('./spatial-predicate'); - -test('normalize-query-options, spatial-predicate: undefined', t => { - t.plan(1); - - const normalized = normalizeSpatialPredicate(undefined); - t.equal(normalized, undefined); -}); - -test('normalize-options, spatial-predicate: defer to "spatialPredicate" value', t => { - t.plan(1); - - const normalizedOrder = normalizeSpatialPredicate({ spatialPredicate: 'hello', spatialRel: 'world' }); - t.deepEquals(normalizedOrder, 'hello'); -}); - -test('normalize-options, spatial-predicate: defer to "spatialPredicate" value', t => { - t.plan(1); - - const normalizedOrder = normalizeSpatialPredicate({ spatialPredicate: 'hello', spatialRel: 'world' }); - t.deepEquals(normalizedOrder, 'hello'); -}); - -test('normalize-options, spatial-predicate: normalize esriSpatialRelContains ', t => { - t.plan(1); - - const normalizedOrder = normalizeSpatialPredicate({ spatialPredicate: 'esriSpatialRelContains' }); - t.deepEquals(normalizedOrder, 'ST_Contains'); -}); - -test('normalize-options, spatial-predicate: normalize esriSpatialRelWithin', t => { - t.plan(1); - - const normalizedOrder = normalizeSpatialPredicate({ spatialPredicate: 'esriSpatialRelWithin' }); - t.deepEquals(normalizedOrder, 'ST_Within'); -}); - -test('normalize-options, spatial-predicate: normalize esriSpatialRelIntersects', t => { - t.plan(1); - - const normalizedOrder = normalizeSpatialPredicate({ spatialPredicate: 'esriSpatialRelIntersects' }); - t.deepEquals(normalizedOrder, 'ST_Intersects'); -}); - -test('normalize-options, spatial-predicate: normalize esriSpatialRelEnvelopeIntersects', t => { - t.plan(1); - - const normalizedOrder = normalizeSpatialPredicate({ spatialPredicate: 'esriSpatialRelEnvelopeIntersects' }); - t.deepEquals(normalizedOrder, 'ST_EnvelopeIntersects'); -}); diff --git a/packages/winnow/src/normalize-query-options/spatial-reference.spec.js b/packages/winnow/src/normalize-query-options/spatial-reference.spec.js deleted file mode 100644 index b869690f1..000000000 --- a/packages/winnow/src/normalize-query-options/spatial-reference.spec.js +++ /dev/null @@ -1,147 +0,0 @@ -const test = require('tape'); -const normalizeSpatialReference = require('./spatial-reference'); - -test('normalize-query-options, spatial-reference: undefined', t => { - t.plan(1); - const spatialRef = normalizeSpatialReference(); - t.equal(spatialRef, undefined); -}); - -test('normalize-query-options, spatial-reference: invalid type', t => { - t.plan(1); - const spatialRef = normalizeSpatialReference(true); - t.equal(spatialRef, undefined); -}); - -test('normalize-query-options, spatial-reference: invalid object', t => { - t.plan(1); - const spatialRef = normalizeSpatialReference({ test: 'foo' }); - t.equal(spatialRef, undefined); -}); - -test('normalize-query-options, spatial-reference: invalid wkid', t => { - t.plan(1); - const spatialRef = normalizeSpatialReference(99999); - t.equal(spatialRef, undefined); -}); - -test('normalize-query-options, spatial-reference: invalid wkt', t => { - t.plan(1); - const spatialRef = normalizeSpatialReference('foodbar'); - t.equal(spatialRef, undefined); -}); - -test('normalize-query-options, spatial-reference: object with wkid from proj4 list', t => { - t.plan(1); - const { wkid } = normalizeSpatialReference({ wkid: 4269 }); - t.equal(wkid, 4269); -}); - -test('normalize-query-options, spatial-reference: object with latest wkid from proj4 list', t => { - t.plan(1); - const { wkid } = normalizeSpatialReference({ latestWkid: 4269 }); - t.equal(wkid, 4269); -}); - -test('normalize-query-options, spatial-reference: object with wkt that is Web Mercator string', t => { - t.plan(1); - const inputWkt = 'PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-6.828007551173374],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]'; - const { wkid } = normalizeSpatialReference({ wkt: inputWkt }); - t.equal(wkid, 3857); -}); - -test('normalize-query-options, spatial-reference: object with wkt that is not Web Mercator string', t => { - t.plan(2); - const inputWkt = `PROJCS["NAD_1983_StatePlane_California_V_FIPS_0405_Feet", - GEOGCS["GCS_North_American_1983", - DATUM["North_American_Datum_1983", - SPHEROID["GRS_1980",6378137,298.257222101]], - PRIMEM["Greenwich",0], - UNIT["Degree",0.017453292519943295]], - PROJECTION["Lambert_Conformal_Conic_2SP"], - PARAMETER["False_Easting",6561666.666666666], - PARAMETER["False_Northing",1640416.666666667], - PARAMETER["Central_Meridian",-118], - PARAMETER["Standard_Parallel_1",34.03333333333333], - PARAMETER["Standard_Parallel_2",35.46666666666667], - PARAMETER["Latitude_Of_Origin",33.5], - UNIT["Foot_US",0.30480060960121924], - AUTHORITY["EPSG","102645"]]`; - const { wkid, wkt } = normalizeSpatialReference({ wkt: inputWkt }); - t.equal(wkt, inputWkt); - t.equal(wkid, 102645); -}); - -test('normalize-query-options, spatial-reference: Web Mercator wkt string', t => { - t.plan(1); - const inputWkt = 'PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-6.828007551173374],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]'; - const { wkid } = normalizeSpatialReference(inputWkt); - t.equal(wkid, 3857); -}); - -test('normalize-query-options, spatial-reference: non Web Mercator wkt string', t => { - t.plan(2); - const inputWkt = `PROJCS["NAD_1983_StatePlane_California_V_FIPS_0405_Feet", - GEOGCS["GCS_North_American_1983", - DATUM["North_American_Datum_1983", - SPHEROID["GRS_1980",6378137,298.257222101]], - PRIMEM["Greenwich",0], - UNIT["Degree",0.017453292519943295]], - PROJECTION["Lambert_Conformal_Conic_2SP"], - PARAMETER["False_Easting",6561666.666666666], - PARAMETER["False_Northing",1640416.666666667], - PARAMETER["Central_Meridian",-118], - PARAMETER["Standard_Parallel_1",34.03333333333333], - PARAMETER["Standard_Parallel_2",35.46666666666667], - PARAMETER["Latitude_Of_Origin",33.5], - UNIT["Foot_US",0.30480060960121924], - AUTHORITY["EPSG","102645"]]`; - const { wkt, wkid } = normalizeSpatialReference(inputWkt); - t.equal(wkt, inputWkt); - t.equal(wkid, 102645); -}); - -test('normalize-query-options, spatial-reference: prefixed wkid', t => { - t.plan(1); - const spatialRef = normalizeSpatialReference('EPSG:3857'); - t.equal(spatialRef.wkid, 3857); -}); - -test('normalize-query-options, spatial-reference: wkid number', t => { - t.plan(1); - const spatialRef = normalizeSpatialReference(3857); - t.equal(spatialRef.wkid, 3857); -}); - -test('normalize-query-options, spatial-reference: wkid 102100', t => { - t.plan(1); - const spatialRef = normalizeSpatialReference(102100); - t.equal(spatialRef.wkid, 3857); -}); - -test('normalize-query-options, spatial-reference: wkid not in Proj4 list', t => { - t.plan(2); - const inputWkt = 'PROJCS["NAD_1983_HARN_StatePlane_Washington_North_FIPS_4601",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-120.8333333333333],PARAMETER["Standard_Parallel_1",47.5],PARAMETER["Standard_Parallel_2",48.73333333333333],PARAMETER["Latitude_Of_Origin",47.0],UNIT["Meter",1.0]]'; - const { wkt, wkid } = normalizeSpatialReference(2855); - t.equal(wkt, inputWkt); - t.equal(wkid, 2855); -}); - -test('normalize-query-options, spatial-reference: object with wkid and other optional properties', t => { - t.plan(1); - const { wkid } = normalizeSpatialReference({ - wkid: 102643, - latestWkid: 2227, - xyTolerance: 0.003280833333333333, - zTolerance: 0.001, - mTolerance: 0.001, - falseX: -115860600, - falseY: -93269500, - xyUnits: 3048.0060960121928, - falseZ: -100000, - zUnits: 10000, - falseM: -100000, - mUnits: 10000 - }); - t.equal(wkid, 2227); -}); diff --git a/packages/winnow/src/normalize-query-options/where.spec.js b/packages/winnow/src/normalize-query-options/where.spec.js deleted file mode 100644 index ea879e791..000000000 --- a/packages/winnow/src/normalize-query-options/where.spec.js +++ /dev/null @@ -1,42 +0,0 @@ -const test = require('tape'); -const normalizeWhere = require('./where'); - -test('normalize-options, where: undefined', t => { - t.plan(1); - - const normalized = normalizeWhere(undefined); - t.equal(normalized, undefined); -}); - -test('normalize-options, where: error on non-strings', t => { - t.plan(1); - - try { - normalizeWhere(9999); - t.fail('should have thrown'); - } catch (error) { - t.equals(error.message, 'Invalid "where" parameter: must be a string if defined'); - } -}); - -test('normalize-options, where: no changes', t => { - t.plan(1); - - const normalized = normalizeWhere('columns = \'test\''); - t.equal(normalized, 'columns = \'test\''); -}); - -test('normalize-options, where: remove esri-style select-all when present', t => { - t.plan(1); - - const normalized = normalizeWhere('1=1'); - t.equal(normalized, undefined); -}); - -test('normalize-options, where: convert esri/sql-style dates to ISO dates', t => { - t.plan(1); - const where = 'foo=\'bar\' AND ISSUE_DATE >= date 2017-01-05 AND ISSUE_DATE <= date 2018-01-05'; - - const normalized = normalizeWhere(where); - t.equal(normalized, 'foo=\'bar\' AND ISSUE_DATE >= \'2017-01-05T00:00:00.000Z\' AND ISSUE_DATE <= \'2018-01-05T00:00:00.000Z\''); -}); diff --git a/packages/winnow/src/query/classification-query.spec.js b/packages/winnow/src/query/classification-query.spec.js deleted file mode 100644 index 6d8296d3c..000000000 --- a/packages/winnow/src/query/classification-query.spec.js +++ /dev/null @@ -1,125 +0,0 @@ -const test = require('tape'); -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const modulePath = './classification-query'; - -test('classificationQuery, unsupported classification type', t => { - const standardQuerySpy = sinon.spy(function () { - return { features: ['feature1', 'feature2'] }; - }); - - const classificationQuery = proxyquire(modulePath, { - './standard-query': standardQuerySpy - }); - - try { - classificationQuery(['feature1', 'feature2', 'feature3'], 'SQL statement', { - foo: 'bar', - collection: {}, - classification: { } - }); - t.fail('classificationQuery should have failed'); - } catch (error) { - t.equals(error.message, 'unacceptable classification type: undefined'); - t.ok(standardQuerySpy.calledOnce); - t.deepEquals(standardQuerySpy.firstCall.args, [ - ['feature1', 'feature2', 'feature3'], - 'SQL statement', - { foo: 'bar', collection: {}, classification: {} } - ]); - } - t.end(); -}); - -test('classificationQuery, unsupported breakCount', t => { - const standardQuerySpy = sinon.spy(function () { - return { features: ['feature1', 'feature2'] }; - }); - - const classificationQuery = proxyquire(modulePath, { - './standard-query': standardQuerySpy - }); - - try { - classificationQuery(['feature1', 'feature2', 'feature3'], 'SQL statement', { - foo: 'bar', - collection: {}, - classification: { type: 'classes', breakCount: 0 } - }); - t.fail('classificationQuery should have failed'); - } catch (error) { - t.equals(error.message, 'breakCount must be positive: 0'); - t.ok(standardQuerySpy.calledOnce); - t.deepEquals(standardQuerySpy.firstCall.args, [ - ['feature1', 'feature2', 'feature3'], - 'SQL statement', - { foo: 'bar', collection: {}, classification: { type: 'classes', breakCount: 0 } } - ]); - } - t.end(); -}); - -test('classificationQuery, classes classification type', t => { - const standardQuerySpy = sinon.spy(function () { - return { features: ['feature1', 'feature2'] }; - }); - - const calculateClassBreaksSpy = sinon.spy(function () { - return 'classification results'; - }); - - const classificationQuery = proxyquire(modulePath, { - './standard-query': standardQuerySpy, - '../calculate-class-breaks/index': calculateClassBreaksSpy - }); - - const result = classificationQuery(['feature1', 'feature2', 'feature3'], 'SQL statement', { - foo: 'bar', - collection: {}, - classification: { type: 'classes', breakCount: 1 } - }); - t.deepEquals(result, 'classification results'); - t.ok(standardQuerySpy.calledOnce); - t.deepEquals(standardQuerySpy.firstCall.args, [ - ['feature1', 'feature2', 'feature3'], - 'SQL statement', - { foo: 'bar', collection: {}, classification: { type: 'classes', breakCount: 1 } } - ]); - t.ok(calculateClassBreaksSpy.calledOnce); - t.deepEquals(calculateClassBreaksSpy.firstCall.args, [ - ['feature1', 'feature2'], - { type: 'classes', breakCount: 1 } - ]); - t.end(); -}); - -test('classificationQuery, unique classification type', t => { - const standardQuerySpy = sinon.spy(function () { - return { features: ['feature1', 'feature2'] }; - }); - - const uniqueValueQuerySpy = sinon.spy(function () { - return 'unique value query result'; - }); - - const classificationQuery = proxyquire(modulePath, { - './standard-query': standardQuerySpy, - './unique-value-query': uniqueValueQuerySpy - }); - - const result = classificationQuery(['feature1', 'feature2', 'feature3'], 'SQL filter statement', { - foo: 'bar', - collection: {}, - classification: { type: 'unique' } - }); - t.deepEquals(result, 'unique value query result'); - t.ok(standardQuerySpy.calledOnce); - t.deepEquals(standardQuerySpy.firstCall.args, [ - ['feature1', 'feature2', 'feature3'], - 'SQL filter statement', - { foo: 'bar', collection: {}, classification: { type: 'unique' } } - ]); - t.ok(uniqueValueQuerySpy.calledOnce); - t.deepEquals(uniqueValueQuerySpy.firstCall.args, [['feature1', 'feature2'], { type: 'unique' }]); - t.end(); -}); diff --git a/packages/winnow/src/query/normalize-query-input.spec.js b/packages/winnow/src/query/normalize-query-input.spec.js deleted file mode 100644 index 4ddb83ea0..000000000 --- a/packages/winnow/src/query/normalize-query-input.spec.js +++ /dev/null @@ -1,64 +0,0 @@ -const test = require('tape'); -const normalizeQueryInput = require('./normalize-query-input'); - -test('normalizeQueryInput: invalid input should throw error', t => { - const invalidInput = [undefined, null, {}, { features: [{}] }, [{}], 'string', 1234, true]; - - invalidInput.forEach(input => { - try { - normalizeQueryInput(input); - t.fail(`should have throw error on: ${input}`); - } catch (error) { - t.equals(error.message, 'Could not normalize query input to feature array'); - } - }); - t.end(); -}); - -test('normalizeQueryInput: object with features, properties', t => { - const result = normalizeQueryInput({ features: [{ properties: {} }] }); - t.deepEquals(result, [{ properties: {} }]); - t.end(); -}); - -test('normalizeQueryInput: object with features, attributes', t => { - const result = normalizeQueryInput({ features: [{ attributes: {} }] }); - t.deepEquals(result, [{ attributes: {} }]); - t.end(); -}); - -test('normalizeQueryInput: object with empty features array', t => { - const result = normalizeQueryInput({ features: [] }); - t.deepEquals(result, []); - t.end(); -}); - -test('normalizeQueryInput: empty array', t => { - const result = normalizeQueryInput([]); - t.deepEquals(result, []); - t.end(); -}); - -test('normalizeQueryInput: feature array, properties', t => { - const result = normalizeQueryInput([{ properties: {} }]); - t.deepEquals(result, [{ properties: {} }]); - t.end(); -}); - -test('normalizeQueryInput: feature array, attributes', t => { - const result = normalizeQueryInput([{ attributes: {} }]); - t.deepEquals(result, [{ attributes: {} }]); - t.end(); -}); - -test('normalizeQueryInput: feature, properties', t => { - const result = normalizeQueryInput({ properties: {} }); - t.deepEquals(result, [{ properties: {} }]); - t.end(); -}); - -test('normalizeQueryInput: feature attributes', t => { - const result = normalizeQueryInput({ attributes: {} }); - t.deepEquals(result, [{ attributes: {} }]); - t.end(); -}); diff --git a/packages/winnow/src/query/package-features.spec.js b/packages/winnow/src/query/package-features.spec.js deleted file mode 100644 index 34d9f7ee0..000000000 --- a/packages/winnow/src/query/package-features.spec.js +++ /dev/null @@ -1,26 +0,0 @@ -const test = require('tape'); -const packageFeatures = require('./package-features'); - -test('packageFeatures: groupBy option', t => { - const result = packageFeatures(['feature1', 'feature2'], { groupBy: true }); - t.deepEquals(result, ['feature1', 'feature2']); - t.end(); -}); - -test('packageFeatures: aggregates option', t => { - const result = packageFeatures(['feature1', 'feature2'], { aggregates: true }); - t.deepEquals(result, 'feature1'); - t.end(); -}); - -test('packageFeatures: collection option', t => { - const result = packageFeatures(['feature1', 'feature2'], { collection: { foo: 'bar' } }); - t.deepEquals(result, { foo: 'bar', features: ['feature1', 'feature2'] }); - t.end(); -}); - -test('packageFeatures: no options', t => { - const result = packageFeatures(['feature1', 'feature2'], {}); - t.deepEquals(result, ['feature1', 'feature2']); - t.end(); -}); diff --git a/packages/winnow/src/query/prepare-query.spec.js b/packages/winnow/src/query/prepare-query.spec.js deleted file mode 100644 index 78ae454cf..000000000 --- a/packages/winnow/src/query/prepare-query.spec.js +++ /dev/null @@ -1,54 +0,0 @@ -const test = require('tape'); -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const modulePath = './prepare-query'; - -test('Should return prepared query', t => { - const compiledQuerySpy = sinon.spy(() => { - return 'results'; - }); - const normalizeQueryInput = sinon.spy(function () { return ['features']; }); - const normalizeQueryOptions = sinon.spy(function (options) { return options; }); - const sqlQueryHelpers = sinon.spy({ - create: function () { return 'sql statement'; }, - params: function (features) { return [features]; } - }); - const packageFeatures = sinon.spy(function () { return 'return finished query result'; }); - - const filterAndTransform = sinon.spy({ - compile: function () { - return compiledQuerySpy; - } - }); - - const query = proxyquire(modulePath, { - './normalize-query-input': normalizeQueryInput, - '../normalize-query-options': normalizeQueryOptions, - '../sql-query-builder': sqlQueryHelpers, - './package-features': packageFeatures, - '../filter-and-transform': { - filterAndTransform - } - }); - - // Get a prepared query function - const preparedQuery = query({ hello: 'world' }); - t.ok(normalizeQueryOptions.calledOnce); - t.deepEquals(normalizeQueryOptions.firstCall.args, [{ hello: 'world' }]); - t.ok(sqlQueryHelpers.create.calledOnce); - t.deepEquals(sqlQueryHelpers.create.firstCall.args, [{ hello: 'world' }]); - t.ok(sqlQueryHelpers.params.calledOnce); - t.deepEquals(sqlQueryHelpers.params.firstCall.args, ['$features$', { hello: 'world' }]); - t.equals(typeof preparedQuery, 'function'); - - // Execute prepared query - const result = preparedQuery({ metadata: { foo: 'bar' }, features: ['features'] }); - t.ok(normalizeQueryInput.calledOnce); - t.deepEquals(normalizeQueryInput.firstCall.args, [{ metadata: { foo: 'bar' }, features: ['features'] }]); - t.ok(packageFeatures.calledOnce); - t.deepEquals(packageFeatures.firstCall.args, ['results', { hello: 'world', collection: { metadata: { foo: 'bar' } } }]); - t.equals(result, 'return finished query result'); - t.ok(compiledQuerySpy.calledOnce); - t.deepEquals(compiledQuerySpy.firstCall.args[0][0], '$features$'); - t.end(); -}); diff --git a/packages/winnow/src/query/query.spec.js b/packages/winnow/src/query/query.spec.js deleted file mode 100644 index e09f832bd..000000000 --- a/packages/winnow/src/query/query.spec.js +++ /dev/null @@ -1,129 +0,0 @@ -const test = require('tape'); -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const modulePath = './query'; - -test('Should normalize and execute standard query on feature array', t => { - const spys = sinon.spy({ - normalizeQueryInput: function () { return ['features']; }, - normalizeQueryOptions: function (options) { return options; }, - sqlQueryHelpers: sinon.spy({ - create: function () { return 'sql statement'; } - }), - standardQuery: function () { return 'standard query result'; } - }); - - const query = proxyquire(modulePath, { - './normalize-query-input': spys.normalizeQueryInput, - '../normalize-query-options': spys.normalizeQueryOptions, - '../sql-query-builder': spys.sqlQueryHelpers, - './standard-query': spys.standardQuery - }); - - const result = query(['features'], { hello: 'world' }); - t.ok(spys.normalizeQueryInput.calledOnce); - t.deepEquals(spys.normalizeQueryInput.firstCall.args, [['features']]); - t.ok(spys.normalizeQueryOptions.calledOnce); - t.deepEquals(spys.normalizeQueryOptions.firstCall.args, [{ hello: 'world' }, ['features']]); - t.ok(spys.sqlQueryHelpers.create.calledOnce); - t.deepEquals(spys.sqlQueryHelpers.create.firstCall.args, [{ hello: 'world' }]); - t.ok(spys.standardQuery.calledOnce); - t.deepEquals(spys.standardQuery.firstCall.args, [['features'], 'sql statement', { skipLimitHandling: false, hello: 'world' }] - ); - t.equals(result, 'standard query result'); - t.end(); -}); - -test('Should normalize and execute standard query on collection', t => { - const spys = sinon.spy({ - normalizeQueryInput: function () { return ['features']; }, - normalizeQueryOptions: function (options) { return options; }, - sqlQueryHelpers: sinon.spy({ - create: function () { return 'sql statement'; } - }), - standardQuery: function () { return 'standard query result'; } - }); - - const query = proxyquire(modulePath, { - './normalize-query-input': spys.normalizeQueryInput, - '../normalize-query-options': spys.normalizeQueryOptions, - '../sql-query-builder': spys.sqlQueryHelpers, - './standard-query': spys.standardQuery - }); - - const result = query({ metadata: { foo: 'bar' }, features: ['features'] }, { hello: 'world' }); - t.ok(spys.normalizeQueryInput.notCalled); - t.ok(spys.normalizeQueryOptions.calledOnce); - t.deepEquals(spys.normalizeQueryOptions.firstCall.args, [{ hello: 'world', collection: { metadata: { foo: 'bar' } } }, ['features']]); - t.ok(spys.sqlQueryHelpers.create.calledOnce); - t.deepEquals(spys.sqlQueryHelpers.create.firstCall.args, [{ hello: 'world', collection: { metadata: { foo: 'bar' } } }]); - t.ok(spys.standardQuery.calledOnce); - t.deepEquals(spys.standardQuery.firstCall.args, [ - ['features'], - 'sql statement', - { skipLimitHandling: false, hello: 'world', collection: { metadata: { foo: 'bar' } } } - ]); - t.equals(result, 'standard query result'); - t.end(); -}); - -test('Should normalize and execute breaks-classification query', t => { - const spys = sinon.spy({ - normalizeQueryInput: function () { return ['features']; }, - normalizeQueryOptions: function (options) { return options; }, - sqlQueryHelpers: sinon.spy({ - create: function () { return 'sql statement'; } - }), - classificationQuery: function () { return 'breaks classification result'; } - }); - - const query = proxyquire(modulePath, { - './normalize-query-input': spys.normalizeQueryInput, - '../normalize-query-options': spys.normalizeQueryOptions, - '../sql-query-builder': spys.sqlQueryHelpers, - './classification-query': spys.classificationQuery - }); - - const result = query({ metadata: { foo: 'bar' }, features: ['features'] }, { hello: 'world', classification: {} }); - t.ok(spys.normalizeQueryInput.notCalled); - t.ok(spys.normalizeQueryOptions.calledOnce); - t.deepEquals(spys.normalizeQueryOptions.firstCall.args, [{ hello: 'world', classification: {}, collection: { metadata: { foo: 'bar' } } }, ['features']]); - t.ok(spys.sqlQueryHelpers.create.calledOnce); - t.deepEquals(spys.sqlQueryHelpers.create.firstCall.args, [{ hello: 'world', classification: {}, collection: { metadata: { foo: 'bar' } } }]); - t.ok(spys.classificationQuery.calledOnce); - t.deepEquals(spys.classificationQuery.firstCall.args, [ - ['features'], - 'sql statement', - { classification: {}, hello: 'world', collection: { metadata: { foo: 'bar' } } } - ]); - t.equals(result, 'breaks classification result'); - t.end(); -}); - -test('Should normalize and execute aggregation query', t => { - const spys = sinon.spy({ - normalizeQueryInput: function () { return ['features']; }, - normalizeQueryOptions: function (options) { return options; }, - sqlQueryHelpers: sinon.spy({ - create: function () { return 'sql statement'; } - }), - standardQuery: function () { return 'standard query result'; } - }); - - const query = proxyquire(modulePath, { - './normalize-query-input': spys.normalizeQueryInput, - '../normalize-query-options': spys.normalizeQueryOptions, - '../sql-query-builder': spys.sqlQueryHelpers, - './standard-query': spys.standardQuery - }); - - const result = query({ metadata: { foo: 'bar' }, features: ['features'] }, { hello: 'world', aggregates: {} }); - t.ok(spys.normalizeQueryInput.notCalled); - t.ok(spys.normalizeQueryOptions.calledOnce); - t.deepEquals(spys.normalizeQueryOptions.firstCall.args, [{ hello: 'world', aggregates: {}, collection: { metadata: { foo: 'bar' } } }, ['features']]); - t.ok(spys.sqlQueryHelpers.create.calledOnce); - t.deepEquals(spys.sqlQueryHelpers.create.firstCall.args, [{ hello: 'world', aggregates: {}, collection: { metadata: { foo: 'bar' } } }]); - t.ok(spys.standardQuery.calledOnce); - t.equals(result, 'standard query result'); - t.end(); -}); diff --git a/packages/winnow/src/query/standard-query.spec.js b/packages/winnow/src/query/standard-query.spec.js deleted file mode 100644 index 2733c5996..000000000 --- a/packages/winnow/src/query/standard-query.spec.js +++ /dev/null @@ -1,88 +0,0 @@ -const test = require('tape'); -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const modulePath = './standard-query'; - -test('standardQuery, no options', t => { - const filterAndTransformSpy = sinon.spy({ - filterAndTransform: () => { - return ['feature1', 'feature2']; - } - }); - - const queryBuilderSpy = sinon.spy({ - params: () => { - return ['params1', 'params2']; - } - }); - - const standardQuery = proxyquire(modulePath, { - '../filter-and-transform': filterAndTransformSpy, - '../sql-query-builder': queryBuilderSpy - }); - - const result = standardQuery(['feature1', 'feature2', 'feature3'], 'SQL statement', { foo: 'bar' }); - t.deepEquals(result, ['feature1', 'feature2']); - t.ok(queryBuilderSpy.params.calledOnce); - t.deepEquals(queryBuilderSpy.params.firstCall.args, [['feature1', 'feature2', 'feature3'], { foo: 'bar' }]); - t.ok(filterAndTransformSpy.filterAndTransform.calledOnce); - t.deepEquals(filterAndTransformSpy.filterAndTransform.firstCall.args, ['SQL statement', ['params1', 'params2']]); - t.end(); -}); - -test('standardQuery, limit option', t => { - const filterAndTransformSpy = sinon.spy({ - filterAndTransform: () => { - return ['feature1', 'feature2']; - } - }); - - const queryBuilderSpy = sinon.spy({ - params: () => { - return ['params1', 'params2']; - } - }); - - const standardQuery = proxyquire(modulePath, { - '../filter-and-transform': filterAndTransformSpy, - '../sql-query-builder': queryBuilderSpy - }); - - const result = standardQuery(['feature1', 'feature2', 'feature3'], 'SQL statement', { foo: 'bar', limit: 2 }); - t.deepEquals(result, ['feature1']); - t.ok(queryBuilderSpy.params.calledOnce); - t.deepEquals(queryBuilderSpy.params.firstCall.args, [['feature1', 'feature2', 'feature3'], { foo: 'bar', limit: 2 }]); - t.ok(filterAndTransformSpy.filterAndTransform.calledOnce); - t.deepEquals(filterAndTransformSpy.filterAndTransform.firstCall.args, ['SQL statement', ['params1', 'params2']]); - t.end(); -}); - -test('standardQuery, limit and collection option', t => { - const filterAndTransformSpy = sinon.spy({ - filterAndTransform: () => { - return ['feature1', 'feature2']; - } - }); - - const queryBuilderSpy = sinon.spy({ - params: () => { - return ['params1', 'params2']; - } - }); - - const standardQuery = proxyquire(modulePath, { - '../filter-and-transform': filterAndTransformSpy, - '../sql-query-builder': queryBuilderSpy - }); - - const result = standardQuery(['feature1', 'feature2', 'feature3'], 'SQL statement', { foo: 'bar', limit: 2, collection: {} }); - t.deepEquals(result, { metadata: { limitExceeded: true }, features: ['feature1'] }); - t.ok(queryBuilderSpy.params.calledOnce); - t.deepEquals(queryBuilderSpy.params.firstCall.args, [ - ['feature1', 'feature2', 'feature3'], - { foo: 'bar', limit: 2, collection: { metadata: { limitExceeded: true } } } - ]); - t.ok(filterAndTransformSpy.filterAndTransform.calledOnce); - t.deepEquals(filterAndTransformSpy.filterAndTransform.firstCall.args, ['SQL statement', ['params1', 'params2']]); - t.end(); -}); diff --git a/packages/winnow/src/query/unique-value-query.spec.js b/packages/winnow/src/query/unique-value-query.spec.js deleted file mode 100644 index 91a63caa2..000000000 --- a/packages/winnow/src/query/unique-value-query.spec.js +++ /dev/null @@ -1,211 +0,0 @@ -const test = require('tape'); -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const modulePath = './unique-value-query'; -const uniqueValueQuery = require(modulePath); -test('uniqueValueQuery, too many fields', t => { - t.plan(1); - const features = [ - { properties: { Name: 'Oak', Trunk_Diameter: 13 } }, - { properties: { Name: 'Pine', Trunk_Diameter: 7 } }, - { properties: { Name: 'Oak', Trunk_Diameter: 17 } }, - { properties: { Name: 'Maple', Trunk_Diameter: 25 } }, - { properties: { Name: 'Maple', Trunk_Diameter: 3 } } - ]; - const classification = { - type: 'unique', - fields: ['Name', 'Location', 'Foo', 'Bar'] - }; - - try { - uniqueValueQuery(features, classification); - t.fail('should have thrown'); - } catch (error) { - t.equals(error.message, 'Cannot classify using more than three fields'); - } -}); - -test('uniqueValueQuery, unknown field', t => { - t.plan(1); - const features = [ - { properties: { Name: 'Oak', Trunk_Diameter: 13 } }, - { properties: { Name: 'Pine', Trunk_Diameter: 7 } }, - { properties: { Name: 'Oak', Trunk_Diameter: 17 } }, - { properties: { Name: 'Maple', Trunk_Diameter: 25 } }, - { properties: { Name: 'Maple', Trunk_Diameter: 3 } } - ]; - const classification = { - type: 'unique', - fields: ['Name', 'Location', 'Foo'] - }; - - try { - uniqueValueQuery(features, classification); - t.fail('should have thrown'); - } catch (error) { - t.equals(error.message, 'Unknown field: Location'); - } -}); - -test('uniqueValueQuery, one field', t => { - t.plan(3); - const standardQuerySpy = sinon.spy(function () { - return 'standard query result for unique values'; - }); - const uniqueValueQuery = proxyquire(modulePath, { - './standard-query': standardQuerySpy - }); - const features = [ - { properties: { Name: 'Oak', Trunk_Diameter: 13 } }, - { properties: { Name: 'Pine', Trunk_Diameter: 7 } }, - { properties: { Name: 'Oak', Trunk_Diameter: 17 } }, - { properties: { Name: 'Maple', Trunk_Diameter: 25 } }, - { properties: { Name: 'Maple', Trunk_Diameter: 3 } } - ]; - const classification = { - type: 'unique', - fields: ['Name'] - }; - - const result = uniqueValueQuery(features, classification); - t.equals(result, 'standard query result for unique values'); - t.equals(standardQuerySpy.callCount, 1); - t.deepEquals(standardQuerySpy.firstCall.args, [ - [{ - properties: { - Name: 'Oak', - Trunk_Diameter: 13 - } - }, { - properties: { - Name: 'Pine', - Trunk_Diameter: 7 - } - }, { - properties: { - Name: 'Oak', - Trunk_Diameter: 17 - } - }, { - properties: { - Name: 'Maple', - Trunk_Diameter: 25 - } - }, { - properties: { - Name: 'Maple', - Trunk_Diameter: 3 - } - }], 'SELECT COUNT(properties->`Name`) as `count`, properties->`Name` as `Name` FROM ? GROUP BY properties->`Name`', { - aggregates: [{ - type: 'count', - field: 'Name', - name: 'count' - }], - groupBy: ['Name'], - collection: undefined, - idField: null, - where: undefined, - geometry: undefined, - spatialPredicate: undefined, - fields: undefined, - order: undefined, - limit: undefined, - outputCrs: { - wkid: 4326 - }, - inputCrs: { - wkid: 4326 - }, - classification: undefined, - offset: undefined, - dateFields: [], - skipLimitHandling: true, - objectIds: undefined - } - ]); -}); - -test('uniqueValueQuery, two fields', t => { - t.plan(3); - const standardQuerySpy = sinon.spy(function () { - return 'standard query result for unique values'; - }); - const uniqueValueQuery = proxyquire(modulePath, { - './standard-query': standardQuerySpy - }); - const features = [ - { properties: { Name: 'Oak', Location: 'Mill St', Trunk_Diameter: 13 } }, - { properties: { Name: 'Pine', Location: 'Mill St', Trunk_Diameter: 7 } }, - { properties: { Name: 'Oak', Location: 'Mill St', Trunk_Diameter: 17 } }, - { properties: { Name: 'Maple', Location: 'Wilson St', Trunk_Diameter: 25 } }, - { properties: { Name: 'Maple', Location: 'Wilson St', Trunk_Diameter: 3 } } - ]; - const classification = { - type: 'unique', - fields: ['Name', 'Location'] - }; - - const result = uniqueValueQuery(features, classification); - t.equals(result, 'standard query result for unique values'); - t.equals(standardQuerySpy.callCount, 1); - t.deepEquals(standardQuerySpy.firstCall.args, [ - [{ - properties: { - Name: 'Oak', - Location: 'Mill St', - Trunk_Diameter: 13 - } - }, { - properties: { - Name: 'Pine', - Location: 'Mill St', - Trunk_Diameter: 7 - } - }, { - properties: { - Name: 'Oak', - Location: 'Mill St', - Trunk_Diameter: 17 - } - }, { - properties: { - Name: 'Maple', - Location: 'Wilson St', - Trunk_Diameter: 25 - } - }, { - properties: { - Name: 'Maple', - Location: 'Wilson St', - Trunk_Diameter: 3 - } - }], 'SELECT COUNT(properties->`Name`) as `count`, properties->`Name` as `Name`, properties->`Location` as `Location` FROM ? GROUP BY properties->`Name`, properties->`Location`', { - aggregates: [{ - type: 'count', - field: 'Name', - name: 'count' - }], - groupBy: ['Name', 'Location'], - collection: undefined, - idField: null, - where: undefined, - geometry: undefined, - spatialPredicate: undefined, - fields: undefined, - order: undefined, - limit: undefined, - outputCrs: { - wkid: 4326 - }, - inputCrs: { - wkid: 4326 - }, - classification: undefined, - offset: undefined, - dateFields: [], - skipLimitHandling: true, - objectIds: undefined - } - ]); -}); diff --git a/packages/winnow/src/sql-query-builder/create-sql-params.spec.js b/packages/winnow/src/sql-query-builder/create-sql-params.spec.js deleted file mode 100644 index b668290fa..000000000 --- a/packages/winnow/src/sql-query-builder/create-sql-params.spec.js +++ /dev/null @@ -1,52 +0,0 @@ -const test = require('tape'); -const createSqlParams = require('./create-sql-params'); - -test('createSqlParams: returns features if no options', t => { - t.plan(1); - const params = createSqlParams(['feature']); - t.deepEquals(params, [['feature']]); -}); - -test('createSqlParams: returns features and geometry filter', t => { - t.plan(1); - const params = createSqlParams(['feature'], { geometry: 'geom-filter' }); - t.deepEquals(params, [['feature'], 'geom-filter']); -}); - -test('createSqlParams: returns geometry precision, features and geometry filter', t => { - t.plan(1); - const params = createSqlParams(['feature'], { - geometryPrecision: 'precision', - geometry: 'geom-filter' - }); - t.deepEquals(params, ['precision', ['feature'], 'geom-filter']); -}); - -test('createSqlParams: returns crs, features if input/output crs different', t => { - t.plan(1); - const params = createSqlParams(['feature'], { - inputCrs: { wkid: 4326 }, - outputCrs: { wkid: 3857 } - }); - t.deepEquals(params, ['EPSG:4326', 'EPSG:3857', ['feature']]); -}); - -test('createSqlParams: does not return crs, if returnGeometry===false', t => { - t.plan(1); - const params = createSqlParams(['feature'], { - returnGeometry: false, - inputCrs: { wkid: 4326 }, - outputCrs: { wkid: 3857 } - }); - t.deepEquals(params, [['feature']]); -}); - -test('createSqlParams: does not return crs, if aggregates defined', t => { - t.plan(1); - const params = createSqlParams(['feature'], { - aggregates: true, - inputCrs: { wkid: 4326 }, - outputCrs: { wkid: 3857 } - }); - t.deepEquals(params, [['feature']]); -}); diff --git a/packages/winnow/src/sql-query-builder/create-sql-string.spec.js b/packages/winnow/src/sql-query-builder/create-sql-string.spec.js deleted file mode 100644 index 0f8d50980..000000000 --- a/packages/winnow/src/sql-query-builder/create-sql-string.spec.js +++ /dev/null @@ -1,127 +0,0 @@ -const test = require('tape'); -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); - -const whereSpy = { - create: sinon.spy(function () { - return '"substring"'; - }) -}; - -const selectSpy = sinon.spy(function () { - return 'SELECT "substring"'; -}); - -const orderBySpy = sinon.spy(function () { - return ' ORDER BY "substring"'; -}); - -const groupBySpy = sinon.spy(function () { - return ' GROUP BY "substring"'; -}); - -const testCleanup = () => { - whereSpy.create.resetHistory(); - selectSpy.resetHistory(); - orderBySpy.resetHistory(); - groupBySpy.resetHistory(); -}; - -const createSqlString = proxyquire('./create-sql-string', { - './where-builder': whereSpy, - './select': selectSpy, - './order-by': orderBySpy, - './group-by': groupBySpy -}); - -test('createSqlString: with no options', t => { - t.plan(9); - testCleanup(); - const sqlString = createSqlString(); - t.equals(sqlString, 'SELECT "substring" GROUP BY "substring" ORDER BY "substring"'); - t.equals(selectSpy.callCount, 1); - t.equals(whereSpy.create.callCount, 0); - t.equals(groupBySpy.callCount, 1); - t.equals(orderBySpy.callCount, 1); - t.deepEquals(selectSpy.firstCall.args, [{}]); - t.deepEquals(whereSpy.create.notCalled, true); - t.deepEquals(groupBySpy.firstCall.args, [{}]); - t.deepEquals(orderBySpy.firstCall.args, [{}]); - testCleanup(); -}); - -test('createSqlString: with objectIds option', t => { - t.plan(9); - testCleanup(); - const sqlString = createSqlString({ objectIds: [2] }); - t.equals(sqlString, 'SELECT "substring" WHERE "substring" GROUP BY "substring" ORDER BY "substring"'); - t.equals(selectSpy.callCount, 1); - t.equals(whereSpy.create.callCount, 1); - t.equals(groupBySpy.callCount, 1); - t.equals(orderBySpy.callCount, 1); - t.deepEquals(selectSpy.firstCall.args, [{ objectIds: [ 2 ] }]); - t.deepEquals(whereSpy.create.firstCall.args, [{ objectIds: [ 2 ] }]); - t.deepEquals(groupBySpy.firstCall.args, [{ objectIds: [ 2 ] }]); - t.deepEquals(orderBySpy.firstCall.args, [{ objectIds: [ 2 ] }]); - testCleanup(); -}); - -test('createSqlString: with where option', t => { - t.plan(9); - testCleanup(); - const sqlString = createSqlString({ where: '1=1' }); - t.equals(sqlString, 'SELECT "substring" WHERE "substring" GROUP BY "substring" ORDER BY "substring"'); - t.equals(selectSpy.callCount, 1); - t.equals(whereSpy.create.callCount, 1); - t.equals(groupBySpy.callCount, 1); - t.equals(orderBySpy.callCount, 1); - t.deepEquals(selectSpy.firstCall.args, [{ where: '1=1' }]); - t.deepEquals(whereSpy.create.firstCall.args, [{ where: '1=1' }]); - t.deepEquals(groupBySpy.firstCall.args, [{ where: '1=1' }]); - t.deepEquals(orderBySpy.firstCall.args, [{ where: '1=1' }]); - testCleanup(); -}); - -test('createSqlString: with geometry option', t => { - t.plan(9); - testCleanup(); - const sqlString = createSqlString({ geometry: [0,0,0,0] }); - t.equals(sqlString, 'SELECT "substring" WHERE "substring" GROUP BY "substring" ORDER BY "substring"'); - t.equals(selectSpy.callCount, 1); - t.equals(whereSpy.create.callCount, 1); - t.equals(groupBySpy.callCount, 1); - t.equals(orderBySpy.callCount, 1); - t.deepEquals(selectSpy.firstCall.args, [{ geometry: [0,0,0,0] }]); - t.deepEquals(whereSpy.create.firstCall.args, [{ geometry: [0,0,0,0] }]); - t.deepEquals(groupBySpy.firstCall.args, [{ geometry: [0,0,0,0] }]); - t.deepEquals(orderBySpy.firstCall.args, [{ geometry: [0,0,0,0] }]); - testCleanup(); -}); - -test('createSqlString: with limit and offset options', t => { - t.plan(9); - testCleanup(); - const sqlString = createSqlString({ - limit: 10, - offset: 20 - }); - t.equals(sqlString, 'SELECT "substring" GROUP BY "substring" ORDER BY "substring" LIMIT 10 OFFSET 20'); - t.equals(selectSpy.callCount, 1); - t.equals(whereSpy.create.callCount, 0); - t.equals(groupBySpy.callCount, 1); - t.equals(orderBySpy.callCount, 1); - t.deepEquals(selectSpy.firstCall.args, [{ - limit: 10, - offset: 20 - }]); - t.deepEquals(whereSpy.create.notCalled, true); - t.deepEquals(groupBySpy.firstCall.args, [{ - limit: 10, - offset: 20 - }]); - t.deepEquals(orderBySpy.firstCall.args, [{ - limit: 10, - offset: 20 - }]); - testCleanup(); -}); diff --git a/packages/winnow/src/sql-query-builder/group-by.spec.js b/packages/winnow/src/sql-query-builder/group-by.spec.js deleted file mode 100644 index c04414dc1..000000000 --- a/packages/winnow/src/sql-query-builder/group-by.spec.js +++ /dev/null @@ -1,26 +0,0 @@ -const test = require('tape'); -const createGroupByClause = require('./group-by'); - -test('createGroupByClause: returns empty string if no options', t => { - t.plan(1); - const groupByClause = createGroupByClause(); - t.equals(groupByClause, ''); -}); - -test('createGroupByClause: returns empty string if empty options', t => { - t.plan(1); - const groupByClause = createGroupByClause({}); - t.equals(groupByClause, ''); -}); - -test('createGroupByClause: returns groupBy clause', t => { - t.plan(1); - const groupByClause = createGroupByClause({ groupBy: ['foo', 'bar'] }); - t.equals(groupByClause, ' GROUP BY properties->`foo`, properties->`bar`'); -}); - -test('createGroupByClause: returns groupBy clause for esri JSON', t => { - t.plan(1); - const groupByClause = createGroupByClause({ esri: true, groupBy: ['foo', 'bar'] }); - t.equals(groupByClause, ' GROUP BY attributes->`foo`, attributes->`bar`'); -}); diff --git a/packages/winnow/src/sql-query-builder/is-different-crs.spec.js b/packages/winnow/src/sql-query-builder/is-different-crs.spec.js deleted file mode 100644 index c6bf67230..000000000 --- a/packages/winnow/src/sql-query-builder/is-different-crs.spec.js +++ /dev/null @@ -1,44 +0,0 @@ -const test = require('tape'); -const isDifferentCrs = require('./is-different-crs'); - -test('isDifferentCrs: different WKIDs', t => { - t.plan(1); - const result = isDifferentCrs({ wkid: 4326 }, { wkid: 3857 }); - t.equals(result, true); -}); - -test('isDifferentCrs: same WKIDs', t => { - t.plan(1); - const result = isDifferentCrs({ wkid: 4326 }, { wkid: 4326 }); - t.equals(result, false); -}); - -test('isDifferentCrs: different WKTs', t => { - t.plan(1); - const result = isDifferentCrs({ wkt: 'wkt-string' }, { wkt: 'foodbar' }); - t.equals(result, true); -}); - -test('isDifferentCrs: same WKTs', t => { - t.plan(1); - const result = isDifferentCrs({ wkt: 'wkt-string' }, { wkt: 'wkt-string' }); - t.equals(result, false); -}); - -test('isDifferentCrs: different WKTs', t => { - t.plan(1); - const result = isDifferentCrs({ wkt: 'wkt-string' }, { wkt: 'foodbar' }); - t.equals(result, true); -}); - -test('isDifferentCrs: mixed wkt and wkid', t => { - t.plan(1); - const result = isDifferentCrs({ wkid: 4326 }, { wkt: 'wkt-string' }); - t.equals(result, true); -}); - -test('isDifferentCrs: mixed wkt and wkid', t => { - t.plan(1); - const result = isDifferentCrs({ wkt: 'wkt-string' }, { wkid: 4326 }); - t.equals(result, true); -}); diff --git a/packages/winnow/src/sql-query-builder/order-by.spec.js b/packages/winnow/src/sql-query-builder/order-by.spec.js deleted file mode 100644 index 8acd29995..000000000 --- a/packages/winnow/src/sql-query-builder/order-by.spec.js +++ /dev/null @@ -1,44 +0,0 @@ -const test = require('tape'); -const createOrderByClause = require('./order-by'); - -test('createOrderByClause: returns empty string if no options', t => { - t.plan(1); - const orderByClause = createOrderByClause(); - t.equals(orderByClause, ''); -}); - -test('createOrderByClause: returns empty string if empty options', t => { - t.plan(1); - const orderByClause = createOrderByClause({}); - t.equals(orderByClause, ''); -}); - -test('createOrderByClause: returns orderBy clause with default direction', t => { - t.plan(1); - const orderByClause = createOrderByClause({ order: ['foo', 'bar'] }); - t.equals(orderByClause, ' ORDER BY properties->`foo` ASC, properties->`bar` ASC'); -}); - -test('createOrderByClause: returns orderBy clause for esri JSON', t => { - t.plan(1); - const orderByClause = createOrderByClause({ esri: true, order: ['foo', 'bar'] }); - t.equals(orderByClause, ' ORDER BY attributes->`foo` ASC, attributes->`bar` ASC'); -}); - -test('createOrderByClause: returns orderBy clause with directions ', t => { - t.plan(1); - const orderByClause = createOrderByClause({ order: ['foo DESC', 'bar DESC'] }); - t.equals(orderByClause, ' ORDER BY properties->`foo` DESC, properties->`bar` DESC'); -}); - -test('createOrderByClause: returns orderBy clause formated for aggregation select', t => { - t.plan(1); - const orderByClause = createOrderByClause({ order: ['foo DESC', 'bar DESC'], aggregates: [{ name: 'foo' }] }); - t.equals(orderByClause, ' ORDER BY `foo` DESC, properties->`bar` DESC'); -}); - -test('createOrderByClause: returns orderBy clause formated for aggregation select', t => { - t.plan(1); - const orderByClause = createOrderByClause({ order: ['foo DESC', 'bar DESC'], aggregates: [{ name: 'hello' }] }); - t.equals(orderByClause, ' ORDER BY properties->`foo` DESC, properties->`bar` DESC'); -}); diff --git a/packages/winnow/src/sql-query-builder/select/fields-select-fragment.spec.js b/packages/winnow/src/sql-query-builder/select/fields-select-fragment.spec.js deleted file mode 100644 index 36a755433..000000000 --- a/packages/winnow/src/sql-query-builder/select/fields-select-fragment.spec.js +++ /dev/null @@ -1,119 +0,0 @@ -const test = require('tape'); -const createFieldsSelectFragment = require('./fields-select-fragment'); - -test('createFieldsSelectFragment: no specification', t => { - const fieldsFragment = createFieldsSelectFragment({}); - t.equal(fieldsFragment, 'type, properties as properties'); - t.end(); -}); - -test('createFieldsSelectFragment: fields option', t => { - const fieldsFragment = createFieldsSelectFragment({ - fields: ['foo', 'bar'] - }); - t.equal(fieldsFragment, 'selectFields(properties, "foo,bar") as properties'); - t.end(); -}); - -test('createFieldsSelectFragment: fields and dateFields options', t => { - const fieldsFragment = createFieldsSelectFragment({ - fields: ['foo', 'bar', 'hello', 'world'], - dateFields: ['foo', 'hello'] - }); - t.equal(fieldsFragment, 'selectFields(properties, "foo,bar,hello,world") as properties'); - t.end(); -}); - -test('createFieldsSelectFragment: fields, dateFields, returnIdsOnly options', t => { - const fieldsFragment = createFieldsSelectFragment({ - fields: ['foo', 'bar', 'hello', 'world'], - dateFields: ['foo', 'hello'], - returnIdsOnly: true - }); - t.equal(fieldsFragment, 'selectFields(properties, "foo,bar,hello,world") as properties'); - t.end(); -}); - -test('createFieldsSelectFragment: fields, dateFields, returnIdsOnly, idField options', t => { - const fieldsFragment = createFieldsSelectFragment({ - fields: ['foo', 'bar', 'hello', 'world'], - dateFields: ['foo', 'hello'], - returnIdsOnly: true, - idField: 'bar' - }); - t.equal(fieldsFragment, 'selectFields(properties, "foo,bar,hello,world") as properties'); - t.end(); -}); - -test('createFieldsSelectFragment: fields, dateFields, returnIdsOnly, idField as OBJECTID options', t => { - const fieldsFragment = createFieldsSelectFragment({ - fields: ['foo', 'OBJECTID', 'hello', 'world'], - dateFields: ['foo', 'hello'], - returnIdsOnly: true, - idField: 'OBJECTID' - }); - t.equal(fieldsFragment, 'selectFields(properties, "foo,OBJECTID,hello,world") as properties'); - t.end(); -}); - -test('createFieldsSelectFragment: toEsri option', t => { - const fieldsFragment = createFieldsSelectFragment({ - toEsri: true - }); - t.equal(fieldsFragment, 'toEsriAttributes(properties, geometry, "", "true", "null") as attributes'); - t.end(); -}); - -test('createFieldsSelectFragment: toEsri and fields options', t => { - const fieldsFragment = createFieldsSelectFragment({ - toEsri: true, - fields: ['foo', 'bar'] - }); - t.equal(fieldsFragment, 'selectFieldsToEsriAttributes(properties, geometry, "foo,bar", "", "false", "null") as attributes'); - t.end(); -}); - -test('createFieldsSelectFragment: toEsri, fields, dateFields options', t => { - const fieldsFragment = createFieldsSelectFragment({ - toEsri: true, - fields: ['foo', 'bar', 'hello', 'world'], - dateFields: ['foo', 'hello'] - }); - t.equal(fieldsFragment, 'selectFieldsToEsriAttributes(properties, geometry, "foo,bar,hello,world", "foo,hello", "false", "null") as attributes'); - t.end(); -}); - -test('createFieldsSelectFragment: toEsri, fields, dateFields, returnIdsOnly options', t => { - const fieldsFragment = createFieldsSelectFragment({ - toEsri: true, - fields: ['foo', 'bar', 'hello', 'world'], - dateFields: ['foo', 'hello'], - returnIdsOnly: true - }); - t.equal(fieldsFragment, 'selectFieldsToEsriAttributes(properties, geometry, "foo,bar,hello,world", "foo,hello", "true", "null") as attributes'); - t.end(); -}); - -test('createFieldsSelectFragment: toEsri, fields, dateFields, returnIdsOnly, idField options', t => { - const fieldsFragment = createFieldsSelectFragment({ - toEsri: true, - fields: ['foo', 'bar', 'hello', 'world'], - dateFields: ['foo', 'hello'], - returnIdsOnly: true, - idField: 'bar' - }); - t.equal(fieldsFragment, 'selectFieldsToEsriAttributes(properties, geometry, "foo,bar,hello,world", "foo,hello", "true", "bar") as attributes'); - t.end(); -}); - -test('createFieldsSelectFragment: toEsri, fields, dateFields, returnIdsOnly, idField as OBJECTID options', t => { - const fieldsFragment = createFieldsSelectFragment({ - toEsri: true, - fields: ['foo', 'OBJECTID', 'hello', 'world'], - dateFields: ['foo', 'hello'], - returnIdsOnly: true, - idField: 'OBJECTID' - }); - t.equal(fieldsFragment, 'selectFieldsToEsriAttributes(properties, geometry, "foo,OBJECTID,hello,world", "foo,hello", "true", "OBJECTID") as attributes'); - t.end(); -}); diff --git a/packages/winnow/src/sql-query-builder/select/geometry-select-fragment.spec.js b/packages/winnow/src/sql-query-builder/select/geometry-select-fragment.spec.js deleted file mode 100644 index ab7569b24..000000000 --- a/packages/winnow/src/sql-query-builder/select/geometry-select-fragment.spec.js +++ /dev/null @@ -1,56 +0,0 @@ -const test = require('tape'); -const createGeometrySelectFragment = require('./geometry-select-fragment'); - -test('createGeometryFragment: no options', t => { - const geometryFragment = createGeometrySelectFragment(); - t.equal(geometryFragment, 'geometry'); - t.end(); -}); - -test('createGeometryFragment: empty options', t => { - const geometryFragment = createGeometrySelectFragment({}); - t.equal(geometryFragment, 'geometry'); - t.end(); -}); - -test('createGeometryFragment: same input/output CRS option', t => { - const geometryFragment = createGeometrySelectFragment({ inputCrs: { wkid: 3857 }, outputCrs: { wkid: 3857 } }); - t.equal(geometryFragment, 'geometry'); - t.end(); -}); - -test('createGeometryFragment: different input/output CRS option', t => { - const geometryFragment = createGeometrySelectFragment({ inputCrs: { wkid: 4326 }, outputCrs: { wkid: 3857 } }); - t.equal(geometryFragment, 'project(geometry,?,?) as geometry'); - t.end(); -}); - -test('createGeometryFragment: geometryPrecision option', t => { - const geometryFragment = createGeometrySelectFragment({ geometryPrecision: 1 }); - t.equal(geometryFragment, 'reducePrecision(geometry,?) as geometry'); - t.end(); -}); - -test('createGeometryFragment: toEsri option', t => { - const geometryFragment = createGeometrySelectFragment({ toEsri: true }); - t.equal(geometryFragment, 'esriGeometry(geometry) as geometry'); - t.end(); -}); - -test('createGeometryFragment: different input/output CRS, and geometryPrecision options', t => { - const geometryFragment = createGeometrySelectFragment({ inputCrs: { wkid: 4326 }, outputCrs: { wkid: 3857 }, geometryPrecision: 1 }); - t.equal(geometryFragment, 'reducePrecision(project(geometry,?,?),?) as geometry'); - t.end(); -}); - -test('createGeometryFragment: different input/output CRS, geometryPrecision, and toEsri options', t => { - const geometryFragment = createGeometrySelectFragment({ inputCrs: { wkid: 4326 }, outputCrs: { wkid: 3857 }, geometryPrecision: 1, toEsri: true }); - t.equal(geometryFragment, 'esriGeometry(reducePrecision(project(geometry,?,?),?)) as geometry'); - t.end(); -}); - -test('createGeometryFragment: different input/output CRS, and toEsri options', t => { - const geometryFragment = createGeometrySelectFragment({ inputCrs: { wkid: 4326 }, outputCrs: { wkid: 3857 }, toEsri: true }); - t.equal(geometryFragment, 'esriGeometry(project(geometry,?,?)) as geometry'); - t.end(); -}); diff --git a/packages/winnow/src/sql-query-builder/select/index.spec.js b/packages/winnow/src/sql-query-builder/select/index.spec.js deleted file mode 100644 index 818355aa4..000000000 --- a/packages/winnow/src/sql-query-builder/select/index.spec.js +++ /dev/null @@ -1,38 +0,0 @@ -const test = require('tape'); -const sinon = require('sinon'); -const proxyquire = require('proxyquire'); -const createSelectSql = proxyquire('./', { - './aggregation-select': sinon.stub().returns('aggregation SELECT'), - './geometry-select-fragment': sinon.stub().returns('geometry fragment'), - './fields-select-fragment': sinon.stub().returns('fields fragment') -}); - -test('createSelectSql: no options', async (spec) => { - spec.plan(1); - const result = createSelectSql(); - spec.equals(result, 'SELECT fields fragment, geometry fragment FROM ?'); -}); - -test('createSelectSql: empty options', async (spec) => { - spec.plan(1); - const result = createSelectSql({}); - spec.equals(result, 'SELECT fields fragment, geometry fragment FROM ?'); -}); - -test('createSelectSql: aggregates option', async (spec) => { - spec.plan(1); - const result = createSelectSql({ aggregates: ['test'] }); - spec.equals(result, 'aggregation SELECT'); -}); - -test('createSelectSql: returnGeometry:false option', async (spec) => { - spec.plan(1); - const result = createSelectSql({ returnGeometry: false }); - spec.equals(result, 'SELECT fields fragment FROM ?'); -}); - -test('createSelectSql: distinct:true option', async (spec) => { - spec.plan(1); - const result = createSelectSql({ distinct: true, returnGeometry: false }); - spec.equals(result, 'SELECT DISTINCT fields fragment FROM ?'); -}); \ No newline at end of file diff --git a/packages/winnow/src/sql-query-builder/where-builder/index.spec.js b/packages/winnow/src/sql-query-builder/where-builder/index.spec.js deleted file mode 100644 index 08d1e1d5f..000000000 --- a/packages/winnow/src/sql-query-builder/where-builder/index.spec.js +++ /dev/null @@ -1,158 +0,0 @@ -/* eslint-disable quotes */ -const test = require('tape'); -const WhereBuilder = require('.'); - -test('WhereBuilder.create: returns empty string if no options', (t) => { - t.plan(1); - const whereClause = WhereBuilder.create(); - t.equals(whereClause, undefined); -}); - -test('WhereBuilder.create: returns empty string if empty options', (t) => { - t.plan(1); - const whereClause = WhereBuilder.create({}); - t.equals(whereClause, undefined); -}); - -test('WhereBuilder.create: where param', (t) => { - t.plan(1); - const whereClause = WhereBuilder.create({ - where: "color='red'", - }); - t.equals(whereClause, "properties->`color` = 'red'"); -}); - -test('WhereBuilder.create: objectIds param', (t) => { - t.plan(1); - const whereClause = WhereBuilder.create({ - objectIds: [1, 2], - idField: 'OBJECTID' - }); - t.equals(whereClause, "properties->`OBJECTID` IN (1, 2 )"); -}); - -test('WhereBuilder.create: where param and objectIds param', (t) => { - t.plan(1); - const whereClause = WhereBuilder.create({ - where: "color='red'", - objectIds: [1, 2], - idField: 'OBJECTID' - }); - t.equals(whereClause, "properties->`color` = 'red' AND properties->`OBJECTID` IN (1, 2 )"); -}); - -test('WhereBuilder.create: returns where clause with geometry predicate', (t) => { - t.plan(1); - const whereClause = WhereBuilder.create({ - geometry: [0, 0, 0, 0], - }); - t.equals(whereClause, 'ST_Intersects(geometry, ?)'); -}); - -test('WhereBuilder.create: returns where clause with translated sql-where and geometry predicate', (t) => { - t.plan(1); - const whereClause = WhereBuilder.create({ - geometry: [0, 0, 0, 0], - where: "color='red'", - }); - t.equals( - whereClause, - "properties->`color` = 'red' AND ST_Intersects(geometry, ?)", - ); -}); - -test('WhereBuilder.create: transform a predicate with OBJECTID and no metadata fields to user-defined function', (t) => { - t.plan(1); - - const whereClause = WhereBuilder.create({ where: 'OBJECTID=1234' }); - t.equals( - whereClause, - "hashedObjectIdComparator(properties, geometry, 1234, '=')=true", // eslint-disable-line - ); -}); - -test('WhereBuilder.create: transform a predicate with OBJECTID and no metadata fields to Esri flavor with user-defined function', (t) => { - t.plan(1); - const options = { - esri: true, - where: 'OBJECTID=1234', - }; - - const whereClause = WhereBuilder.create(options); - t.equals( - whereClause, - "hashedObjectIdComparator(attributes, geometry, 1234, '=')=true", // eslint-disable-line - ); -}); - -test('WhereBuilder.create: transform an inverse predicate with OBJECTID and no metadata fields to Esri flavor with user-defined function', (t) => { - t.plan(1); - const options = { - esri: true, - where: '1234>OBJECTID', - }; - - const whereClause = WhereBuilder.create(options); - t.equals( - whereClause, - "hashedObjectIdComparator(attributes, geometry, 1234, '<=')=true", // eslint-disable-line - ); -}); - -test('WhereBuilder.create: handle BETWEEN', (t) => { - t.plan(1); - - const whereClause = WhereBuilder.create({ - where: "the_date BETWEEN DATE '2015-01-01' AND DATE '2019-01-01'", - }); - t.equals( - whereClause, - "properties->`the_date` BETWEEN '2015-01-01T00:00:00.000Z' AND '2019-01-01T00:00:00.000Z'", - ); -}); - -test('WhereBuilder.create: handle mixed-case DATE cast', (t) => { - t.plan(1); - - const whereClause = WhereBuilder.create({ where: "foo > Date '2012-02-01'" }); - t.equals(whereClause, "properties->`foo` > '2012-02-01T00:00:00.000Z'"); -}); - -test('WhereBuilder.create: handle escaped single quotes', (t) => { - t.plan(1); - - const whereClause = WhereBuilder.create({ - where: "Street_Name = 'GRAND''S STREET''S'", - }); - t.equals(whereClause, "properties->`Street_Name` = 'GRAND\\'S STREET\\'S'"); // eslint-disable-line -}); - -test('WhereBuilder.create: handle TIMESTAMP cast', (t) => { - t.plan(1); - - const whereClause = WhereBuilder.create({ - where: "foo > TIMESTAMP '2012-02-01 12:15'", - }); - t.equals(whereClause, "properties->`foo` > '2012-02-01T12:15:00.000Z'"); -}); - -test('WhereBuilder.create: handle DATE cast', (t) => { - t.plan(1); - - const whereClause = WhereBuilder.create({ where: "foo > DATE '2012-02-01'" }); - t.equals(whereClause, "properties->`foo` > '2012-02-01T00:00:00.000Z'"); -}); - -test('WhereBuilder.create: handle TIMESTAMP cast error', (t) => { - t.plan(1); - - try { - WhereBuilder.create({ where: "foo > TIMESTAMP 'barz'" }); - t.fail('should have thrown'); - } catch (error) { - t.equals( - error.message, - 'Invalid "where" parameter: Invalid time value for timestamp "barz"', - ); - } -}); diff --git a/packages/winnow/src/sql-query-builder/where-builder/to-json-where.spec.js b/packages/winnow/src/sql-query-builder/where-builder/to-json-where.spec.js deleted file mode 100644 index 14b7a884f..000000000 --- a/packages/winnow/src/sql-query-builder/where-builder/to-json-where.spec.js +++ /dev/null @@ -1,207 +0,0 @@ -/* eslint-disable quotes */ -const test = require('tape'); -const translateSqlWhere = require('./to-json-where'); - -test('toJsonWhere: transform a simple equality predicate', (t) => { - t.plan(1); - - const whereFragment = translateSqlWhere("foo='bar'"); - t.equals(whereFragment, "properties->`foo` = 'bar'"); -}); - -test('toJsonWhere: transform a simple but inverse predicate', (t) => { - t.plan(1); - const whereFragment = translateSqlWhere("'bar'=foo"); - t.equals(whereFragment, "'bar' = properties->`foo`"); -}); - -test('toJsonWhere: handle LIKE', (t) => { - t.plan(1); - - const whereFragment = translateSqlWhere("foo LIKE '%bar%'"); - t.equals(whereFragment, "properties->`foo` LIKE '%bar%'"); -}); - -test('toJsonWhere: transform a simple predicate to a form required for Esri JSON', (t) => { - t.plan(1); - const options = { - esri: true, - }; - const whereFragment = translateSqlWhere("foo='bar'", options); - t.equals(whereFragment, "attributes->`foo` = 'bar'"); -}); - -test('toJsonWhere: transform a simple but inverse predicate to Esri flavor', (t) => { - t.plan(1); - const options = { - esri: true, - }; - - const whereFragment = translateSqlWhere("'bar'=foo", options); - t.equals(whereFragment, "'bar' = attributes->`foo`"); -}); - -test('toJsonWhere: transform a predicate with OBJECTID and metadata fields that define the OBJECTID', (t) => { - t.plan(1); - const options = { - idField: 'OBJECTID', - collection: { - metadata: { - fields: [{ name: 'OBJECTID' }], - }, - }, - }; - - const whereFragment = translateSqlWhere('OBJECTID=1234', options); - t.equals(whereFragment, 'properties->`OBJECTID` = 1234'); -}); - -test('toJsonWhere: handles 1=1', (t) => { - t.plan(1); - const whereFragment = translateSqlWhere('1=1'); - t.equals(whereFragment, '1 = 1'); -}); - -test('toJsonWhere: handles (expression))', (t) => { - t.plan(1); - const whereFragment = translateSqlWhere( - "(model = 'ford' OR model = 'benz') AND color = 'white'", - ); - t.equals( - whereFragment, - "(properties->`model` = 'ford' OR properties->`model` = 'benz') AND properties->`color` = 'white'", - ); -}); - -test('toJsonWhere: handle unary', (t) => { - t.plan(1); - - const whereFragment = translateSqlWhere('-foo < 0'); - t.equals(whereFragment, '- properties->`foo` < 0'); -}); - -test('toJsonWhere: handle function call', (t) => { - t.plan(1); - - const whereFragment = translateSqlWhere("now() = 'test'"); - t.equals(whereFragment, "now() = 'test'"); -}); - -test('toJsonWhere: handle IN list', (t) => { - t.plan(1); - - const whereFragment = translateSqlWhere('foo IN (1,2,3)'); - t.equals(whereFragment, 'properties->`foo` IN (1, 2, 3 )'); -}); - -test('toJsonWhere: handle IS NULL', (t) => { - t.plan(1); - - const whereFragment = translateSqlWhere('foo IS NULL'); - t.equals(whereFragment, 'properties->`foo` IS NULL'); -}); - -test('toJsonWhere: handle IS NOT NULL', (t) => { - t.plan(1); - - const whereFragment = translateSqlWhere('foo IS NOT NULL'); - t.equals(whereFragment, 'properties->`foo` IS NOT NULL'); -}); - -test('toJsonWhere: handle boolean', (t) => { - t.plan(1); - - const whereFragment = translateSqlWhere('foo = TRUE'); - t.equals(whereFragment, 'properties->`foo` = TRUE'); -}); - -test('toJsonWhere: handle mixed case', (t) => { - t.plan(1); - - const whereFragment = translateSqlWhere('fOOoo IS NULL'); - t.equals(whereFragment, 'properties->`fOOoo` IS NULL'); -}); - -test('toJsonWhere: handles double quoted column', (t) => { - t.plan(1); - - const whereFragment = translateSqlWhere('"fOOoo" IS NULL'); - t.equals(whereFragment, 'properties->`fOOoo` IS NULL'); -}); - -test('toJsonWhere: handle BETWEEN', (t) => { - t.plan(1); - - const whereFragment = translateSqlWhere( - "the_date BETWEEN '2015-01-01T00:00:00.000Z' AND '2019-01-01T00:00:00.000Z'", - ); - t.equals( - whereFragment, - "properties->`the_date` BETWEEN '2015-01-01T00:00:00.000Z' AND '2019-01-01T00:00:00.000Z'", - ); -}); - -test('toJsonWhere: transform a simple equality predicate and transform values by code value domain', (t) => { - t.plan(1); - const options = { - esriFields: [ - { - name: 'State', - domain: { - type: 'codedValue', - name: 'State', - codedValues: [ - { - name: 'Virginia', - code: '1', - }, - { - name: 'Maryland', - code: '2', - }, - ], - }, - }, - ], - }; - const whereFragment = translateSqlWhere("State = '1'", options); - t.equals(whereFragment, "properties->`State` = 'Virginia'"); -}); - -test('toJsonWhere: transform a IN list and transform values by code value domain', (t) => { - t.plan(1); - const options = { - esriFields: [ - { - name: 'State', - domain: { - type: 'codedValue', - name: 'State', - codedValues: [ - { - name: 'Virginia', - code: '1', - }, - { - name: 'Maryland', - code: '2', - }, - ], - }, - }, - ], - }; - const whereFragment = translateSqlWhere("State IN ('1', '2')", options); - t.equals(whereFragment, "properties->`State` IN ('Virginia', 'Maryland' )"); -}); - -test('toJsonWhere: handle error', (t) => { - t.plan(1); - - try { - translateSqlWhere('"foo"" = 1'); - t.fail('should have thrown'); - } catch (error) { - t.equals(error.message, 'Invalid "where" parameter: "foo"" = 1'); - } -}); diff --git a/packages/winnow/test/integration/aggregate.spec.js b/packages/winnow/test/integration/aggregate.spec.js deleted file mode 100644 index bb7052c5e..000000000 --- a/packages/winnow/test/integration/aggregate.spec.js +++ /dev/null @@ -1,300 +0,0 @@ -'use strict'; -const test = require('tape'); -const winnow = require('../../src'); -const features = require('./fixtures/trees.json'); -const snowFeatures = require('./fixtures/snow.json'); - -test('Get a sum', t => { - t.plan(1); - const options = { - aggregates: [ - { - type: 'sum', - field: 'Trunk_Diameter' - } - ] - }; - const results = winnow.query(features, options); - t.equal(results.sum_Trunk_Diameter, 263); -}); - -test('Use a group by', t => { - t.plan(3); - const options = { - aggregates: [ - { - type: 'avg', - field: 'Trunk_Diameter' - } - ], - groupBy: 'Genus' - }; - const results = winnow.query(features, options); - t.equal(results.length, 6); - t.ok(results[0].Genus); - t.ok(results[0].avg_Trunk_Diameter); -}); - -test('Use an order and a group by', t => { - t.plan(2); - const options = { - aggregates: [ - { - type: 'avg', - field: 'Trunk_Diameter' - } - ], - groupBy: 'Genus', - order: 'avg_Trunk_Diameter DESC' - }; - const results = winnow.query(features, options); - t.equal(results.length, 6); - t.equal(results[0].avg_Trunk_Diameter, 13.166666666666666); -}); - -test('Use a group by esri style', t => { - t.plan(3); - const options = { - outStatistics: [ - { - statisticType: 'avg', - onStatisticField: 'Trunk_Diameter' - } - ], - groupByFieldsForStatistics: ['Genus'] - }; - const results = winnow.query(features, options); - t.equal(results.length, 6); - t.ok(results[0].Genus); - t.ok(results[0].avg_Trunk_Diameter); -}); - -test('Use multiple group bys', t => { - t.plan(4); - const options = { - aggregates: [ - { - type: 'avg', - field: 'Trunk_Diameter' - } - ], - groupBy: ['Genus', 'Common_Name'] - }; - const results = winnow.query(features, options); - t.equal(results.length, 7); - t.ok(results[0].Genus); - t.ok(results[0].Common_Name); - t.ok(results[0].avg_Trunk_Diameter); -}); - -test('Use multiple group bys ESRI style', t => { - t.plan(4); - const options = { - aggregates: [ - { - type: 'avg', - field: 'Trunk_Diameter' - } - ], - groupByFieldsForStatistics: 'Genus,Common_Name' - }; - const results = winnow.query(features, options); - t.equal(results.length, 7); - t.ok(results[0].Genus); - t.ok(results[0].Common_Name); - t.ok(results[0].avg_Trunk_Diameter); -}); - -test('Use a group by with a where clause', t => { - t.plan(3); - const options = { - aggregates: [ - { - type: 'avg', - field: 'Trunk_Diameter' - } - ], - where: 'Trunk_Diameter > 10', - groupBy: 'Genus' - }; - const results = winnow.query(features, options); - t.equal(results.length, 3); - t.ok(results[0].Genus); - t.ok(results[0].avg_Trunk_Diameter); -}); - -test('Get a named aggregate', t => { - t.plan(1); - const options = { - aggregates: [ - { - type: 'sum', - field: 'Trunk_Diameter', - name: 'total_diameter' - } - ] - }; - const results = winnow.query(features, options); - t.equal(results.total_diameter, 263); -}); - -test('Get an aggregate on a field with a space', t => { - t.plan(1); - const options = { - aggregates: [ - { - type: 'sum', - field: 'total precip' - } - ] - }; - const results = winnow.query(snowFeatures, options); - t.equal(results.sum_total_precip, 5.300000000000001); -}); - -test('Get an aggregate on a field with a /', t => { - t.plan(1); - const options = { - aggregates: [ - { - type: 'count', - field: 'Test/Field', - name: 'Test/Field_COUNT' - } - ] - }; - const results = winnow.query(features, options); - t.equal(results['Test/Field_COUNT'], 2); -}); - -test('Get the variance of a field', t => { - t.plan(1); - const options = { - aggregates: [ - { - type: 'var', - field: 'total precip' - } - ] - }; - const results = winnow.query(snowFeatures, options); - t.equal(results.var_total_precip, 0.02571923076923076); -}); - -test('Get an aggregate with a where clause', t => { - t.plan(1); - const options = { - aggregates: [ - { - type: 'sum', - field: 'Trunk_Diameter', - name: 'total_diameter' - } - ], - where: 'Trunk_Diameter > 10' - }; - const results = winnow.query(features, options); - t.equal(results.total_diameter, 207); -}); - -test('Get multiple aggregates', t => { - t.plan(2); - const options = { - aggregates: [ - { - type: 'sum', - field: 'Trunk_Diameter', - name: 'total_diameter' - }, - { - type: 'max', - field: 'Trunk_Diameter', - name: 'max_diameter' - } - ] - }; - const results = winnow.query(features, options); - t.equal(results.total_diameter, 263); - t.equal(results.max_diameter, 27); -}); - -test('Get multiple aggregates specified in the esri way', t => { - t.plan(2); - const options = { - outStatistics: [ - { - statisticType: 'sum', - onStatisticField: 'Trunk_Diameter', - outStatisticFieldName: 'total_diameter' - }, - { - statisticType: 'max', - onStatisticField: 'Trunk_Diameter', - outStatisticFieldName: 'max_diameter' - } - ] - }; - const results = winnow.query(features, options); - t.equal(results.total_diameter, 263); - t.equal(results.max_diameter, 27); -}); - -test('Get multiple aggregates with a where clause', t => { - t.plan(2); - const options = { - aggregates: [ - { - type: 'sum', - field: 'Trunk_Diameter', - name: 'total_diameter' - }, - { - type: 'max', - field: 'Trunk_Diameter', - name: 'max_diameter' - } - ], - where: 'Trunk_Diameter > 10' - }; - const results = winnow.query(features, options); - t.equal(results.total_diameter, 207); - t.equal(results.max_diameter, 27); -}); - -test('ignore projection when getting an aggregate', t => { - t.plan(3); - const options = { - aggregates: [ - { - type: 'count', - field: 'Trunk_Diameter', - name: 'count_trunk_Diameter' - } - ], - groupBy: 'Trunk_Diameter', - outSR: 102100 - }; - const results = winnow.query(features, options); - t.equal(results[0].count_trunk_Diameter, 2); - t.ok(results[0].Trunk_Diameter); - t.ok(results[0].count_trunk_Diameter); -}); - -test('ignore projection when getting an aggregate specified in the esri way', t => { - t.plan(3); - const options = { - outStatistics: [ - { - statisticType: 'count', - onStatisticField: 'Trunk_Diameter', - outStatisticFieldName: 'count_trunk_Diameter' - } - ], - groupByFieldsForStatistics: ['Trunk_Diameter'], - outSR: 102100 - }; - const results = winnow.query(features, options); - t.equal(results[0].count_trunk_Diameter, 2); - t.ok(results[0].Trunk_Diameter); - t.ok(results[0].count_trunk_Diameter); -}); diff --git a/packages/winnow/test/integration/classification.spec.js b/packages/winnow/test/integration/classification.spec.js deleted file mode 100644 index 25f858eb3..000000000 --- a/packages/winnow/test/integration/classification.spec.js +++ /dev/null @@ -1,337 +0,0 @@ -const _ = require('lodash'); -const test = require('tape'); -const winnow = require('../..'); -const treesSubset = require('./fixtures/trees.json'); -const classBreaks = require('./fixtures/classification/classBreaks.json'); -const uniqueValue = require('./fixtures/classification/uniqueValue.json'); -const multipleUnique = require('./fixtures/classification/multipleUnqiue.json'); -const geoServicesClassBreaks = require('./fixtures/classification/geoServicesClassBreaks.json'); -const geoServicesUniqueValue = require('./fixtures/classification/geoServicesUniqueValue.json'); - -/* class breaks */ -test('create class breaks', t => { - t.plan(5); - const options = _.cloneDeep(classBreaks); - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(Array.isArray(results[0]), true); - t.equal(results.length, 7); - t.deepEqual(results[0], [0, 1.8571428571428572]); - t.deepEqual(results[6], [11.142857142857146, 13]); - t.end(); -}); - -test('create class breaks without where clause', t => { - t.plan(5); - const options = _.cloneDeep(classBreaks); - delete options.where; - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(Array.isArray(results[0]), true); - t.equal(results.length, 7); - t.deepEqual(results[0], [0, 3.857142857142857]); - t.deepEqual(results[6], [23.142857142857142, 27]); - t.end(); -}); - -test('change class break count', t => { - t.plan(5); - const options = _.cloneDeep(classBreaks); - options.classification.breakCount = 9; - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(Array.isArray(results[0]), true); - t.equal(results.length, 9); - t.deepEqual(results[0], [0, 1.4444444444444444]); - t.deepEqual(results[8], [11.555555555555557, 13]); - t.end(); -}); - -test('change classification field', t => { - t.plan(5); - const options = _.cloneDeep(classBreaks); - options.classification.field = 'House_Number'; - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(Array.isArray(results[0]), true); - t.equal(results.length, 7); - t.deepEqual(results[0], [505, 745.7142857142858]); - t.deepEqual(results[6], [1949.2857142857147, 2190]); - t.end(); -}); - -test('classify using natural breaks', t => { - t.plan(5); - const options = _.cloneDeep(classBreaks); - options.classification.method = 'naturalBreaks'; - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(Array.isArray(results[0]), true); - t.equal(results.length, 7); - t.deepEqual(results[0], [0, 0]); - t.deepEqual(results[6], [13, 13]); -}); - -test('classify using quantile', t => { - t.plan(5); - const options = _.cloneDeep(classBreaks); - options.classification.method = 'quantile'; - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(Array.isArray(results[0]), true); - t.equal(results.length, 7); - t.deepEqual(results[0], [0, 1]); - t.deepEqual(results[6], [13, 13]); -}); - -test('classify using standard deviation', t => { - t.plan(6); - const options = _.cloneDeep(classBreaks); - options.classification.method = 'stddev'; - options.classification.stddev_intv = 1; - // options.classification.breakCount = 2 - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(Array.isArray(results[0]), true); - t.equal(results.length, 15); - t.deepEqual(results[0], [-27.007608, -22.523262]); - t.deepEqual(results[7], [4.382826, 8.867174]); - t.deepEqual(results[14], [35.773262, 40.257608]); -}); - -test('normalize by field', t => { - t.plan(5); - const options = _.cloneDeep(classBreaks); - options.classification.field = 'House_Number'; - options.classification.normType = 'field'; - options.classification.normField = 'Trunk_Diameter'; - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(Array.isArray(results[0]), true); - t.equal(results.length, 7); - t.deepEqual(results[0], [38.84615384615385, 137.1062271062271]); - t.deepEqual(results[6], [628.4065934065934, 726.6666666666666]); -}); - -test('normalize by log', t => { - t.plan(5); - const options = _.cloneDeep(classBreaks); - options.classification.normType = 'log'; - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(Array.isArray(results[0]), true); - t.equal(results.length, 7); - t.deepEqual(results[0], [0, 0.15913476461526238]); - t.deepEqual(results[6], [0.9548085876915742, 1.1139433523068367]); -}); - -test('normalize by total', t => { - t.plan(5); - const options = _.cloneDeep(classBreaks); - options.classification.normType = 'percent'; - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(Array.isArray(results[0]), true); - t.equal(results.length, 7); - t.deepEqual(results[0], [0, 1.752021563342318]); - t.deepEqual(results[6], [10.51212938005391, 12.264150943396226]); -}); - -test('unrecognized classification field', t => { - t.plan(1); - const options = _.cloneDeep(classBreaks); - options.classification.field = 'UNRECOGNIZED_FIELD'; - t.throws(function () { winnow.query(treesSubset, options); }); -}); - -test('unacceptable classification field', t => { - t.plan(1); - const options = _.cloneDeep(classBreaks); - options.classification.field = 'Common_Name'; - t.throws(function () { winnow.query(treesSubset, options); }); -}); - -test('unacceptable classification method', t => { - t.plan(1); - const options = _.cloneDeep(classBreaks); - options.classification.method = 'invalidMethod'; - t.throws(function () { winnow.query(treesSubset, options); }); -}); - -test('handle unacceptable field with different value types', t => { - t.plan(1); - const options = _.cloneDeep(classBreaks); - options.where = 'House_Number>200'; - const data = _.cloneDeep(treesSubset); - data.features[2].properties.Trunk_Diameter = 'Invalid Value'; - t.throws(function () { winnow.query(data, options); }); -}); - -test('remove null values during classification', t => { - t.plan(5); - const options = _.cloneDeep(classBreaks); - const data = _.cloneDeep(treesSubset); - data.features[0].properties.Trunk_Diameter = null; - data.features[17].properties.Trunk_Diameter = null; - data.features[18].properties.Trunk_Diameter = null; - data.features[21].properties.Trunk_Diameter = null; - const results = winnow.query(data, options); - t.equal(Array.isArray(results), true); - t.equal(Array.isArray(results[0]), true); - t.equal(results.length, 7); - t.deepEqual(results[0], [1, 2.571428571428571]); - t.deepEqual(results[6], [10.428571428571427, 12]); - t.end(); -}); - -/* unique values */ -test('create unique values', t => { - t.plan(5); - const options = _.cloneDeep(uniqueValue); - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(typeof results === 'object', true); - t.equal(results.length, 6); - t.deepEqual(results[0], { Genus: 'MAGNOLIA', count: 3 }); - t.deepEqual(results[5], { Genus: 'MELALEUCA', count: 1 }); - t.end(); -}); - -test('add unique values', t => { - t.plan(6); - const options = _.cloneDeep(uniqueValue); - const ammendedtrees = _.cloneDeep(treesSubset); - ammendedtrees.features.push({ - type: 'Feature', - properties: { - OBJECTID: 99998, - Common_Name: 'SOUTHERN MAGNOLIA', - Genus: 'MAGNOLIA', - Trunk_Diameter: 10 - } - }, { - type: 'Feature', - properties: { - OBJECTID: 99999, - Common_Name: 'SOUTHERN NEW_GENUS', - Genus: 'NEW_GENUS', - Trunk_Diameter: 11 - } - }); - const results = winnow.query(ammendedtrees, options); - t.equal(Array.isArray(results), true); - t.equal(typeof results === 'object', true); - t.equal(results.length, 7); - t.deepEqual(results[0], { Genus: 'MAGNOLIA', count: 4 }); - t.deepEqual(results[5], { Genus: 'MELALEUCA', count: 1 }); - t.deepEqual(results[6], { Genus: 'NEW_GENUS', count: 1 }); - t.end(); -}); - -test('change unique value field', t => { - t.plan(5); - const options = _.cloneDeep(uniqueValue); - options.classification.fields[0] = 'Common_Name'; - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(typeof results === 'object', true); - t.equal(results.length, 7); - t.deepEqual(results[0], { Common_Name: 'SOUTHERN MAGNOLIA', count: 3 }); - t.deepEqual(results[6], { Common_Name: 'FLAX-LEAF PAPERBARK', count: 1 }); - t.end(); -}); - -test('create unique values with multiple unique fields', t => { - t.plan(6); - const options = { - classification: { - type: 'unique', - fields: ['EmployeeID', 'ShipperID'], - fieldDelimiter: ', ' - }, - where: 'OBJECTID<11310', - f: 'pjson' - }; - const results = winnow.query(multipleUnique, options); - t.equal(Array.isArray(results), true); - t.equal(typeof results === 'object', true); - t.equal(results.length, 6); - t.deepEqual(results[0], { count: 1, EmployeeID: 'John', ShipperID: 'Marc' }); - t.deepEqual(results[3], { count: 2, EmployeeID: 'Leeroy', ShipperID: 'Marc' }); - t.deepEqual(results[5], { count: 1, EmployeeID: 'Leeroy', ShipperID: 'Eric' }); - t.end(); -}); - -test('cannot create unique values with more than three fields', t => { - t.plan(1); - const options = { - classification: { - type: 'unique', - fields: ['EmployeeID', 'ShipperID', 'Department', 'Date'], - fieldDelimiter: ', ' - }, - where: 'OBJECTID<11310', - f: 'pjson' - }; - t.throws(function () { winnow.query(treesSubset, options); }); -}); - -test('unacceptable classification field', t => { - t.plan(1); - const options = _.cloneDeep(uniqueValue); - options.classification.fields[0] = 'Unacceptable Field'; - t.throws(function () { winnow.query(multipleUnique, options); }); -}); - -/* geoservices fixtures */ -test('create class breaks using geoservices fixture', t => { - t.plan(5); - const options = _.cloneDeep(geoServicesClassBreaks); - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(Array.isArray(results[0]), true); - t.equal(results.length, 5); - t.deepEqual(results[0], [0, 2.6]); - t.deepEqual(results[4], [10.5, 13]); - t.end(); -}); - -test('modify class breaks using geoservices fixture', t => { - const options = _.cloneDeep(geoServicesClassBreaks); - options.classificationDef.classificationMethod = 'esriClassifyNaturalBreaks'; - options.classificationDef.breakCount = 9; - options.classificationDef.normalizationType = 'esriNormalizeByLog'; - options.where = 'Trunk_Diameter>3'; - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(Array.isArray(results[0]), true); - t.equal(results.length, 9); - t.deepEqual(results[0], [0.6020599913279624, 0.8450980400142568]); - t.deepEqual(results[4], [0.9542425094393249, 1.1139433523068367]); - t.end(); -}); - -test('create unique values using geoservices fixture', t => { - t.plan(5); - const options = _.cloneDeep(geoServicesUniqueValue); - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(typeof results === 'object', true); - t.equal(results.length, 6); - t.deepEqual(results[0], { Genus: 'MAGNOLIA', count: 3 }); - t.deepEqual(results[5], { Genus: 'MELALEUCA', count: 1 }); - t.end(); -}); - -test('modify unique values using geoservices fixture', t => { - t.plan(5); - const options = _.cloneDeep(geoServicesUniqueValue); - options.classificationDef.uniqueValueFields[0] = 'Common_Name'; - const results = winnow.query(treesSubset, options); - t.equal(Array.isArray(results), true); - t.equal(typeof results === 'object', true); - t.equal(results.length, 7); - t.deepEqual(results[0], { Common_Name: 'SOUTHERN MAGNOLIA', count: 3 }); - t.deepEqual(results[6], { Common_Name: 'FLAX-LEAF PAPERBARK', count: 1 }); - t.end(); -}); diff --git a/packages/winnow/test/integration/fields.spec.js b/packages/winnow/test/integration/fields.spec.js deleted file mode 100644 index eca6f16a9..000000000 --- a/packages/winnow/test/integration/fields.spec.js +++ /dev/null @@ -1,38 +0,0 @@ -'use strict'; -const test = require('tape'); -const winnow = require('../..'); -const features = require('./fixtures/trees.json').features; - -test('Select a single field', t => { - t.plan(1); - const options = { - fields: ['Trunk_Diameter'], - limit: 1 - }; - const filtered = winnow.query(features, options); - const fields = Object.keys(filtered[0].properties); - t.equal(fields[0], 'Trunk_Diameter'); -}); - -test('Select a single field with string input', t => { - t.plan(1); - const options = { - fields: 'Trunk_Diameter', - limit: 1 - }; - const filtered = winnow.query(features, options); - const fields = Object.keys(filtered[0].properties); - t.equal(fields[0], 'Trunk_Diameter'); -}); - -test('Select multiple fields', t => { - t.plan(2); - const options = { - fields: ['Trunk_Diameter', 'Genus'], - limit: 1 - }; - const filtered = winnow.query(features, options); - const fields = Object.keys(filtered[0].properties); - t.equal(fields[0], 'Trunk_Diameter'); - t.equal(fields[1], 'Genus'); -}); diff --git a/packages/winnow/test/integration/filter.spec.js b/packages/winnow/test/integration/filter.spec.js deleted file mode 100644 index 38c2a0678..000000000 --- a/packages/winnow/test/integration/filter.spec.js +++ /dev/null @@ -1,654 +0,0 @@ -const _ = require('lodash'); -const test = require('tape'); -const winnow = require('../..'); - -test('With a where option', (t) => { - const options = { - where: 'Genus like \'%Quercus%\'', - }; - run('trees', options, 8, t); -}); - -test('With a where options 1=1', (t) => { - const options = { - where: '1=1', - }; - run('trees', options, 24, t); -}); - -test('With a where option with multiple statements', (t) => { - const options = { - where: - 'Genus like \'%Quercus%\' AND Street_Name = \'CLAREMONT\' AND House_Number < 600 AND Trunk_Diameter = 9', - }; - run('trees', options, 1, t); -}); - -test('With a where option with multiple statements with appended 1=1', (t) => { - const options = { - where: - 'Genus like \'%Quercus%\' AND Street_Name = \'CLAREMONT\' AND House_Number < 600 AND Trunk_Diameter = 9 AND 1=1', - }; - run('trees', options, 1, t); -}); - -test('With a field that has been uppercased', (t) => { - const options = { - where: 'UPPER(Genus) like \'%Quercus%\'', - }; - t.plan(1); - const fixtures = _.cloneDeep(require('./fixtures/trees.json')); - const features = fixtures.features; - const filtered = winnow.query(features, options); - t.equal(filtered.length, 8); -}); - -test('With the toEsri option', (t) => { - const options = { - toEsri: true, - where: 'Genus like \'%Quercus%\'', - }; - run('trees', options, 8, t); -}); - -test('With the toEsri option and a null geometry', (t) => { - const options = { - toEsri: true, - }; - run('nogeom', options, 18, t); -}); - -test('With a field with a space', (t) => { - const options = { - where: '"total precip" > 0.5', - }; - t.plan(1); - const fixtures = _.cloneDeep(require('./fixtures/snow.json')); - const features = fixtures.features; - const filtered = winnow.query(features, options); - t.equal(filtered.length, 3); -}); - -test('With esri json', (t) => { - const options = { - where: 'Genus like \'%Quercus%\'', - esri: true, - }; - run('esri', options, 8, t); -}); - -test('With multiple like clauses', (t) => { - const options = { - where: - 'Genus like \'%Quercus%\' AND Common_Name like \'%Live Oak%\' AND Street_Type like \'%ST%\'', - }; - run('trees', options, 5, t); -}); - -test('With an in parameter', (t) => { - const options = { - where: 'Genus IN (\'QUERCUS\', \'EUGENIA\')', - }; - run('trees', options, 8, t); -}); - -test('With an is parameter', (t) => { - const options = { - where: 'Species IS NULL', - }; - run('trees', options, 1, t); -}); - -test('With two is and one and parameters', (t) => { - const options = { - where: 'Species IS NULL AND Street_Direction IS NOT NULL', - }; - run('trees', options, 1, t); -}); - -test('With an > parameter', (t) => { - const options = { - where: 'Trunk_Diameter>10', - }; - run('trees', options, 12, t); -}); - -test('With an >= parameter', (t) => { - const options = { - where: 'Trunk_Diameter>=10', - }; - run('trees', options, 12, t); -}); - -test('With an IN parameter and a numeric test', (t) => { - const options = { - where: 'Genus IN (\'QUERCUS\', \'JACARANDA\') AND Trunk_Diameter>=13', - }; - run('trees', options, 6, t); -}); - -test('With an AND and an OR', (t) => { - const options = { - where: - '(Genus like \'%Quercus%\' AND Common_Name like \'%Live Oak%\') OR Street_Type like \'%AVE%\'', - }; - run('trees', options, 13, t); -}); - -test('With an equality parameter', (t) => { - const options = { - where: 'Common_Name = \'LIVE OAK\'', - }; - run('trees', options, 6, t); -}); - -test('With an esri style envelope', (t) => { - const options = { - geometry: { - xmin: -13151597, - ymin: 4050894, - xmax: -13150342, - ymax: 4051582, - spatialReference: { - wkid: 102100, - }, - }, - }; - const fixtures = _.cloneDeep(require('./fixtures/trees.json')); - const features = fixtures.features; - const filtered = winnow.query(features, options); - t.equal(filtered.length, 6); - t.end(); -}); - -test('With an esri style envelope and features with missing geometry', (t) => { - const options = { - outSr: 4326, - inSr: 4326, - geometry: { - xmin: 0, - ymin: 40, - xmax: 90, - ymax: 85, - spatialReference: { - wkid: 4326, - }, - }, - esri: true, - }; - run('missing-geometry', options, 2, t); -}); - -test('With an esri style envelope and wkt string for web mercator', (t) => { - const options = { - geometry: { - xmin: -13151597, - ymin: 4050894, - xmax: -13150342, - ymax: 4051582, - spatialReference: { - wkt: 'PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-97.03124999997486],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]', - }, - }, - }; - run('trees', options, 6, t); -}); - -test('With an empty multipolygon', (t) => { - const options = { - geometry: { - xmin: -8968940.494006854, - ymin: 2943609.5726516787, - xmax: -8944480.644955631, - ymax: 2949342.3497730596, - spatialReference: { - wkid: 102100, - }, - }, - }; - run('emptyMultiPolygon', options, 1, t); -}); - -test('Without a spatialReference property on an Esri-style Envelope', (t) => { - const options = { - geometry: { - xmin: -118.1406, - ymin: 34.1635, - xmax: -118.1348, - ymax: 34.1685, - }, - }; - run('trees', options, 6, t); -}); - -test('With an esri style envelope with xmin = 0, ans esri features', (t) => { - const options = { - outSr: 4326, - inSr: 4326, - geometry: { - xmin: 0, - ymin: 40, - xmax: 90, - ymax: 85, - spatialReference: { - wkid: 4326, - }, - }, - esri: true, - }; - run('startups', options, 2, t); -}); - -test('With an esri style envelope in EPSG:102645 defined by wkt', (t) => { - const options = { - geometry: { - xmin: 6518475, - ymin: 1881600, - xmax: 6521000, - ymax: 1883700, - spatialReference: { - wkt: `PROJCS["NAD_1983_StatePlane_California_V_FIPS_0405_Feet", - GEOGCS["GCS_North_American_1983", - DATUM["North_American_Datum_1983", - SPHEROID["GRS_1980",6378137,298.257222101]], - PRIMEM["Greenwich",0], - UNIT["Degree",0.017453292519943295]], - PROJECTION["Lambert_Conformal_Conic_2SP"], - PARAMETER["False_Easting",6561666.666666666], - PARAMETER["False_Northing",1640416.666666667], - PARAMETER["Central_Meridian",-118], - PARAMETER["Standard_Parallel_1",34.03333333333333], - PARAMETER["Standard_Parallel_2",35.46666666666667], - PARAMETER["Latitude_Of_Origin",33.5], - UNIT["Foot_US",0.30480060960121924], - AUTHORITY["EPSG","102645"]]`, - }, - }, - esri: true, - }; - run('trees', options, 6, t); -}); - -test('With a an Esri-style Polygon', (t) => { - const options = { - geometry: { - rings: [ - [ - [-118.163, 34.162], - [-118.108, 34.162], - [-118.108, 34.173], - [-118.163, 34.173], - [-118.163, 34.162], - ], - ], - }, - inSR: 4326, - }; - run('trees', options, 12, t); -}); - -test('With an array-style geometry', (t) => { - const options = { - geometry: [-118.1406, 34.1635, -118.1348, 34.1685], - }; - run('trees', options, 6, t); -}); - -test('With a string-style geometry', (t) => { - const options = { - geometry: '-118.1406, 34.1635, -118.1348, 34.1685', - }; - run('trees', options, 6, t); -}); - -test('With a point geometry filter', (t) => { - const options = { - geometry: '-118.16230746759626,34.137113646321595', - }; - run('trees', options, 1, t); -}); - -test('With a ST_Contains geometry predicate', (t) => { - const options = { - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-118.163, 34.162], - [-118.108, 34.162], - [-118.108, 34.173], - [-118.163, 34.173], - [-118.163, 34.162], - ], - ], - }, - spatialPredicate: 'ST_Contains', - }; - run('trees', options, 12, t); -}); - -test('With a ST_Within geometry predicate', (t) => { - const options = { - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-118.163, 34.162], - [-118.108, 34.162], - [-118.108, 34.173], - [-118.163, 34.173], - [-118.163, 34.162], - ], - ], - }, - spatialPredicate: 'ST_Within', - }; - run('trees', options, 12, t); -}); - -test('With a ST_EnvelopeIntersects geometry predicate', (t) => { - const options = { - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-128, 29], - [-108, 29], - [-108, 50], - [-128, 50], - [-128, 29], - ], - ], - }, - spatialPredicate: 'ST_EnvelopeIntersects', - }; - run('states', options, 2, t); -}); - -test('With a ST_Intersects geometry predicate', (t) => { - const options = { - geometry: { - type: 'LineString', - coordinates: [ - [-85.983201784023521, 34.515410848143297, 204.5451898127248], - [-121.278821256198796, 39.823566607727578, 1173.189682061974963], - ], - }, - spatialPredicate: 'ST_Intersects', - }; - run('states', options, 1, t); -}); - -test('With a where and a geometry option', (t) => { - const options = { - where: 'Genus like \'%Quercus%\'', - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-118.163, 34.162], - [-118.108, 34.162], - [-118.108, 34.173], - [-118.163, 34.173], - [-118.163, 34.162], - ], - ], - }, - }; - run('trees', options, 5, t); -}); - -test('With a where, geometry, limit and offset option', (t) => { - t.plan(5); - const data = 'trees'; - const options = { - where: 'Genus like \'%Quercus%\'', - geometry: { - type: 'Polygon', - coordinates: [ - [ - [-118.163, 34.162], - [-118.108, 34.162], - [-118.108, 34.173], - [-118.163, 34.173], - [-118.163, 34.162], - ], - ], - }, - limit: 4, - offset: 1, - }; - const features = require(`./fixtures/${data}.json`).features; - const filtered = winnow.query(features, options); - t.equal(filtered.length, 4); - t.equal(filtered[0].properties.Common_Name, 'LIVE OAK'); - t.equal(filtered[0].properties.Trunk_Diameter, 1); - t.equal(filtered[3].properties.Common_Name, 'LIVE OAK'); - t.equal(filtered[3].properties.Trunk_Diameter, 18); -}); - -test('With an envelope, an inSR and an outSR', (t) => { - const options = { - f: 'json', - returnGeometry: true, - spatialRel: 'esriSpatialRelIntersects', - geometry: { - xmin: -13151597, - ymin: 4050894, - xmax: -13150342, - ymax: 4051582, - spatialReference: { - wkid: 102100, - latestWkid: 3857, - }, - }, - geometryType: 'esriGeometryEnvelope', - inSR: 102100, - outFields: '*', - outSR: 102100, - }; - run('trees', options, 6, t); -}); - -test('With a multi-ring geometry and an inSR', (t) => { - const options = { - geometry: { - rings: [ - [ - [19930537.269606635, -1018885.7633881811], - [19930537.269606635, 13148258.807095852], - [20037508.342788905, 13148258.807095852], - [20037508.342788905, -1018885.7633881811], - [19930537.269606635, -1018885.7633881811], - ], - [ - [-20037508.342788905, -1018885.7633881811], - [-20037508.342788905, 13148258.807095852], - [-4568447.54013514, 13148258.807095852], - [-4568447.54013514, -1018885.7633881811], - [-20037508.342788905, -1018885.7633881811], - ], - ], - }, - geometryType: 'esriGeometryPolygon', - inSR: 102100, - }; - run('ringbug', options, 30, t); -}); - -test('with a coded value domain', (t) => { - const options = { - where: 'State = \'1\'', - esriFields: [ - { - name: 'State', - type: 'esriFieldTypeString', - alias: 'State', - sqlType: 'sqlTypeOther', - length: 50, - nullable: true, - editable: true, - domain: { - type: 'codedValue', - name: 'State', - codedValues: [ - { - name: 'Virginia', - code: '1', - }, - { - name: 'Maryland', - code: '2', - }, - ], - }, - defaultValue: null, - }, - ], - }; - run('cvd', options, 2, t); -}); - -test('with a numeric coded value domain', (t) => { - const options = { - where: 'State = 1', - esriFields: [ - { - name: 'State', - type: 'esriFieldTypeString', - alias: 'State', - sqlType: 'sqlTypeOther', - length: 50, - nullable: true, - editable: true, - domain: { - type: 'codedValue', - name: 'State', - codedValues: [ - { - name: 'Virginia', - code: 1, - }, - { - name: 'Maryland', - code: 2, - }, - ], - }, - defaultValue: null, - }, - ], - }; - run('cvd', options, 2, t); -}); - -test('with a coded value domain', (t) => { - const options = { - where: 'ZONING_S = \'INST\'', - esriFields: require('./fixtures/esriFields.json'), - }; - - t.plan(1); - const fixtures = _.cloneDeep(require('./fixtures/cvd2.json')); - const features = fixtures.features; - const filtered = winnow.query(features, options); - t.equal(filtered.length, 1); -}); - -test('with a date query', (t) => { - const options = { - where: 'survey_date >= date 2017-02-05', - }; - run('trees', options, 4, t); -}); - -test('with an esri-style date query', (t) => { - const options = { - where: - 'survey_date >= \'2017-02-05T00:00:00.000Z\' AND survey_date <= \'2017-03-06T23:59:59.000Z\'', - }; - run('trees', options, 4, t); -}); - -test('with a timestamp query', (t) => { - const options = { - where: 'survey_date >= timestamp \'2017-02-05\'', - }; - run('trees', options, 4, t); -}); - -test('with a between query', (t) => { - const options = { - where: - 'survey_date between timestamp \'2017-01-06T00:00:00.000Z\' AND timestamp \'2017-02-06T23:59:59.000Z\'', - }; - run('trees', options, 2, t); -}); - -test('with escaped single quote in query', (t) => { - const options = { - where: 'Street_Name = \'GRAND\'\'S STREET\'\'S\'', - }; - run('trees', options, 1, t); -}); - -test('with a OBJECTID query on data that requires dynamic OBJECTID generation', (t) => { - t.plan(1); - const options = { - toEsri: true, - limit: 1 - }; - const fixtures = { - type: 'FeatureCollection', - features: [ - { - type: 'Feature', - properties: { - OBJECTID: 11303, - Common_Name: 'SOUTHERN MAGNOLIA', - survey_date: '2017-01-05T00:00:00.000Z', - }, - geometry: { - type: 'Point', - coordinates: [-118.16230746759626, 34.137113646321595], - }, - }, - ], - }; - const queryResult = winnow.query(fixtures, options); - const objectId = queryResult.features[0].attributes.OBJECTID; - const filteredResult = winnow.query(fixtures, { - toEsri: true, - where: `OBJECTID = ${objectId}` - }); - t.equal(filteredResult.features.length, 1); -}); - -test('with null dates in data source', (t) => { - // Ensure null dates are returned as null, not as 0 - // Bug only occurs when: - // * 'toEsri' option enabled - // * the geojson is passed to winnow.query with the metadata.fields populated - const options = { - where: - 'Date1 >= timestamp \'2020-01-05 00:00:00\' AND Date1 <= timestamp \'2020-02-08 23:59:59\'', - toEsri: true, - }; - t.plan(4); - const fixtures = _.cloneDeep(require('./fixtures/dates.json')); - const filtered = winnow.query(fixtures, options); - - t.equal(filtered.features.length, 1); - const feature = filtered.features[0]; - t.equal(feature.attributes.Date4, null); - t.equal(feature.attributes.Date5, null); - t.equal(feature.attributes.Date6, null); -}); - -function run(data, options, expected, t) { - t.plan(1); - const fixtures = _.cloneDeep(require(`./fixtures/${data}.json`)); - const features = fixtures.features; - const filtered = winnow.query(features, options); - t.equal(filtered.length, expected); -} diff --git a/packages/winnow/test/integration/fixtures/classification/classBreaks.json b/packages/winnow/test/integration/fixtures/classification/classBreaks.json deleted file mode 100644 index 2fe1319a7..000000000 --- a/packages/winnow/test/integration/fixtures/classification/classBreaks.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "classification": { - "type": "classes", - "field": "Trunk_Diameter", - "method": "equalInterval", - "breakCount": 7, - "norm": "log" - }, - "where": "Trunk_Diameter<15", - "f": "pjson" -} diff --git a/packages/winnow/test/integration/fixtures/classification/geoServicesClassBreaks.json b/packages/winnow/test/integration/fixtures/classification/geoServicesClassBreaks.json deleted file mode 100644 index 9889a1955..000000000 --- a/packages/winnow/test/integration/fixtures/classification/geoServicesClassBreaks.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "classificationDef": { - "type": "classBreaksDef", - "classificationField": "Trunk_Diameter", - "classificationMethod": "esriClassifyEqualInterval", - "breakCount": 5, - "colorRamp": { - "type": "algorithmic", - "fromColor": [ - 115, - 76, - 0, - 255 - ], - "toColor": [ - 255, - 25, - 86, - 255 - ], - "algorithm": "esriHSVAlgorithm" - } - }, - "where": "Trunk_Diameter<15", - "gdbVersion": "", - "f": "pjson" -} diff --git a/packages/winnow/test/integration/fixtures/classification/geoServicesUniqueValue.json b/packages/winnow/test/integration/fixtures/classification/geoServicesUniqueValue.json deleted file mode 100644 index 605c32daf..000000000 --- a/packages/winnow/test/integration/fixtures/classification/geoServicesUniqueValue.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "classificationDef": { - "type": "uniqueValueDef", - "uniqueValueFields": [ - "Genus" - ], - "fieldDelimiter": ", ", - "colorRamp": { - "type": "algorithmic", - "fromColor": [ - 115, - 76, - 0, - 255 - ], - "toColor": [ - 255, - 25, - 86, - 255 - ], - "algorithm": "esriHSVAlgorithm" - } - }, - "where": "Trunk_Diameter<15", - "gdbVersion": "", - "f": "pjson" -} diff --git a/packages/winnow/test/integration/fixtures/classification/multipleUnqiue.json b/packages/winnow/test/integration/fixtures/classification/multipleUnqiue.json deleted file mode 100644 index 13016e761..000000000 --- a/packages/winnow/test/integration/fixtures/classification/multipleUnqiue.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "type": "FeatureCollection", - "crs": { - "type": "name", - "properties": { - "name": "urn:ogc:def:crs:OGC:1.3:CRS84" - } - }, - "features": [ - { - "type": "Feature", - "properties": { - "OBJECTID": 11303, - "EmployeeID": "John", - "ShipperID": "Marc", - "Department": "Business", - "Date": 1234 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16230746759626, - 34.137113646321595 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11304, - "EmployeeID": "John", - "ShipperID": "Marry", - "Department": "Business", - "Date": 1234 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16230746759626, - 34.137113646321595 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11305, - "EmployeeID": "John", - "ShipperID": "Jane", - "Department": "Business", - "Date": 1234 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16230746759626, - 34.137113646321595 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11306, - "EmployeeID": "Leeroy", - "ShipperID": "Marc", - "Department": "Business", - "Date": 1234 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16230746759626, - 34.137113646321595 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11307, - "EmployeeID": "Leeroy", - "ShipperID": "Marc", - "Department": "Business", - "Date": 1234 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16230746759626, - 34.137113646321595 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11308, - "EmployeeID": "Leeroy", - "ShipperID": "Jane", - "Department": "Business", - "Date": 1234 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16230746759626, - 34.137113646321595 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11309, - "EmployeeID": "Leeroy", - "ShipperID": "Eric", - "Department": "Business", - "Date": 1234 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16230746759626, - 34.137113646321595 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11310, - "EmployeeID": "Leeroy", - "ShipperID": "Eric", - "Department": "Business", - "Date": 1234 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16230746759626, - 34.137113646321595 - ] - } - } - ] -} diff --git a/packages/winnow/test/integration/fixtures/classification/uniqueValue.json b/packages/winnow/test/integration/fixtures/classification/uniqueValue.json deleted file mode 100644 index d6c9bbe85..000000000 --- a/packages/winnow/test/integration/fixtures/classification/uniqueValue.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "classification": { - "type": "unique", - "fields": ["Genus"] - }, - "where": "Trunk_Diameter<15", - "f": "pjson" -} diff --git a/packages/winnow/test/integration/fixtures/cvd.json b/packages/winnow/test/integration/fixtures/cvd.json deleted file mode 100644 index b7ebf75d8..000000000 --- a/packages/winnow/test/integration/fixtures/cvd.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"OBJECTID":1,"State":"Virginia","Accents":"français à, è, ÃŦ, Ã˛, Ú","HTML":"&","CharLength":"this is a few characters","Javascript":"","IntFloatString":"the code is an integer","IntFloat":"1.0","Integer":"100","Narrow":"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii","Wide":"wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww","Singular":"This is the only value","Name":"Big Wheel Bikes","null_":null},"geometry":{"type":"Point","coordinates":[-76.62978219457904,39.29142131309337]}},{"type":"Feature","properties":{"OBJECTID":2,"State":"Maryland","Accents":"æ—ĨæœŦ","HTML":"¢","CharLength":"this is one hundred characters this is one hundred characters this is one hundred characters this is","Javascript":"","IntFloatString":"the code is a string","IntFloat":"2.1","Integer":"200","Narrow":"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii","Wide":"wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww","Singular":"This is the only value","Name":"Washington Bike Shop","null_":null},"geometry":{"type":"Point","coordinates":[-76.50960164574015,38.974467158888075]}},{"type":"Feature","properties":{"OBJECTID":3,"State":"Maryland","Accents":"français à, è, ÃŦ, Ã˛, Ú","HTML":"&","CharLength":"this is two hundred and fifty five characters this is two hundred and fifty five characters this is two hundred and fifty five characters this is two hundred and fifty five characters this is two hundred and fifty five characters this is two hundred and f","Javascript":"","IntFloatString":"the code is a float","IntFloat":"3","Integer":"300","Narrow":"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii","Wide":"wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww","Singular":"This is the only value","Name":"Bike Doctor","null_":null},"geometry":{"type":"Point","coordinates":[-77.02517619778858,38.802344585107434]}},{"type":"Feature","properties":{"OBJECTID":4,"State":"Virginia","Accents":"æ—ĨæœŦ","HTML":null,"CharLength":"this is a few characters","Javascript":"","IntFloatString":"the code is an integer","IntFloat":"2.1","Integer":"100","Narrow":"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii","Wide":"wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww","Singular":"This is the only value","Name":"test","null_":null},"geometry":{"type":"Point","coordinates":[-76.78721871243508,39.16201540411225]}}]} \ No newline at end of file diff --git a/packages/winnow/test/integration/fixtures/cvd2.json b/packages/winnow/test/integration/fixtures/cvd2.json deleted file mode 100644 index 9eab1fed0..000000000 --- a/packages/winnow/test/integration/fixtures/cvd2.json +++ /dev/null @@ -1,239 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "properties": { - "OBJECTID": 3135, - "PROPERTY_I": 4135, - "LANDUSE_CO": "1", - "ZONING": "1", - "PARCEL_ID": 5492, - "Res": 0, - "ZONING_S": "Office", - "GlobalID": "8ec5f68b-ee8d-4e7a-9d5a-ef8219dfc5be", - "Shape__Area": 7.80337094402042e-8, - "Shape__Length": 0.00126939294579848 - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - -85.8065334848309, - 32.3762247666748 - ], - [ - -85.8064625718548, - 32.3760728866285 - ], - [ - -85.8069040356126, - 32.3759235162959 - ], - [ - -85.8069758598367, - 32.3760767706302 - ], - [ - -85.8065334848309, - 32.3762247666748 - ] - ] - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 581, - "PROPERTY_I": 1581, - "LANDUSE_CO": "1", - "ZONING": "1", - "PARCEL_ID": 2938, - "Res": 0, - "ZONING_S": "Institutional", - "GlobalID": "e922d37f-2473-44b7-8dcc-255ef08a65a7", - "Shape__Area": 0.00000309840741787713, - "Shape__Length": 0.00706396463805126 - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - -85.8034666180891, - 32.3884116359418 - ], - [ - -85.8034092588953, - 32.3882826060871 - ], - [ - -85.8033485616445, - 32.3881456729256 - ], - [ - -85.8032886737952, - 32.3880108014593 - ], - [ - -85.8032282803978, - 32.3878745554773 - ], - [ - -85.8031686963949, - 32.3877403711917 - ], - [ - -85.8031091126229, - 32.3876060150711 - ], - [ - -85.8030406268368, - 32.3874517288336 - ], - [ - -85.802949886155, - 32.3872471019338 - ], - [ - -85.8028899994912, - 32.3871122302602 - ], - [ - -85.8028700710235, - 32.3870673875728 - ], - [ - -85.8033024881347, - 32.3869027384489 - ], - [ - -85.8046284632936, - 32.3864639341383 - ], - [ - -85.804633474556, - 32.3864629903743 - ], - [ - -85.8046403077496, - 32.3864628200974 - ], - [ - -85.804647089994, - 32.3864638523507 - ], - [ - -85.8046534669482, - 32.3864660011869 - ], - [ - -85.8046590843486, - 32.3864693523753 - ], - [ - -85.8046627784369, - 32.3864723595537 - ], - [ - -85.8046657130487, - 32.3864759678686 - ], - [ - -85.8046680402038, - 32.3864799196362 - ], - [ - -85.8053548817748, - 32.3879219294036 - ], - [ - -85.8050274585633, - 32.3880343832371 - ], - [ - -85.8047626035739, - 32.3881253758179 - ], - [ - -85.8047325340098, - 32.3881356768107 - ], - [ - -85.8046511334923, - 32.3881636612127 - ], - [ - -85.8042259081145, - 32.3883032347062 - ], - [ - -85.8035310586428, - 32.3885571595796 - ], - [ - -85.8034666180891, - 32.3884116359418 - ] - ] - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 3134, - "PROPERTY_I": 4134, - "LANDUSE_CO": "1", - "ZONING": "1", - "PARCEL_ID": 5491, - "Res": 1, - "ZONING_S": "Residential", - "GlobalID": "f48dc56d-05c4-4edc-a23c-7502483adfc4", - "Shape__Area": 7.48917351527993e-8, - "Shape__Length": 0.001195032925871 - }, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - -85.8120151448133, - 32.3761245333427 - ], - [ - -85.8124052474359, - 32.3759745006109 - ], - [ - -85.8124618026924, - 32.3760995752654 - ], - [ - -85.8124829739684, - 32.3761465169605 - ], - [ - -85.8120870601829, - 32.3762793211296 - ], - [ - -85.8120808735892, - 32.3762652952054 - ], - [ - -85.8120625605148, - 32.3762295591974 - ], - [ - -85.8120151448133, - 32.3761245333427 - ] - ] - ] - } - } - ] -} \ No newline at end of file diff --git a/packages/winnow/test/integration/fixtures/dates.json b/packages/winnow/test/integration/fixtures/dates.json deleted file mode 100644 index 6ada76ce5..000000000 --- a/packages/winnow/test/integration/fixtures/dates.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "metadata": { - "fields": [ - { - "name": "FID", - "type": "Integer", - "alias": "FID", - "nullable": true - }, - { - "name": "FID2", - "type": "Integer", - "alias": "FID", - "nullable": false - }, - { - "name": "OBJECTID", - "type": "Integer", - "alias": "FID", - "nullable": false - }, - { - "name": "Fruits", - "type": "String", - "alias": "Fruits", - "nullable": true - }, - { - "name": "Veggies", - "type": "String", - "alias": "Fruits", - "nullable": true - }, - { - "name": "Fruits", - "type": "String", - "alias": "Veggies", - "nullable": true - }, - { - "name": "Meats", - "type": "String", - "alias": "Meats", - "nullable": true - }, - { - "name": "Latitude", - "type": "Double", - "alias": "Latitude", - "nullable": false - }, - { - "name": "Longitude", - "type": "Double", - "alias": "Longitude", - "nullable": false - }, - { - "name": "ReportDate", - "type": "Date", - "alias": "Report Date", - "nullable": true - }, - { - "name": "Date1", - "type": "Date", - "alias": "Date 1", - "nullable": true - }, - { - "name": "Date2", - "type": "Date", - "alias": "Date 1", - "nullable": true - }, - { - "name": "Date3", - "type": "Date", - "alias": "Date 1", - "nullable": true - }, - { - "name": "Date4", - "type": "Date", - "alias": "Date 1", - "nullable": true - }, - { - "name": "Date5", - "type": "Date", - "alias": "Date 1", - "nullable": true - }, - { - "name": "Date6", - "type": "Date", - "alias": "Date 1", - "nullable": true - } - ] - }, - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "properties": { - "OBJECTID": 1, - "ReportDate": "2012-03-15T00:00:00.000Z", - "Fruits": "Apples", - "Veggies": "Potato", - "Meats": "Meats", - "Date1": "2012-03-15T00:00:00.000Z", - "Date2": "2012-03-15T00:00:00.000Z", - "Date3": "2012-04-14T00:00:00.000Z", - "Date4": "2012-03-15T00:00:00.000Z", - "Latitude": 43.010365, - "Longitude": -87.988828, - "Date5": "2012-03-15T00:00:00.000Z", - "Date6": "2012-03-15T00:00:00.000Z", - "FID": null, - "FID2": 1 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.98882799999998, - 43.010365 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 2, - "ReportDate": "2012-03-17T00:00:00.000Z", - "Fruits": "Apples", - "Veggies": "Potato", - "Meats": "Meats", - "Date1": "2012-03-17T00:00:00.000Z", - "Date2": "2012-03-17T00:00:00.000Z", - "Date3": "2012-04-16T00:00:00.000Z", - "Date4": "2012-03-17T00:00:00.000Z", - "Latitude": 43.010409, - "Longitude": -87.999928, - "Date5": "2012-03-17T00:00:00.000Z", - "Date6": "2012-03-17T00:00:00.000Z", - "FID": null, - "FID2": 2 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.999928, - 43.01040900000001 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 3, - "ReportDate": "2012-03-17T00:00:00.000Z", - "Fruits": "Apples", - "Veggies": "Potato", - "Meats": "Meats", - "Date1": "2012-03-17T00:00:00.000Z", - "Date2": "2012-03-17T00:00:00.000Z", - "Date3": "2012-04-16T00:00:00.000Z", - "Date4": "2012-03-17T00:00:00.000Z", - "Latitude": 43.014603, - "Longitude": -87.996801, - "Date5": "2012-03-17T00:00:00.000Z", - "Date6": "2012-03-17T00:00:00.000Z", - "FID": null, - "FID2": 3 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.996801, - 43.014602999999994 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 30, - "ReportDate": "2012-07-20T00:00:00.000Z", - "Fruits": "Strawberry", - "Veggies": "Carrot", - "Meats": "Fish", - "Date1": "2020-01-20T00:00:00.000Z", - "Date2": "2020-01-20T00:00:00.000Z", - "Date3": "2020-01-19T00:00:00.000Z", - "Date4": null, - "Latitude": 43.009807, - "Longitude": -87.98796, - "Date5": null, - "Date6": null, - "FID": null, - "FID2": 30 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.98796, - 43.00980699999999 - ] - } - } - ] -} \ No newline at end of file diff --git a/packages/winnow/test/integration/fixtures/emptyCollection.json b/packages/winnow/test/integration/fixtures/emptyCollection.json deleted file mode 100644 index 8b3698faf..000000000 --- a/packages/winnow/test/integration/fixtures/emptyCollection.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [] -} diff --git a/packages/winnow/test/integration/fixtures/emptyMultiPolygon.json b/packages/winnow/test/integration/fixtures/emptyMultiPolygon.json deleted file mode 100644 index ff9851e87..000000000 --- a/packages/winnow/test/integration/fixtures/emptyMultiPolygon.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"OBJECTID":31,"LU":20,"DESCR":"Two-Family (Duplexes).","SHAPE_Length":126.56046951340261,"SHAPE_Area":980.4447285170216},"geometry":{"type":"Polygon","coordinates":[[[-80.38519133381364,25.585074129657777],[-80.38519266152363,25.585296742046598],[-80.38486652905803,25.58529399536848],[-80.38486728813446,25.585108535303263],[-80.38486744623793,25.585077495357407],[-80.38519133381364,25.585074129657777]]]}},{"type":"Feature","properties":{"OBJECTID":31,"LU":20,"DESCR":"Two-Family (Duplexes).","SHAPE_Length":126.56046951340261,"SHAPE_Area":980.4447285170216},"geometry":{"type":"MultiPolygon","coordinates":[]}}]} diff --git a/packages/winnow/test/integration/fixtures/esri.json b/packages/winnow/test/integration/fixtures/esri.json deleted file mode 100644 index f6fa327d9..000000000 --- a/packages/winnow/test/integration/fixtures/esri.json +++ /dev/null @@ -1,357 +0,0 @@ -{ - "objectIdFieldName": "OBJECTID", - "globalIdFieldName": "", - "geometryType": "esriGeometryPoint", - "spatialReference": { - "wkid": 102645, - "latestWkid": 2229 - }, - "fields": [ - { - "name": "OBJECTID", - "type": "esriFieldTypeOID", - "alias": "OBJECTID", - "sqlType": "sqlTypeOther", - "domain": null, - "defaultValue": null - }, - { - "name": "Common_Name", - "type": "esriFieldTypeString", - "alias": "Common_Name", - "sqlType": "sqlTypeOther", - "length": 75, - "domain": null, - "defaultValue": null - }, - { - "name": "Genus", - "type": "esriFieldTypeString", - "alias": "Genus", - "sqlType": "sqlTypeOther", - "length": 50, - "domain": null, - "defaultValue": null - }, - { - "name": "Species", - "type": "esriFieldTypeString", - "alias": "Species", - "sqlType": "sqlTypeOther", - "length": 30, - "domain": null, - "defaultValue": null - }, - { - "name": "House_Number", - "type": "esriFieldTypeInteger", - "alias": "House_Number", - "sqlType": "sqlTypeOther", - "domain": null, - "defaultValue": null - }, - { - "name": "Street_Direction", - "type": "esriFieldTypeString", - "alias": "Street_Direction", - "sqlType": "sqlTypeOther", - "length": 2, - "domain": null, - "defaultValue": null - }, - { - "name": "Street_Name", - "type": "esriFieldTypeString", - "alias": "Street_Name", - "sqlType": "sqlTypeOther", - "length": 50, - "domain": null, - "defaultValue": null - }, - { - "name": "Street_Type", - "type": "esriFieldTypeString", - "alias": "Street_Type", - "sqlType": "sqlTypeOther", - "length": 4, - "domain": null, - "defaultValue": null - }, - { - "name": "Street_Suffix", - "type": "esriFieldTypeString", - "alias": "Street_Suffix", - "sqlType": "sqlTypeOther", - "length": 5, - "domain": null, - "defaultValue": null - }, - { - "name": "Trunk_Diameter", - "type": "esriFieldTypeDouble", - "alias": "Trunk_Diameter", - "sqlType": "sqlTypeOther", - "domain": null, - "defaultValue": null - }, - { - "name": "Longitude", - "type": "esriFieldTypeDouble", - "alias": "Longitude", - "sqlType": "sqlTypeOther", - "domain": null, - "defaultValue": null - }, - { - "name": "Latitude", - "type": "esriFieldTypeDouble", - "alias": "Latitude", - "sqlType": "sqlTypeOther", - "domain": null, - "defaultValue": null - } - ], - "exceededTransferLimit": true, - "features": [ - { - "attributes": { - "OBJECTID": 1, - "Common_Name": "BRUSH CHERRY", - "Genus": "EUGENIA", - "Species": "PANICULATA", - "House_Number": 846, - "Street_Direction": "N", - "Street_Name": "ALLEN", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 12, - "Longitude": -118.112665207, - "Latitude": 34.160393184 - }, - "geometry": { - "x": 6527586.805926144, - "y": 1880769.6166898906 - } - }, - { - "attributes": { - "OBJECTID": 2, - "Common_Name": "BRUSH CHERRY", - "Genus": "EUGENIA", - "Species": "PANICULATA", - "House_Number": 846, - "Street_Direction": "N", - "Street_Name": "ALLEN", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 21, - "Longitude": -118.112566197, - "Latitude": 34.1603765510001 - }, - "geometry": { - "x": 6527616.751732394, - "y": 1880763.5300878882 - } - }, - { - "attributes": { - "OBJECTID": 3, - "Common_Name": "BRUSH CHERRY", - "Genus": "EUGENIA", - "Species": "PANICULATA", - "House_Number": 846, - "Street_Direction": "N", - "Street_Name": "ALLEN", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 13, - "Longitude": -118.11247122, - "Latitude": 34.160366605 - }, - "geometry": { - "x": 6527645.480021387, - "y": 1880759.8781923056 - } - }, - { - "attributes": { - "OBJECTID": 4, - "Common_Name": "HOLLY OAK", - "Genus": "QUERCUS", - "Species": "ILEX", - "House_Number": 848, - "Street_Direction": "N", - "Street_Name": "ALLEN", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 15, - "Longitude": -118.113014059, - "Latitude": 34.160703148 - }, - "geometry": { - "x": 6527481.397672385, - "y": 1880882.5364115536 - } - }, - { - "attributes": { - "OBJECTID": 5, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 862, - "Street_Direction": "N", - "Street_Name": "ALLEN", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 24, - "Longitude": -118.113014234, - "Latitude": 34.1608323580001 - }, - "geometry": { - "x": 6527481.397672385, - "y": 1880929.558627233 - } - }, - { - "attributes": { - "OBJECTID": 6, - "Common_Name": "HOLLY OAK", - "Genus": "QUERCUS", - "Species": "ILEX", - "House_Number": 870, - "Street_Direction": "N", - "Street_Name": "ALLEN", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 15, - "Longitude": -118.113017244, - "Latitude": 34.1609751400001 - }, - "geometry": { - "x": 6527480.545639977, - "y": 1880981.5204655677 - } - }, - { - "attributes": { - "OBJECTID": 7, - "Common_Name": "HOLLY OAK", - "Genus": "QUERCUS", - "Species": "ILEX", - "House_Number": 880, - "Street_Direction": "N", - "Street_Name": "ALLEN", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 13, - "Longitude": -118.113016331, - "Latitude": 34.1611333750001 - }, - "geometry": { - "x": 6527480.886518553, - "y": 1881039.1046679765 - } - }, - { - "attributes": { - "OBJECTID": 8, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 941, - "Street_Direction": "N", - "Street_Name": "ALLEN", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 13, - "Longitude": -118.113246724, - "Latitude": 34.162240893 - }, - "geometry": { - "x": 6527411.642562553, - "y": 1881442.2288617343 - } - }, - { - "attributes": { - "OBJECTID": 9, - "Common_Name": "HOLLY OAK", - "Genus": "QUERCUS", - "Species": "ILEX", - "House_Number": 951, - "Street_Direction": "E", - "Street_Name": "MOUNTAIN", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 17, - "Longitude": -118.113243957, - "Latitude": 34.1624357540001 - }, - "geometry": { - "x": 6527412.559555471, - "y": 1881513.1414495558 - } - }, - { - "attributes": { - "OBJECTID": 10, - "Common_Name": "HOLLY OAK", - "Genus": "QUERCUS", - "Species": "ILEX", - "House_Number": 965, - "Street_Direction": "N", - "Street_Name": "ALLEN", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 11, - "Longitude": -118.113243306, - "Latitude": 34.1627011670001 - }, - "geometry": { - "x": 6527412.8653291315, - "y": 1881609.7295109779 - } - }, - { - "attributes": { - "OBJECTID": 11, - "Common_Name": "HOLLY OAK", - "Genus": "QUERCUS", - "Species": "ILEX", - "House_Number": 985, - "Street_Direction": "N", - "Street_Name": "ALLEN", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 13, - "Longitude": -118.113243555, - "Latitude": 34.1628851070001 - }, - "geometry": { - "x": 6527412.8653291315, - "y": 1881676.668681562 - } - }, - { - "attributes": { - "OBJECTID": 12, - "Common_Name": "PINDO PALM", - "Genus": "BUTIA", - "Species": "CAPITATA", - "House_Number": 985, - "Street_Direction": "N", - "Street_Name": "ALLEN", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 19, - "Longitude": -118.113351541, - "Latitude": 34.1631634350001 - }, - "geometry": { - "x": 6527380.312572718, - "y": 1881777.9942663163 - } - } - ] -} \ No newline at end of file diff --git a/packages/winnow/test/integration/fixtures/esriFields.json b/packages/winnow/test/integration/fixtures/esriFields.json deleted file mode 100644 index c36b99d2d..000000000 --- a/packages/winnow/test/integration/fixtures/esriFields.json +++ /dev/null @@ -1,139 +0,0 @@ -[ - { - "name": "OBJECTID", - "type": "esriFieldTypeOID", - "alias": "OBJECTID", - "sqlType": "sqlTypeOther", - "nullable": false, - "editable": false, - "domain": null, - "defaultValue": null - }, - { - "name": "PROPERTY_I", - "type": "esriFieldTypeDouble", - "alias": "PROPERTY_I", - "sqlType": "sqlTypeOther", - "nullable": true, - "editable": true, - "domain": null, - "defaultValue": null - }, - { - "name": "LANDUSE_CO", - "type": "esriFieldTypeString", - "alias": "LANDUSE_CO", - "sqlType": "sqlTypeOther", - "length": 3, - "nullable": true, - "editable": true, - "domain": null, - "defaultValue": null - }, - { - "name": "ZONING", - "type": "esriFieldTypeString", - "alias": "ZONING", - "sqlType": "sqlTypeOther", - "length": 6, - "nullable": true, - "editable": true, - "domain": null, - "defaultValue": null - }, - { - "name": "PARCEL_ID", - "type": "esriFieldTypeInteger", - "alias": "PARCEL_ID", - "sqlType": "sqlTypeOther", - "nullable": true, - "editable": true, - "domain": null, - "defaultValue": null - }, - { - "name": "Res", - "type": "esriFieldTypeSmallInteger", - "alias": "Res", - "sqlType": "sqlTypeOther", - "nullable": true, - "editable": true, - "domain": null, - "defaultValue": null - }, - { - "name": "ZONING_S", - "type": "esriFieldTypeString", - "alias": "Zoning_simple", - "sqlType": "sqlTypeOther", - "length": 4, - "nullable": true, - "editable": true, - "domain": { - "type": "codedValue", - "name": "ZoningCodes", - "codedValues": [ - { - "name": "Commercial", - "code": "B" - }, - { - "name": "Flood Hazard Area", - "code": "FH" - }, - { - "name": "Institutional", - "code": "INST" - }, - { - "name": "Manufacturing", - "code": "M" - }, - { - "name": "Office", - "code": "O" - }, - { - "name": "Utility", - "code": "U" - }, - { - "name": "Residential", - "code": "R" - } - ] - }, - "defaultValue": null - }, - { - "name": "GlobalID", - "type": "esriFieldTypeGlobalID", - "alias": "", - "sqlType": "sqlTypeOther", - "length": 38, - "nullable": false, - "editable": false, - "domain": null, - "defaultValue": null - }, - { - "name": "Shape__Area", - "type": "esriFieldTypeDouble", - "alias": "Shape__Area", - "sqlType": "sqlTypeDouble", - "nullable": true, - "editable": false, - "domain": null, - "defaultValue": null - }, - { - "name": "Shape__Length", - "type": "esriFieldTypeDouble", - "alias": "Shape__Length", - "sqlType": "sqlTypeDouble", - "nullable": true, - "editable": false, - "domain": null, - "defaultValue": null - } -] \ No newline at end of file diff --git a/packages/winnow/test/integration/fixtures/missing-geometry.json b/packages/winnow/test/integration/fixtures/missing-geometry.json deleted file mode 100644 index 398c4b3d4..000000000 --- a/packages/winnow/test/integration/fixtures/missing-geometry.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "objectIdFieldName": "OBJECTID", - "globalIdFieldName": "", - "hasZ": false, - "hasM": false, - "geometryType": "esriGeometryPoint", - "spatialReference": { - "wkid": 4326 - }, - "fields": [ - { - "name": "OBJECTID", - "type": "esriFieldTypeInteger", - "alias": "OBJECTID" - }, - { - "name": "COMPANY", - "type": "esriFieldTypeString", - "alias": "COMPANY", - "length": 128 - }, - { - "name": "AVATAR", - "type": "esriFieldTypeString", - "alias": "AVATAR", - "length": 128 - } - ], - "features": [ - { - "attributes": { - "OBJECTID": 1, - "COMPANY": "TEST1", - "AVATAR": null - }, - "geometry": { - "x": 8.6241263, - "y": 49.8707774 - } - }, - { - "attributes": { - "OBJECTID": 2, - "COMPANY": "TEST2", - "AVATAR": null - }, - "geometry": { - "x": 80, - "y": 60 - } - }, - { - "attributes": { - "OBJECTID": 3, - "COMPANY": "TEST3", - "AVATAR": null - }, - "geometry": null - }, - { - "attributes": { - "OBJECTID": 3, - "COMPANY": "TEST4", - "AVATAR": null - } - } - ] -} diff --git a/packages/winnow/test/integration/fixtures/multipolygon.json b/packages/winnow/test/integration/fixtures/multipolygon.json deleted file mode 100644 index cc1a23c8d..000000000 --- a/packages/winnow/test/integration/fixtures/multipolygon.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "properties": {}, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - -119.00390625, - 50.28933925329178 - ], - [ - -116.19140625, - 29.38217507514529 - ], - [ - -91.7578125, - 32.84267363195431 - ], - [ - -82.79296874999999, - 39.639537564366684 - ], - [ - -102.48046875, - 53.014783245859206 - ], - [ - -119.00390625, - 50.28933925329178 - ] - ], - [ - [ - -119.00390625, - 50.28933925329178 - ], - [ - -116.19140625, - 29.38217507514529 - ], - [ - -91.7578125, - 32.84267363195431 - ], - [ - -82.79296874999999, - 39.639537564366684 - ], - [ - -102.48046875, - 53.014783245859206 - ], - [ - -119.00390625, - 50.28933925329178 - ] - ] - ] - } - } - ], - "name": "map.geojson", - "updated_at": "2013-07-17T14:49:41Z" -} diff --git a/packages/winnow/test/integration/fixtures/nogeom.json b/packages/winnow/test/integration/fixtures/nogeom.json deleted file mode 100644 index 0b96194eb..000000000 --- a/packages/winnow/test/integration/fixtures/nogeom.json +++ /dev/null @@ -1,333 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "properties": { - "rownum": 1, - "latitude": 40, - "longitude": -88, - "quant_val": 1002, - "expected_color": "red", - "FID": 1, - "GlobalID": "6adc9a13-f9e5-466d-9598-4555aaaef042" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -88, - 40 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 2, - "latitude": 40, - "longitude": -87.9, - "quant_val": 1003, - "expected_color": "red", - "FID": 2, - "GlobalID": "3137ecb8-7938-474a-9ade-a033403bcda3" - } - }, - { - "type": "Feature", - "properties": { - "rownum": 3, - "latitude": 40, - "longitude": -87.8, - "quant_val": 1004, - "expected_color": "red", - "FID": 3, - "GlobalID": "c4eb0a02-29a0-4dbf-86ed-6b5b01418c30" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.80000000000001, - 40 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 4, - "latitude": 40, - "longitude": -87.7, - "quant_val": 1004, - "expected_color": "red", - "FID": 4, - "GlobalID": "8a6db265-84cf-4ba6-b644-1e4dc5bd64c2" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.7, - 40 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 5, - "latitude": 40, - "longitude": -87.6, - "quant_val": 1005, - "expected_color": "red", - "FID": 5, - "GlobalID": "dfa98e06-797d-463d-ba0a-32bafb6cac74" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.59999999999998, - 40 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 6, - "latitude": 40, - "longitude": -87.5, - "quant_val": 1005, - "expected_color": "red", - "FID": 6, - "GlobalID": "4190e531-8a75-479c-99ad-4188ee1c1a41" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.5, - 40 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 7, - "latitude": 40, - "longitude": -87.4, - "quant_val": 1006, - "expected_color": "red", - "FID": 7, - "GlobalID": "0ed13618-9809-4faf-aacb-c21a01f01e7a" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.4, - 40 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 8, - "latitude": 40, - "longitude": -87.3, - "quant_val": 1006, - "expected_color": "red", - "FID": 8, - "GlobalID": "8588a7eb-34b2-46a0-a59a-26f5efbcfeef" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.3, - 40 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 9, - "latitude": 40, - "longitude": -87.2, - "quant_val": 1006, - "expected_color": "red", - "FID": 9, - "GlobalID": "d45a73d7-63ba-4af8-9c1f-f3be5351d0dd" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.2, - 40 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 10, - "latitude": 40, - "longitude": -87.1, - "quant_val": 1006, - "expected_color": "red", - "FID": 10, - "GlobalID": "97a325d2-b2c6-414f-8574-5a46b079de31" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.10000000000001, - 40 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 11, - "latitude": 39.9, - "longitude": -88, - "quant_val": 1006, - "expected_color": "red", - "FID": 11, - "GlobalID": "0b3aaf5e-efcc-47a5-b21c-4b8fa4eee776" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -88, - 39.9 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 12, - "latitude": 39.9, - "longitude": -87.9, - "quant_val": 1009, - "expected_color": "red", - "FID": 12, - "GlobalID": "f8380235-ed9d-4db8-89ad-7ad66188725c" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.9, - 39.9 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 13, - "latitude": 39.9, - "longitude": -87.8, - "quant_val": 1010, - "expected_color": "red", - "FID": 13, - "GlobalID": "633a54e7-100c-4fe8-9dd1-d90f2b850096" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.80000000000001, - 39.9 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 14, - "latitude": 39.9, - "longitude": -87.7, - "quant_val": 1013, - "expected_color": "red", - "FID": 14, - "GlobalID": "7dba4d8a-9dcf-49e5-8239-10955eed1a4b" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.7, - 39.9 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 15, - "latitude": 39.9, - "longitude": -87.6, - "quant_val": 1014, - "expected_color": "red", - "FID": 15, - "GlobalID": "11fbbe06-b720-41a7-abfe-59567e187ec8" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.59999999999998, - 39.9 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 16, - "latitude": 39.9, - "longitude": -87.5, - "quant_val": 1015, - "expected_color": "red", - "FID": 16, - "GlobalID": "552aa472-138c-4b1c-b92a-58cd64d345a0" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.5, - 39.9 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 17, - "latitude": 39.9, - "longitude": -87.4, - "quant_val": 1015, - "expected_color": "red", - "FID": 17, - "GlobalID": "d67fd8d7-39cf-4b9b-a3ab-e6622ab063ee" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -87.4, - 39.9 - ] - } - }, - { - "type": "Feature", - "properties": { - "rownum": 100, - "latitude": 39.1, - "longitude": -87.1, - "quant_val": 1096, - "expected_color": "blue", - "FID": 100, - "GlobalID": "eaab679a-35b3-4094-99d8-e30e862609d5" - } - } - ] -} \ No newline at end of file diff --git a/packages/winnow/test/integration/fixtures/oid-feature.json b/packages/winnow/test/integration/fixtures/oid-feature.json deleted file mode 100644 index 1a2076d9e..000000000 --- a/packages/winnow/test/integration/fixtures/oid-feature.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "properties": { - "objectid": 1, - "double": 1.1, - "integer": 1, - "string": "foobar", - "date": "2012-03-15T00:00:00.000Z" - }, - "geometry":{"type":"Point","coordinates":[-88.00637099999999,43.01818599999999]} - } - ] -} diff --git a/packages/winnow/test/integration/fixtures/polygon.json b/packages/winnow/test/integration/fixtures/polygon.json deleted file mode 100644 index 20309806f..000000000 --- a/packages/winnow/test/integration/fixtures/polygon.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "properties": {}, - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - -119.00390625, - 50.28933925329178 - ], - [ - -116.19140625, - 29.38217507514529 - ], - [ - -91.7578125, - 32.84267363195431 - ], - [ - -82.79296874999999, - 39.639537564366684 - ], - [ - -102.48046875, - 53.014783245859206 - ], - [ - -119.00390625, - 50.28933925329178 - ] - ] - ] - } - } - ], - "name": "map.geojson", - "updated_at": "2013-07-17T14:49:41Z" -} diff --git a/packages/winnow/test/integration/fixtures/ringbug.json b/packages/winnow/test/integration/fixtures/ringbug.json deleted file mode 100644 index e809708b6..000000000 --- a/packages/winnow/test/integration/fixtures/ringbug.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"FeatureCollection","metadata":{"name":"Students","description":"Collaborate in google docs, analyse in ArcGIS","expires":1490387883290,"updated":1490384283290},"features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[-116,34]},"properties":{"OBJECTID":1,"Name":"Alexandra","Gender":"Female","Level":"4. Senior","State":"CA","Major":"English","Interest":"Drama Club"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-102,44]},"properties":{"OBJECTID":2,"Name":"Andrew","Gender":"Male","Level":"1. Freshman","State":"SD","Major":"Math","Interest":"Lacrosse"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-79,35]},"properties":{"OBJECTID":3,"Name":"Anna","Gender":"Female","Level":"1. Freshman","State":"NC","Major":"English","Interest":"Basketball"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-102,44]},"properties":{"OBJECTID":4,"Name":"Becky","Gender":"Female","Level":"2. Sophomore","State":"SD","Major":"Art","Interest":"Baseball"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-89,43]},"properties":{"OBJECTID":5,"Name":"Benjamin","Gender":"Male","Level":"4. Senior","State":"WI","Major":"English","Interest":"Basketball"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-76,39]},"properties":{"OBJECTID":6,"Name":"Carl","Gender":"Male","Level":"3. Junior","State":"MD","Major":"Art","Interest":"Debate"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-99,41]},"properties":{"OBJECTID":7,"Name":"Carrie","Gender":"Female","Level":"3. Junior","State":"NE","Major":"English","Interest":"Track & Field"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-76,39]},"properties":{"OBJECTID":8,"Name":"Dorothy","Gender":"Female","Level":"4. Senior","State":"MD","Major":"Math","Interest":"Lacrosse"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-72,42]},"properties":{"OBJECTID":9,"Name":"Dylan","Gender":"Male","Level":"1. Freshman","State":"MA","Major":"Math","Interest":"Baseball"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-83,30]},"properties":{"OBJECTID":10,"Name":"Edward","Gender":"Male","Level":"3. Junior","State":"FL","Major":"English","Interest":"Drama Club"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-89,43]},"properties":{"OBJECTID":11,"Name":"Ellen","Gender":"Female","Level":"1. Freshman","State":"WI","Major":"Physics","Interest":"Drama Club"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-72,42]},"properties":{"OBJECTID":12,"Name":"Fiona","Gender":"Female","Level":"1. Freshman","State":"MA","Major":"Art","Interest":"Debate"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-116,34]},"properties":{"OBJECTID":13,"Name":"John","Gender":"Male","Level":"3. Junior","State":"CA","Major":"Physics","Interest":"Basketball"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-80,33]},"properties":{"OBJECTID":14,"Name":"Jonathan","Gender":"Male","Level":"2. Sophomore","State":"SC","Major":"Math","Interest":"Debate"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-151,61]},"properties":{"OBJECTID":15,"Name":"Joseph","Gender":"Male","Level":"1. Freshman","State":"AK","Major":"English","Interest":"Drama Club"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-75,42]},"properties":{"OBJECTID":16,"Name":"Josephine","Gender":"Female","Level":"1. Freshman","State":"NY","Major":"Math","Interest":"Debate"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-71,43]},"properties":{"OBJECTID":17,"Name":"Karen","Gender":"Female","Level":"2. Sophomore","State":"NH","Major":"English","Interest":"Basketball"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-99,41]},"properties":{"OBJECTID":18,"Name":"Kevin","Gender":"Male","Level":"2. Sophomore","State":"NE","Major":"Physics","Interest":"Drama Club"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-80,33]},"properties":{"OBJECTID":19,"Name":"Lisa","Gender":"Female","Level":"3. Junior","State":"SC","Major":"Art","Interest":"Lacrosse"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-151,61]},"properties":{"OBJECTID":20,"Name":"Mary","Gender":"Female","Level":"2. Sophomore","State":"AK","Major":"Physics","Interest":"Track & Field"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-116,34]},"properties":{"OBJECTID":21,"Name":"Maureen","Gender":"Female","Level":"1. Freshman","State":"CA","Major":"Physics","Interest":"Basketball"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-75,42]},"properties":{"OBJECTID":22,"Name":"Nick","Gender":"Male","Level":"4. Senior","State":"NY","Major":"Art","Interest":"Baseball"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-79,35]},"properties":{"OBJECTID":23,"Name":"Olivia","Gender":"Female","Level":"4. Senior","State":"NC","Major":"Physics","Interest":"Track & Field"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-71,41]},"properties":{"OBJECTID":24,"Name":"Pamela","Gender":"Female","Level":"3. Junior","State":"RI","Major":"Math","Interest":"Baseball"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-75,42]},"properties":{"OBJECTID":25,"Name":"Patrick","Gender":"Male","Level":"1. Freshman","State":"NY","Major":"Art","Interest":"Lacrosse"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-116,34]},"properties":{"OBJECTID":26,"Name":"Robert","Gender":"Male","Level":"1. Freshman","State":"CA","Major":"English","Interest":"Track & Field"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-71,43]},"properties":{"OBJECTID":27,"Name":"Sean","Gender":"Male","Level":"1. Freshman","State":"NH","Major":"Physics","Interest":"Track & Field"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-75,42]},"properties":{"OBJECTID":28,"Name":"Stacy","Gender":"Female","Level":"1. Freshman","State":"NY","Major":"Math","Interest":"Baseball"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-71,41]},"properties":{"OBJECTID":29,"Name":"Thomas","Gender":"Male","Level":"2. Sophomore","State":"RI","Major":"Art","Interest":"Lacrosse"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[-83,30]},"properties":{"OBJECTID":30,"Name":"Will","Gender":"Male","Level":"4. Senior","State":"FL","Major":"Math","Interest":"Debate"}}]} \ No newline at end of file diff --git a/packages/winnow/test/integration/fixtures/snow.json b/packages/winnow/test/integration/fixtures/snow.json deleted file mode 100644 index 37df9272f..000000000 --- a/packages/winnow/test/integration/fixtures/snow.json +++ /dev/null @@ -1,294 +0,0 @@ -{ - "name": "snow.geojson", - "next_feature": null, - "type": "FeatureCollection", - "start": 0, - "features": [ - { - "type": "Feature", - "id": "adtdmr052uaw", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9476, - 39.9448 - ] - }, - "properties": { - "station name": "Northglenn 4.6 NNE", - "latitude": 39.9448, - "daily precip": 0.31, - "total precip": 0.31, - "daily snow total": 4.9, - "longitude": -104.9476, - "station": "īŋŊCO-AD-50", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrcvhg8l", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8424, - 39.9137 - ] - }, - "properties": { - "station name": "Thornton 7.5 ENE", - "latitude": 39.9137, - "daily precip": 0, - "total precip": 0, - "daily snow total": 3, - "longitude": -104.8424, - "station": "īŋŊCO-AD-75", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr4es2lv", - "geometry": { - "type": "Point", - "coordinates": [ - -104.991153, - 39.898467 - ] - }, - "properties": { - "station name": "Northglenn 0.9 SW", - "latitude": 39.898467, - "daily precip": 0.61, - "total precip": 0.61, - "daily snow total": 5.5, - "longitude": -104.991153, - "station": "īŋŊCO-AD-98", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmre0e54q", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9553999, - 39.92227505 - ] - }, - "properties": { - "station name": "Thornton 2.1 N", - "latitude": 39.92227505, - "daily precip": 0.49, - "total precip": 0.49, - "daily snow total": 4.1, - "longitude": -104.9553999, - "station": "īŋŊCO-AD-100", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmreebnu8", - "geometry": { - "type": "Point", - "coordinates": [ - -104.9246, - 39.8786 - ] - }, - "properties": { - "station name": "Thornton 1.9 ESE", - "latitude": 39.8786, - "daily precip": 0.32, - "total precip": 0.32, - "daily snow total": 3, - "longitude": -104.9246, - "station": "īŋŊCO-AD-119", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3tllwa", - "geometry": { - "type": "Point", - "coordinates": [ - -104.868338, - 39.971369 - ] - }, - "properties": { - "station name": "Brighton 4.0 WNW", - "latitude": 39.971369, - "daily precip": 0.48, - "total precip": 0.48, - "daily snow total": 3, - "longitude": -104.868338, - "station": "īŋŊCO-AD-123", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmra1haa1", - "geometry": { - "type": "Point", - "coordinates": [ - -104.85429, - 39.75166 - ] - }, - "properties": { - "station name": "Aurora 4.2 NNW", - "latitude": 39.75166, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 6, - "longitude": -104.85429, - "station": "īŋŊCO-AD-127", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr04feur", - "geometry": { - "type": "Point", - "coordinates": [ - -104.497224, - 39.782008 - ] - }, - "properties": { - "station name": "Bennett 4.3 WNW", - "latitude": 39.782008, - "daily precip": 0.46, - "total precip": 0.46, - "daily snow total": 0, - "longitude": -104.497224, - "station": "īŋŊCO-AD-145", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmrdkep6y", - "geometry": { - "type": "Point", - "coordinates": [ - -105.0275574, - 39.89636993 - ] - }, - "properties": { - "station name": "Westminster 1.6 NE", - "latitude": 39.89636993, - "daily precip": 0.35, - "total precip": 0.35, - "daily snow total": 3.5, - "longitude": -105.0275574, - "station": "īŋŊCO-AD-153", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr08v6lf", - "geometry": { - "type": "Point", - "coordinates": [ - -105.026047, - 39.869518 - ] - }, - "properties": { - "station name": "Westminster 1.6 ESE", - "latitude": 39.869518, - "daily precip": 0.33, - "total precip": 0.33, - "daily snow total": 4, - "longitude": -105.026047, - "station": "īŋŊCO-AD-162", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr8z5eb6", - "geometry": { - "type": "Point", - "coordinates": [ - -105.015569, - 39.884561 - ] - }, - "properties": { - "station name": "Federal Heights 1.3 N", - "latitude": 39.884561, - "daily precip": 0.53, - "total precip": 0.53, - "daily snow total": 4.1, - "longitude": -105.015569, - "station": "īŋŊCO-AD-166", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr2x0g2k", - "geometry": { - "type": "Point", - "coordinates": [ - -104.8207855, - 39.7559967 - ] - }, - "properties": { - "station name": "Aurora 4.0 N", - "latitude": 39.7559967, - "daily precip": 0.4, - "total precip": 0.4, - "daily snow total": 0, - "longitude": -104.8207855, - "station": "īŋŊCO-AD-169", - "multi-day precip": null, - "num of reports": 1 - } - }, - { - "type": "Feature", - "id": "adtdmr3wh085", - "geometry": { - "type": "Point", - "coordinates": [ - -104.861938, - 39.752254 - ] - }, - "properties": { - "station name": "Aurora 4.5 NW", - "latitude": 39.752254, - "daily precip": 0.62, - "total precip": 0.62, - "daily snow total": 5.5, - "longitude": -104.861938, - "station": "īŋŊCO-AD-170", - "multi-day precip": null, - "num of reports": 1 - } - } - ] -} \ No newline at end of file diff --git a/packages/winnow/test/integration/fixtures/startups.json b/packages/winnow/test/integration/fixtures/startups.json deleted file mode 100644 index d358bb5ef..000000000 --- a/packages/winnow/test/integration/fixtures/startups.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "objectIdFieldName": "OBJECTID", - "globalIdFieldName": "", - "hasZ": false, - "hasM": false, - "geometryType": "esriGeometryPoint", - "spatialReference": { - "wkid": 4326 - }, - "fields": [ - { - "name": "OBJECTID", - "type": "esriFieldTypeInteger", - "alias": "OBJECTID" - }, - { - "name": "COMPANY", - "type": "esriFieldTypeString", - "alias": "COMPANY", - "length": 128 - }, - { - "name": "AVATAR", - "type": "esriFieldTypeString", - "alias": "AVATAR", - "length": 128 - } - ], - "features": [ - { - "attributes": { - "OBJECTID": 1, - "COMPANY": "TEST1", - "AVATAR": null - }, - "geometry": { - "x": 8.6241263, - "y": 49.8707774 - } - }, - { - "attributes": { - "OBJECTID": 2, - "COMPANY": "TEST2", - "AVATAR": null - }, - "geometry": { - "x": 80, - "y": 60 - } - }, - { - "attributes": { - "OBJECTID": 3, - "COMPANY": "TEST3", - "AVATAR": null - }, - "geometry": { - "x": -30, - "y": 100 - } - } - ] -} diff --git a/packages/winnow/test/integration/fixtures/states.json b/packages/winnow/test/integration/fixtures/states.json deleted file mode 100644 index f82cfa986..000000000 --- a/packages/winnow/test/integration/fixtures/states.json +++ /dev/null @@ -1,4 +0,0 @@ -{"type":"FeatureCollection", "features": [ -{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-104.053249000241,41.0014060000869],[-104.053513999871,41.1572569998107],[-104.052244999807,41.3980649998999],[-104.052859000243,41.5922540004219],[-104.052966999827,41.9169720002577],[-104.052547000244,42.1668009999663],[-104.053106999988,42.4999639998388],[-104.052620000013,42.6605490002362],[-104.053260999895,43.0324630001674],[-104.054790000258,43.4164199996833],[-104.055487000025,43.8534759999175],[-104.054486999775,44.1803809998833],[-104.055925999585,44.5173590003176],[-104.055912999885,44.8749859997042],[-104.057697000316,44.9973799997872],[-104.366691999936,44.9981510002685],[-104.772765000404,44.9991579999418],[-105.018364000198,45.0004389996601],[-105.250544999952,45.0001679997534],[-105.718211999884,45.0003330001679],[-105.913381999779,45.000941000327],[-105.928182999746,44.9936470003089],[-106.25071699959,44.9936880004009],[-106.625610000201,44.9949269999811],[-107.084937999589,44.9965989997441],[-107.134178999561,45.0001089997306],[-107.500025000254,45.0015119996791],[-107.750649999798,45.0007780000047],[-107.997368999979,45.0015650003245],[-108.27143899971,45.0002520000298],[-108.499092000196,44.9997999998702],[-109.081370000125,44.9994600003787],[-109.103373000364,45.005885999939],[-109.386045000177,45.0048889998275],[-109.574320999614,45.0026310000207],[-109.750730000389,45.0016050003705],[-109.875745999978,45.0032739999951],[-110.110103000253,45.0039050003156],[-110.199502999564,44.9961879996765],[-110.2757920004,44.9965930003667],[-110.362697999813,45.0005929995673],[-110.402926999681,44.9938099997318],[-110.488060000069,44.9923610003599],[-110.705272000203,44.992323999553],[-110.785007999919,45.0029520004345],[-111.055198999734,45.0013209998643],[-111.056889000327,44.866657999667],[-111.055208000149,44.6249270001809],[-111.048972000357,44.4755450002016],[-111.049695000424,44.3536260004396],[-111.04845199976,44.114830999651],[-111.049076999804,44.0201299995999],[-111.046516000413,43.9083689997296],[-111.046571000251,43.73967799964],[-111.045383000325,43.4845660000209],[-111.044119999638,43.2470709998269],[-111.044078000399,42.9759799998772],[-111.043547000194,42.7195020002172],[-111.047023000411,42.4740639997539],[-111.047319999718,42.2078210003389],[-111.046719999928,41.8611099998267],[-111.045795999586,41.506065999946],[-111.046408999975,41.3158510001236],[-111.046723000066,40.9979590003077],[-110.500718000136,40.9947459996282],[-110.237904999716,40.9954260004096],[-110.12163899984,40.997101000311],[-109.806906000012,40.9976990000089],[-109.510885999789,40.9990520003496],[-109.250007000423,41.0010499998577],[-109.0500259999,41.0006910003894],[-108.884137999569,41.0000939998383],[-108.526029000438,40.9995920000708],[-108.181226999826,41.0004550002981],[-108.046539000275,41.0020639998538],[-107.750626999636,41.0019710000616],[-107.241194000003,41.0028039998048],[-107.003119000042,41.0034210003789],[-106.625592000271,41.0021100001764],[-106.439563000132,41.0019780003844],[-106.314217999761,40.9989229997967],[-106.061180999603,40.9969990001038],[-105.726440999852,40.9968359997816],[-105.341414999603,40.9979720000078],[-104.855273000249,40.9980479999153],[-104.625519000002,41.0014280002021],[-104.355775000116,41.0014929996023],[-104.053249000241,41.0014060000869]]]},"properties":{"REGION":"4","DIVISION":"8","STATEFP":"56","STATENS":"01779807","GEOID":"56","STUSPS":"WY","NAME":"Wyoming","LSAD":"00","MTFCC":"G4000","FUNCSTAT":"A","ALAND":251471960305,"AWATER":1862600347,"INTPTLAT":"+42.9918024","INTPTLON":"-107.5419255","Shape_Leng":22.0016272646,"Shape_Area":27.9717575343},"id":11}, -{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-109.0500259999,41.0006910003894],[-109.048455000298,40.8260809998383],[-109.048009999562,40.5809770003883],[-109.051245000356,40.4415990003936],[-109.051156999896,40.008237999684],[-109.05095599962,39.8210310000807],[-109.05140000031,39.5181799996074],[-109.051166000311,39.1426029998286],[-109.054118999792,38.8735320004015],[-109.059824000277,38.7147460002278],[-109.060152000115,38.5031550003031],[-109.060061999562,38.2754890001173],[-109.041762000116,38.1646899996438],[-109.042816000158,37.9623589995682],[-109.041058000027,37.9072359999415],[-109.042268000068,37.666128000407],[-109.041920000208,37.5305250000288],[-109.045809999732,37.3749929997272],[-109.045995000169,37.1772790003256],[-109.045222999642,36.9990839999267],[-108.875317000179,36.9988390003197],[-108.500641999728,36.9992759997876],[-108.249358000371,36.9990150003421],[-107.729193999603,37.0000019999924],[-107.464126999561,37.0000040000846],[-107.107240000126,37.0000080002691],[-106.877292999972,37.0001410001071],[-106.869797999678,36.9924240003673],[-106.591177999665,36.9929229999965],[-106.201469000194,36.99412200043],[-105.969073999565,36.9955689997096],[-105.664719999928,36.9958740002849],[-105.222397999668,36.9951660000109],[-105.12079999992,36.9954280004019],[-105.02922600018,36.9927269999511],[-104.644996999812,36.9933790003407],[-104.338833000343,36.99353500034],[-103.817803000108,36.9973390003946],[-103.499968000223,36.9991850000877],[-103.252305999722,36.9995719999479],[-103.013559000248,37.000211999784],[-102.986976000142,36.9985240001825],[-102.815074000365,36.99977400027],[-102.698142000353,36.9951490001263],[-102.375461000025,36.9945799999671],[-102.042089000407,36.9930159997886],[-102.041819999693,37.4101490003761],[-102.04162599974,37.6966990000589],[-102.044514999867,37.9845749997365],[-102.044610999798,38.2859100004462],[-102.044887999981,38.5663940000831],[-102.046046000323,38.9817759999625],[-102.047841000362,39.2345820002591],[-102.049552000125,39.5388949998044],[-102.051363000002,39.8434709997869],[-102.051933000208,40.2174280004019],[-102.051553999817,40.5000230002613],[-102.051416999795,40.742793],[-102.051717000139,41.0023589999679],[-102.556720999674,41.0021999998302],[-102.827237000087,41.0021429998996],[-103.365314000441,41.0018459996932],[-103.669053999642,41.0014419999484],[-104.053249000241,41.0014060000869],[-104.355775000116,41.0014929996023],[-104.625519000002,41.0014280002021],[-104.855273000249,40.9980479999153],[-105.341414999603,40.9979720000078],[-105.726440999852,40.9968359997816],[-106.061180999603,40.9969990001038],[-106.314217999761,40.9989229997967],[-106.439563000132,41.0019780003844],[-106.625592000271,41.0021100001764],[-107.003119000042,41.0034210003789],[-107.241194000003,41.0028039998048],[-107.750626999636,41.0019710000616],[-108.046539000275,41.0020639998538],[-108.181226999826,41.0004550002981],[-108.526029000438,40.9995920000708],[-108.884137999569,41.0000939998383],[-109.0500259999,41.0006910003894]]]},"properties":{"REGION":"4","DIVISION":"8","STATEFP":"08","STATENS":"01779779","GEOID":"08","STUSPS":"CO","NAME":"Colorado","LSAD":"00","MTFCC":"G4000","FUNCSTAT":"A","ALAND":268426928342,"AWATER":1176085119,"INTPTLAT":"+38.9938673","INTPTLON":"-105.5083188","Shape_Leng":22.0263411022,"Shape_Area":28.0394869765},"id":9} -]} \ No newline at end of file diff --git a/packages/winnow/test/integration/fixtures/to-esri-fixture.json b/packages/winnow/test/integration/fixtures/to-esri-fixture.json deleted file mode 100644 index aab4f5eb2..000000000 --- a/packages/winnow/test/integration/fixtures/to-esri-fixture.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "properties": { - "double": 1.1, - "integer": 1, - "string": "foobar", - "date": "2012-03-15T00:00:00.000Z" - }, - "geometry":{"type":"Point","coordinates":[-88.00637099999999,43.01818599999999]} - } - ] -} diff --git a/packages/winnow/test/integration/fixtures/trees-feature-id.json b/packages/winnow/test/integration/fixtures/trees-feature-id.json deleted file mode 100644 index d2ae18adf..000000000 --- a/packages/winnow/test/integration/fixtures/trees-feature-id.json +++ /dev/null @@ -1,587 +0,0 @@ -{ - "type": "FeatureCollection", - "crs": { - "type": "name", - "properties": { - "name": "urn:ogc:def:crs:OGC:1.3:CRS84" - } - }, - "features": [ - { - "type": "Feature", - "properties": { - "featureId": 11303, - "Common_Name": "SOUTHERN MAGNOLIA", - "Genus": "MAGNOLIA", - "Species": "GRANDIFLORA", - "House_Number": 505, - "Street_Direction": "S", - "Street_Name": "GRAND", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 13, - "Longitude": -118.162307, - "Latitude": 34.137114 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16230746759626, - 34.137113646321595 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 7359, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 564, - "Street_Direction": "E", - "Street_Name": "CLAREMONT", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 7, - "Longitude": -118.138911, - "Latitude": 34.16683 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.13891082012945, - 34.16683031375111 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 8391, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "Species": "MIMOSIFOLIA", - "House_Number": 542, - "Street_Direction": null, - "Street_Name": "DEL MONTE", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 17, - "Longitude": -118.161895, - "Latitude": 34.172534 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16189539291581, - 34.172533854576706 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 316, - "Common_Name": "XYLOSMA", - "Genus": "XYLOSMA", - "Species": "CONGESTUM", - "House_Number": 2180, - "Street_Direction": "N", - "Street_Name": "ALTADENA", - "Street_Type": "DR", - "Street_Suffix": null, - "Trunk_Diameter": 3, - "Longitude": -118.100004, - "Latitude": 34.183324 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.10000401285822, - 34.183324216717196 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11304, - "Common_Name": "SOUTHERN MAGNOLIA", - "Genus": "MAGNOLIA", - "Species": "GRANDIFLORA", - "House_Number": 505, - "Street_Direction": "S", - "Street_Name": "GRAND", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 16, - "Longitude": -118.162312, - "Latitude": 34.13699 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16231151145712, - 34.13699015455558 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 7360, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 565, - "Street_Direction": "E", - "Street_Name": "CLAREMONT", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 1, - "Longitude": -118.139013, - "Latitude": 34.166939 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.1390127851391, - 34.16693855073808 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 8392, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "Species": "MIMOSIFOLIA", - "House_Number": 545, - "Street_Direction": null, - "Street_Name": "DEL MONTE", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 22, - "Longitude": -118.162084, - "Latitude": 34.172669 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16208413983006, - 34.172669220084885 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 317, - "Common_Name": "HOLLY OAK", - "Genus": "QUERCUS", - "Species": "ILEX", - "House_Number": 2180, - "Street_Direction": "N", - "Street_Name": "ALTADENA", - "Street_Type": "DR", - "Street_Suffix": null, - "Trunk_Diameter": 8, - "Longitude": -118.100279, - "Latitude": 34.183244 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.10027873531907, - 34.18324442644466 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11305, - "Common_Name": "SOUTHERN MAGNOLIA", - "Genus": "MAGNOLIA", - "Species": "GRANDIFLORA", - "House_Number": 505, - "Street_Direction": "S", - "Street_Name": "GRAND", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 8, - "Longitude": -118.162317, - "Latitude": 34.136875 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16231699933272, - 34.13687497477171 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 7361, - "Common_Name": "WINDMILL PALM", - "Genus": "TRACHYCARPUS", - "Species": "FORTUNEI", - "House_Number": 565, - "Street_Direction": "E", - "Street_Name": "CLAREMONT", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 4, - "Longitude": -118.138968, - "Latitude": 34.166942 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.13896814755172, - 34.16694157078453 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11306, - "Common_Name": "SOUTHERN MAGNOLIA", - "Genus": "MAGNOLIA", - "Species": "GRANDIFLORA", - "House_Number": 524, - "Street_Direction": "S", - "Street_Name": "GRAND", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 18, - "Longitude": -118.162161, - "Latitude": 34.136792 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.1621608729996, - 34.13679169620391 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 8393, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "Species": "MIMOSIFOLIA", - "House_Number": 550, - "Street_Direction": null, - "Street_Name": "DEL MONTE", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 1, - "Longitude": -118.162098, - "Latitude": 34.172564 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.1620980015195, - 34.17256398103076 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 318, - "Common_Name": "FLAX-LEAF PAPERBARK", - "Genus": "MELALEUCA", - "Species": "LINARIIFOLIA", - "House_Number": 2190, - "Street_Direction": "N", - "Street_Name": "ALTADENA", - "Street_Type": "DR", - "Street_Suffix": null, - "Trunk_Diameter": 7, - "Longitude": -118.100121, - "Latitude": 34.183455 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.10012107937855, - 34.18345506366259 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11308, - "Common_Name": "SOUTHERN MAGNOLIA", - "Genus": "MAGNOLIA", - "Species": "GRANDIFLORA", - "House_Number": 530, - "Street_Direction": "S", - "Street_Name": "GRAND", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 24, - "Longitude": -118.162167, - "Latitude": 34.136504 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16216749121132, - 34.136504054696836 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 8395, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "Species": "MIMOSIFOLIA", - "House_Number": 560, - "Street_Direction": null, - "Street_Name": "DEL MONTE", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 8, - "Longitude": -118.162258, - "Latitude": 34.172585 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.1622583946417, - 34.17258481039977 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 7364, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 580, - "Street_Direction": "E", - "Street_Name": "CLAREMONT", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 9, - "Longitude": -118.138614, - "Latitude": 34.166824 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.13861360553399, - 34.16682401771622 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 320, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 2190, - "Street_Direction": "N", - "Street_Name": "ALTADENA", - "Street_Type": "DR", - "Street_Suffix": null, - "Trunk_Diameter": 12, - "Longitude": -118.100081, - "Latitude": 34.183479 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.10008124132926, - 34.1834787014212 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11309, - "Common_Name": "SOUTHERN MAGNOLIA", - "Genus": "MAGNOLIA", - "Species": "GRANDIFLORA", - "House_Number": 530, - "Street_Direction": "S", - "Street_Name": "GRAND", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 0, - "Longitude": -118.162067, - "Latitude": 34.136461 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16206693622065, - 34.13646122437432 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 8396, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "Species": "MIMOSIFOLIA", - "House_Number": 565, - "Street_Direction": null, - "Street_Name": "DEL MONTE", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 13, - "Longitude": -118.162394, - "Latitude": 34.172716 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16239368231766, - 34.17271556999126 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 7365, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 585, - "Street_Direction": "E", - "Street_Name": "CLAREMONT", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 27, - "Longitude": -118.138609, - "Latitude": 34.166936 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.13860929277861, - 34.16693619930697 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 321, - "Common_Name": "HOLLY OAK", - "Genus": "QUERCUS", - "Species": "ILEX", - "House_Number": 2190, - "Street_Direction": "N", - "Street_Name": "ALTADENA", - "Street_Type": "DR", - "Street_Suffix": null, - "Trunk_Diameter": 12, - "Longitude": -118.099986, - "Latitude": 34.183479 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.09998560225344, - 34.18347878141796 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11310, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "Species": "MIMOSIFOLIA", - "House_Number": 530, - "Street_Direction": "S", - "Street_Name": "GRAND", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 0, - "Longitude": -118.162045, - "Latitude": 34.136476 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16204543419569, - 34.13647557492385 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 8397, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "Species": "MIMOSIFOLIA", - "House_Number": 565, - "Street_Direction": null, - "Street_Name": "DEL MONTE", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 15, - "Longitude": -118.162498, - "Latitude": 34.172734 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16249780679253, - 34.17273413601301 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 7366, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 585, - "Street_Direction": "E", - "Street_Name": "CLAREMONT", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 18, - "Longitude": -118.138558, - "Latitude": 34.166936 - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.13855756141967, - 34.166936258589594 - ] - } - } - ] -} \ No newline at end of file diff --git a/packages/winnow/test/integration/fixtures/trees-sr-102645.json b/packages/winnow/test/integration/fixtures/trees-sr-102645.json deleted file mode 100644 index 246d6ac98..000000000 --- a/packages/winnow/test/integration/fixtures/trees-sr-102645.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "FeatureCollection", - "name": "street-trees-102645", - "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::102645" } }, - "features": [ - { "type": "Feature", "properties": { "OBJECTID": 31724, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1999, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 23, "Longitude": -118.15747343, "Latitude": 34.180086872000103 }, "geometry": { "type": "Point", "coordinates": [ 6514038.953486103564501, 1887956.492762538837269 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31722, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1991, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 19, "Longitude": -118.15747179100001, "Latitude": 34.179981473000097 }, "geometry": { "type": "Point", "coordinates": [ 6514039.389178796671331, 1887918.135223435005173 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31723, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1996, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 17, "Longitude": -118.157324903, "Latitude": 34.180040354 }, "geometry": { "type": "Point", "coordinates": [ 6514083.84874156396836, 1887939.493448474211618 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31720, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1980, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 15, "Longitude": -118.15732032, "Latitude": 34.179902619000103 }, "geometry": { "type": "Point", "coordinates": [ 6514085.156479243189096, 1887889.367230779025704 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31721, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1981, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 18, "Longitude": -118.157470069, "Latitude": 34.179832955000101 }, "geometry": { "type": "Point", "coordinates": [ 6514039.825198765844107, 1887864.086112950462848 ] } }, - { "type": "Feature", "properties": { "OBJECTID": 31719, "Common_Nam": "JACARANDA", "Genus": "JACARANDA", "Species": "MIMOSIFOLIA", "House_Numb": 1980, "Street_Dir": null, "Street_Nam": "MENTONE", "Street_Typ": "AVE", "Street_Suf": null, "Trunk_Diam": 14, "Longitude": -118.157321544, "Latitude": 34.179787634 }, "geometry": { "type": "Point", "coordinates": [ 6514084.720782318152487, 1887847.522821671096608 ] } } - ] - } - \ No newline at end of file diff --git a/packages/winnow/test/integration/fixtures/trees.json b/packages/winnow/test/integration/fixtures/trees.json deleted file mode 100644 index 3f93eda53..000000000 --- a/packages/winnow/test/integration/fixtures/trees.json +++ /dev/null @@ -1,613 +0,0 @@ -{ - "type": "FeatureCollection", - "crs": { - "type": "name", - "properties": { - "name": "urn:ogc:def:crs:OGC:1.3:CRS84" - } - }, - "features": [ - { - "type": "Feature", - "properties": { - "OBJECTID": 11303, - "Common_Name": "SOUTHERN MAGNOLIA", - "Genus": "MAGNOLIA", - "Species": "GRANDIFLORA", - "House_Number": 505, - "Street_Direction": "S", - "Street_Name": "GRAND'S STREET'S", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 13, - "Longitude": -118.162307, - "Latitude": 34.137114, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16230746759626, - 34.137113646321595 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 7359, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 564, - "Street_Direction": "E", - "Street_Name": "CLAREMONT", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 7, - "Longitude": -118.138911, - "Latitude": 34.16683, - "survey_date": "2017-02-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.13891082012945, - 34.16683031375111 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 8391, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "Species": "MIMOSIFOLIA", - "House_Number": 542, - "Street_Direction": null, - "Street_Name": "DEL MONTE", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 17, - "Longitude": -118.161895, - "Latitude": 34.172534, - "survey_date": "2017-03-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16189539291581, - 34.172533854576706 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 316, - "Common_Name": "XYLOSMA", - "Genus": "XYLOSMA", - "Species": "CONGESTUM", - "House_Number": 2180, - "Street_Direction": "N", - "Street_Name": "ALTADENA", - "Street_Type": "DR", - "Street_Suffix": null, - "Trunk_Diameter": 3, - "Longitude": -118.100004, - "Latitude": 34.183324, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.10000401285822, - 34.183324216717196 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11304, - "Common_Name": "SOUTHERN MAGNOLIA", - "Genus": "MAGNOLIA", - "Species": "GRANDIFLORA", - "House_Number": 505, - "Street_Direction": "S", - "Street_Name": "GRAND", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 16, - "Longitude": -118.162312, - "Latitude": 34.13699, - "survey_date": "2017-02-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16231151145712, - 34.13699015455558 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 7360, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 565, - "Street_Direction": "E", - "Street_Name": "CLAREMONT", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 1, - "Longitude": -118.139013, - "Latitude": 34.166939, - "survey_date": "2017-03-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.1390127851391, - 34.16693855073808 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 8392, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "Species": "MIMOSIFOLIA", - "House_Number": 545, - "Street_Direction": null, - "Street_Name": "DEL MONTE", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 22, - "Longitude": -118.162084, - "Latitude": 34.172669, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16208413983006, - 34.172669220084885 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 317, - "Common_Name": "HOLLY OAK", - "Genus": "QUERCUS", - "Species": "ILEX", - "House_Number": 2180, - "Street_Direction": "N", - "Street_Name": "ALTADENA", - "Street_Type": "DR", - "Street_Suffix": null, - "Trunk_Diameter": 8, - "Longitude": -118.100279, - "Latitude": 34.183244, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.10027873531907, - 34.18324442644466 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11305, - "Common_Name": "SOUTHERN MAGNOLIA", - "Genus": "MAGNOLIA", - "Species": "GRANDIFLORA", - "House_Number": 505, - "Street_Direction": "S", - "Street_Name": "GRAND", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 8, - "Longitude": -118.162317, - "Latitude": 34.136875, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16231699933272, - 34.13687497477171 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 7361, - "Common_Name": "WINDMILL PALM", - "Genus": "TRACHYCARPUS", - "Species": "FORTUNEI", - "House_Number": 565, - "Street_Direction": "E", - "Street_Name": "CLAREMONT", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 4, - "Longitude": -118.138968, - "Latitude": 34.166942, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.13896814755172, - 34.16694157078453 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11306, - "Common_Name": "SOUTHERN MAGNOLIA", - "Genus": "MAGNOLIA", - "Species": "GRANDIFLORA", - "House_Number": 524, - "Street_Direction": "S", - "Street_Name": "GRAND", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 18, - "Longitude": -118.162161, - "Latitude": 34.136792, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.1621608729996, - 34.13679169620391 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 8393, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "Species": "MIMOSIFOLIA", - "House_Number": 550, - "Street_Direction": null, - "Street_Name": "DEL MONTE", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 1, - "Longitude": -118.162098, - "Latitude": 34.172564, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.1620980015195, - 34.17256398103076 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 318, - "Common_Name": "FLAX-LEAF PAPERBARK", - "Genus": "MELALEUCA", - "Species": "LINARIIFOLIA", - "House_Number": 2190, - "Street_Direction": "N", - "Street_Name": "ALTADENA", - "Street_Type": "DR", - "Street_Suffix": null, - "Trunk_Diameter": 7, - "Longitude": -118.100121, - "Latitude": 34.183455, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.10012107937855, - 34.18345506366259 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11308, - "Common_Name": "SOUTHERN MAGNOLIA", - "Genus": "MAGNOLIA", - "Species": "GRANDIFLORA", - "House_Number": 530, - "Street_Direction": "S", - "Street_Name": "GRAND", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 24, - "Longitude": -118.162167, - "Latitude": 34.136504, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16216749121132, - 34.136504054696836 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 8395, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "Species": "MIMOSIFOLIA", - "House_Number": 560, - "Street_Direction": null, - "Street_Name": "DEL MONTE", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 8, - "Longitude": -118.162258, - "Latitude": 34.172585, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.1622583946417, - 34.17258481039977 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 7364, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 580, - "Street_Direction": "E", - "Street_Name": "CLAREMONT", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 9, - "Longitude": -118.138614, - "Latitude": 34.166824, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.13861360553399, - 34.16682401771622 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 320, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 2190, - "Street_Direction": "N", - "Street_Name": "ALTADENA", - "Street_Type": "DR", - "Street_Suffix": null, - "Trunk_Diameter": 12, - "Longitude": -118.100081, - "Latitude": 34.183479, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.10008124132926, - 34.1834787014212 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11309, - "Common_Name": "SOUTHERN MAGNOLIA", - "Genus": "MAGNOLIA", - "Species": "GRANDIFLORA", - "House_Number": 530, - "Street_Direction": "S", - "Street_Name": "GRAND", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 0, - "Longitude": -118.162067, - "Latitude": 34.136461, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16206693622065, - 34.13646122437432 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 8396, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "Species": "MIMOSIFOLIA", - "House_Number": 565, - "Street_Direction": null, - "Street_Name": "DEL MONTE", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 13, - "Longitude": -118.162394, - "Latitude": 34.172716, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16239368231766, - 34.17271556999126 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 7365, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 585, - "Street_Direction": "E", - "Street_Name": "CLAREMONT", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 27, - "Longitude": -118.138609, - "Latitude": 34.166936, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.13860929277861, - 34.16693619930697 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 321, - "Common_Name": "HOLLY OAK", - "Genus": "QUERCUS", - "Species": "ILEX", - "House_Number": 2190, - "Street_Direction": "N", - "Street_Name": "ALTADENA", - "Street_Type": "DR", - "Street_Suffix": null, - "Trunk_Diameter": 12, - "Longitude": -118.099986, - "Latitude": 34.183479, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.09998560225344, - 34.18347878141796 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 11310, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "House_Number": 530, - "Street_Direction": "S", - "Street_Name": "GRAND", - "Street_Type": "AVE", - "Street_Suffix": null, - "Trunk_Diameter": 0, - "Longitude": -118.162045, - "Latitude": 34.136476, - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16204543419569, - 34.13647557492385 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 8397, - "Common_Name": "JACARANDA", - "Genus": "JACARANDA", - "Species": "MIMOSIFOLIA", - "House_Number": 565, - "Street_Direction": null, - "Street_Name": "DEL MONTE", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 15, - "Longitude": -118.162498, - "Latitude": 34.172734, - "Test/Field": "foo", - "survey_date": "2017-01-05T00:00:00.000Z" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.16249780679253, - 34.17273413601301 - ] - } - }, - { - "type": "Feature", - "properties": { - "OBJECTID": 7366, - "Common_Name": "LIVE OAK", - "Genus": "QUERCUS", - "Species": "AGRIFOLIA", - "House_Number": 585, - "Street_Direction": "E", - "Street_Name": "CLAREMONT", - "Street_Type": "ST", - "Street_Suffix": null, - "Trunk_Diameter": 18, - "Longitude": -118.138558, - "Latitude": 34.166936, - "Test/Field": "foo", - "survey_date": "2017-01-05T00:00:00.000Z" - - }, - "geometry": { - "type": "Point", - "coordinates": [ - -118.13855756141967, - 34.166936258589594 - ] - } - } - ] -} \ No newline at end of file diff --git a/packages/winnow/test/integration/limit.spec.js b/packages/winnow/test/integration/limit.spec.js deleted file mode 100644 index b66c1e456..000000000 --- a/packages/winnow/test/integration/limit.spec.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict'; -const test = require('tape'); -const winnow = require('../..'); -const fixture = require('./fixtures/trees.json'); - -test('With a limit option', t => { - t.plan(3); - const options = { - limit: 10 - }; - const filtered = winnow.query(fixture.features, options); - t.equal(filtered.length, 10); - t.equal(filtered[0].properties.Common_Name, 'SOUTHERN MAGNOLIA'); - t.equal(filtered[9].properties.Common_Name, 'WINDMILL PALM'); -}); - -test('With a limit and an offset option', t => { - t.plan(3); - const options = { - limit: 10, - offset: 11 - }; - const filtered = winnow.query(fixture.features, options); - t.equal(filtered.length, 10); - t.equal(filtered[0].properties.Common_Name, 'JACARANDA'); - t.equal(filtered[9].properties.Common_Name, 'HOLLY OAK'); -}); - -test('With an offset option, but no limit; should return all features', t => { - t.plan(1); - const options = { - offset: 10 - }; - const filtered = winnow.query(fixture.features, options); - t.equal(filtered.length, 24); -}); - -test('With a limit and an offset larger than returned features, should return no features', t => { - t.plan(1); - const options = { - limit: 10, - offset: 100000 - }; - const filtered = winnow.query(fixture.features, options); - t.equal(filtered.length, 0); -}); diff --git a/packages/winnow/test/integration/order.spec.js b/packages/winnow/test/integration/order.spec.js deleted file mode 100644 index 45bf75eae..000000000 --- a/packages/winnow/test/integration/order.spec.js +++ /dev/null @@ -1,69 +0,0 @@ -'use strict'; -const test = require('tape'); -const _ = require('lodash'); -const winnow = require('../..'); -const fixture = require('./fixtures/trees.json'); - -test('With a limit of 10, order by OBJECTID ASC', t => { - t.plan(2); - const options = { - limit: 10, - order: 'OBJECTID ASC' - }; - const filtered = winnow.query(fixture.features, options); - t.equals(filtered[0].properties.OBJECTID, 316); - t.equals(filtered[1].properties.OBJECTID, 317); -}); - -test('With a limit of 10, toEsri, and an idField, order by OBJECTID ASC', t => { - t.plan(2); - const options = { - limit: 10, - order: 'OBJECTID', - toEsri: true, - collection: { metadata: { idField: 'OBJECTID' } } - }; - const filtered = winnow.query(fixture.features, options); - t.equals(filtered.features[0].attributes.OBJECTID, 316); - t.equals(filtered.features[1].attributes.OBJECTID, 317); -}); - -test('With a limit of 10, toEsri, and an idField, order by OBJECTID DESC', t => { - t.plan(2); - const options = { - limit: 10, - order: 'OBJECTID DESC', - toEsri: true, - collection: { metadata: { idField: 'OBJECTID' } } - }; - const filtered = winnow.query(fixture.features, options); - t.equals(filtered.features[0].attributes.OBJECTID, 11310); - t.equals(filtered.features[1].attributes.OBJECTID, 11309); -}); - -test('With a limit of 10, toEsri and no idField specified (winnow generates OBJECTID), order by OBJECTID DESC', t => { - t.plan(3); - const options = { - limit: 10, - order: 'OBJECTID DESC', - toEsri: true - }; - // Clone fixture so it isn't mutated - const filtered = winnow.query(_.cloneDeep(fixture).features, options); - t.ok(filtered[0].attributes.OBJECTID > filtered[1].attributes.OBJECTID); - t.ok(filtered[1].attributes.OBJECTID > filtered[2].attributes.OBJECTID); - t.ok(filtered[2].attributes.OBJECTID > filtered[3].attributes.OBJECTID); -}); - -test('With a limit of 10 and toEsri and no idField specified, order by Species DESC', t => { - t.plan(2); - const options = { - limit: 10, - order: 'Species DESC', - toEsri: true - }; - const features = require('./fixtures/trees.json').features; - const filtered = winnow.query(features, options); - t.equal(filtered[0].attributes.Species, 'MIMOSIFOLIA'); - t.equal(filtered[8].attributes.Species, 'ILEX'); -}); diff --git a/packages/winnow/test/integration/prepare.spec.js b/packages/winnow/test/integration/prepare.spec.js deleted file mode 100644 index 93455e2d6..000000000 --- a/packages/winnow/test/integration/prepare.spec.js +++ /dev/null @@ -1,119 +0,0 @@ -const test = require('tape'); -const Winnow = require('../..'); -const trees = require('./fixtures/trees.json'); -const trees102645 = require('./fixtures/trees-sr-102645.json'); -const caStatePlaneWKT = `PROJCS["NAD_1983_StatePlane_California_V_FIPS_0405_Feet", -GEOGCS["GCS_North_American_1983", - DATUM["North_American_Datum_1983", - SPHEROID["GRS_1980",6378137,298.257222101]], - PRIMEM["Greenwich",0], - UNIT["Degree",0.017453292519943295]], -PROJECTION["Lambert_Conformal_Conic_2SP"], -PARAMETER["False_Easting",6561666.666666666], -PARAMETER["False_Northing",1640416.666666667], -PARAMETER["Central_Meridian",-118], -PARAMETER["Standard_Parallel_1",34.03333333333333], -PARAMETER["Standard_Parallel_2",35.46666666666667], -PARAMETER["Latitude_Of_Origin",33.5], -UNIT["Foot_US",0.30480060960121924], -AUTHORITY["EPSG","102645"]]`; - -test('compiling a complex query', t => { - try { - t.ok(Winnow.prepareQuery({ - geometry: { - xmin: -37237674.195623085, - ymin: 676003.5082798181, - xmax: 37237674.195623085, - ymax: 12416731.052879848, - spatialReference: { - wkt: 'PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-6.828007551173374],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]' - } - } - }), 'query compiled'); - t.end(); - } catch (e) { - t.fail(e); - t.end(); - } -}); - -test('compiling with several and statements', t => { - try { - t.ok(Winnow.prepareQuery({ where: 'ELEVATION >= 1165 AND ELEVATION <= 4365 AND POP1990 >= 8247 AND POP1990 <= 5700236' })); - t.end(); - } catch (e) { - t.fail(e); - t.end(); - } -}); - -test('prepare query with where, then execute filter', (t) => { - t.plan(1); - const options = { - where: 'Common_Name=\'SOUTHERN MAGNOLIA\'' - }; - const query = Winnow.prepareQuery(options); - const filtered = query(trees); - t.equal(filtered.features.length, 6); -}); - -test('prepare query with geometry filter, then execute filter', (t) => { - t.plan(1); - const options = { - geometry: { - xmin: -118.1406, - ymin: 34.1635, - xmax: -118.1348, - ymax: 34.1685, - spatialReference: { - wkid: 4326 - } - } - }; - const query = Winnow.prepareQuery(options); - const filtered = query(trees); - t.equal(filtered.features.length, 6); -}); - -test('prepare query with geometry filter and projection, then execute filter', (t) => { - t.plan(3); - const options = { - geometry: { - xmin: -118.1406, - ymin: 34.1635, - xmax: -118.1348, - ymax: 34.1685, - spatialReference: { - wkid: 4326 - } - }, - projection: 3857 - }; - const query = Winnow.prepareQuery(options); - const filtered = query(trees); - t.equal(filtered.features.length, 6); - t.equal(filtered.features[0].geometry.coordinates[0], -13151163.395368768); - t.equal(filtered.features[0].geometry.coordinates[1], 4051225.3197446787); -}); - -test('prepare query with geometry filter and sourceSR, then execute filter on non-4326 source data', (t) => { - t.plan(3); - const options = { - geometry: { - xmin: -118.15738230943678, - ymin: 34.179713563470166, - xmax: -118.15718114376067, - ymax: 34.18019950919287, - spatialReference: { - wkid: 4326 - } - }, - sourceSR: caStatePlaneWKT - }; - const query = Winnow.prepareQuery(options); - const filtered = query(trees102645); - t.equal(filtered.features.length, 3); - t.equal(filtered.features[0].geometry.coordinates[0], 6514083.848741564); - t.equal(filtered.features[0].geometry.coordinates[1], 1887939.4934484742); -}); diff --git a/packages/winnow/test/integration/project.spec.js b/packages/winnow/test/integration/project.spec.js deleted file mode 100644 index 95f80ef71..000000000 --- a/packages/winnow/test/integration/project.spec.js +++ /dev/null @@ -1,335 +0,0 @@ -const test = require('tape'); -const _ = require('lodash'); -const winnow = require('../..'); -const features = require('./fixtures/snow.json').features; -const geojson102645 = require('./fixtures/trees-sr-102645.json'); -const polygonFeatures = require('./fixtures/polygon.json').features; -const multiPolyFeatures = require('./fixtures/multipolygon.json').features; - -test('Project to Web Mercator using 3857', t => { - t.plan(2); - const options = { - projection: 3857, - limit: 1 - }; - const results = winnow.query(features, options); - t.deepEqual(results[0].geometry.coordinates, [-11682713.391976157, 4857924.005275469]); - t.equal(results[0].geometry.spatialReference, undefined); -}); - -test('Project to Web Mercator using 3857 and reduce the precision', t => { - t.plan(2); - const options = { - projection: 3857, - limit: 1, - geometryPrecision: 3 - }; - const results = winnow.query(features, options); - t.deepEqual(results[0].geometry.coordinates, [-11682713.392, 4857924.005]); - t.equal(results[0].geometry.spatialReference, undefined); -}); - -test('Project to Web Mercator using 3857 and translating to esri', t => { - t.plan(3); - const options = { - projection: 3857, - limit: 1, - toEsri: true - }; - const results = winnow.query(features, options); - t.equal(results.length, 1); - t.equal(results[0].geometry.x, -11682713.391976157); - t.equal(results[0].geometry.y, 4857924.005275469); -}); - -test('Project a polygon to Web Mercator using 3857 and translating to esri', t => { - t.plan(2); - const options = { - projection: 3857, - limit: 1, - toEsri: true - }; - const results = winnow.query(polygonFeatures, options); - - t.equal(results.length, 1); - t.deepEqual(results[0].geometry.rings, [ - [ - [-13247454.246160466, 6496535.908013698], - [-11408073.597505985, 6985732.8890388245], - [-9216471.12251341, 4813698.293287256], - [-10214432.963804673, 3874440.0897190133], - [-12934368.178304385, 3424378.867175897], - [-13247454.246160466, 6496535.908013698] - ] - ]); -}); - -test('Project a multi-polygon to Web Mercator using 3857 and translating to esri', t => { - t.plan(3); - const options = { - projection: 3857, - limit: 1, - toEsri: true - }; - const results = winnow.query(multiPolyFeatures, options); - - t.equal(results.length, 1); - const expected = [ - [-13247454.246160466, 6496535.908013698], - [-11408073.597505985, 6985732.8890388245], - [-9216471.12251341, 4813698.293287256], - [-10214432.963804673, 3874440.0897190133], - [-12934368.178304385, 3424378.867175897], - [-13247454.246160466, 6496535.908013698] - ]; - t.deepEqual(results[0].geometry.rings[0][0], expected[0]); - t.deepEqual(results[0].geometry.rings[1][0], expected[0]); -}); - -test('Project to Web Mercator using 3857 with an esri style outSR', t => { - t.plan(1); - const options = { - outSR: { latestWkid: 3857 }, - limit: 1 - }; - const results = winnow.query(features, options); - t.deepEqual(results[0].geometry.coordinates, [-11682713.391976157, 4857924.005275469]); -}); - -test('Project to Web Mercator using 102100 when outSR is just a number', t => { - t.plan(2); - const options = { - outSR: 102100, - limit: 1, - toEsri: true - }; - const results = winnow.query(features, options); - t.equal(results[0].geometry.x, -11682713.391976157); - t.equal(results[0].geometry.y, 4857924.005275469); -}); - -test('Project to Web Mercator using 3857 with a geo filter', t => { - t.plan(1); - const options = { - projection: 3857, - limit: 1, - geometry: { - xmin: -20026376.39, - ymin: -20048966.1, - xmax: 20026376.39, - ymax: 20048966.1, - spatialReference: { - wkid: 102100 - } - } - }; - - const results = winnow.query(features, options); - t.deepEqual(results[0].geometry.coordinates, [-11682713.391976157, 4857924.005275469]); -}); - -test('Project to Web Mercator using 102100', t => { - t.plan(1); - const options = { - projection: 102100, - limit: 1 - }; - const results = winnow.query(features, options); - t.deepEqual(results[0].geometry.coordinates, [-11682713.391976157, 4857924.005275469]); -}); - -test('Project to Web Mercator using WKT', t => { - t.plan(1); - const options = { - projection: - 'PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]', - limit: 1 - }; - const results = winnow.query(features, options); - t.deepEqual(results[0].geometry.coordinates, [-11682713.391976157, 4857924.005275469]); -}); - -test('Do not project NaN coordinate values', t => { - t.plan(2); - const options = { - projection: 3857 - }; - const modifiedFeatures = _.cloneDeep(features); - modifiedFeatures[0].geometry.coordinates[0] = null; - modifiedFeatures[0].geometry.coordinates[1] = null; - const results = winnow.query(modifiedFeatures, options); - t.equal(results.length, 13); - t.deepEqual(results[0].geometry.coordinates, [null, null]); -}); - -test('Project to NAD83 4269 an esri style outSR', t => { - t.plan(1); - const options = { - outSR: { latestWkid: 4269 }, - limit: 1 - }; - const results = winnow.query(features, options); - t.deepEqual(results[0].geometry.coordinates, [-104.9476, 39.9448]); -}); - -test('Project a polygon to NAD83 using 4269', t => { - t.plan(2); - const options = { - projection: 4269, - limit: 1 - }; - const results = winnow.query(polygonFeatures, options); - - t.equal(results.length, 1); - t.deepEqual(results[0].geometry.coordinates, [ - [ - [-119.00390625, 50.28933925329178], - [-116.19140625, 29.38217507514529], - [-91.7578125, 32.84267363195431], - [-82.79296874999999, 39.639537564366684], - [-102.48046875, 53.014783245859206], - [-119.00390625, 50.28933925329178] - ] - ]); -}); - -test('Project a polygon to NAD83 using 4269 and translating to esri', t => { - t.plan(2); - const options = { - projection: 4269, - limit: 1, - toEsri: true - }; - const results = winnow.query(polygonFeatures, options); - t.equal(results.length, 1); - t.deepEqual(results[0].geometry.rings, [ - [ - [-119.00390625, 50.28933925329178], - [-102.48046875, 53.014783245859206], - [-82.79296874999999, 39.639537564366684], - [-91.7578125, 32.84267363195431], - [-116.19140625, 29.38217507514529], - [-119.00390625, 50.28933925329178] - ] - ]); -}); - -test('Project data with CRS 102645 to 3857 using wkt', t => { - t.plan(2); - const options = { - projection: 3857, - inputCrs: `PROJCS["NAD_1983_StatePlane_California_V_FIPS_0405_Feet", -GEOGCS["GCS_North_American_1983", - DATUM["North_American_Datum_1983", - SPHEROID["GRS_1980",6378137,298.257222101]], - PRIMEM["Greenwich",0], - UNIT["Degree",0.017453292519943295]], -PROJECTION["Lambert_Conformal_Conic_2SP"], -PARAMETER["False_Easting",6561666.666666666], -PARAMETER["False_Northing",1640416.666666667], -PARAMETER["Central_Meridian",-118], -PARAMETER["Standard_Parallel_1",34.03333333333333], -PARAMETER["Standard_Parallel_2",35.46666666666667], -PARAMETER["Latitude_Of_Origin",33.5], -UNIT["Foot_US",0.30480060960121924], -AUTHORITY["EPSG","102645"]]`, - limit: 1 - }; - const { crs, features: [feature] } = winnow.query(geojson102645, options); - t.deepEqual(feature.geometry, { - type: 'Point', - coordinates: [ - -13153229.775672015, - 4053009.002177773 - ] - }); - t.deepEquals(crs, { type: 'name', properties: { name: 'urn:ogc:def:crs:EPSG::3857' } }); -}); - -test('Project data with CRS 102645 to 3857 using wkid', t => { - t.plan(2); - const options = { - projection: 3857, - inputCrs: 102645, - limit: 1 - }; - const { crs, features: [feature] } = winnow.query(geojson102645, options); - t.deepEqual(feature.geometry, { - type: 'Point', - coordinates: [ - -13153229.775672015, - 4053009.002177773 - ] - }); - t.deepEquals(crs, { type: 'name', properties: { name: 'urn:ogc:def:crs:EPSG::3857' } }); -}); - -test('Project data with CRS 102645 to 2285 using wkid', t => { - t.plan(2); - const options = { - projection: 2285, - inputCrs: 102645, - limit: 1 - }; - const { crs, features: [feature] } = winnow.query(geojson102645, options); - - t.deepEqual(feature.geometry, { - type: 'Point', - coordinates: [2472082.3119989717, -4703451.5519728195] - }); - t.deepEquals(crs, { type: 'name', properties: { name: 'urn:ogc:def:crs:EPSG::2285' } }); -}); - -test('Project data with CRS 102645 to 3857, use geometry filter with WGS84', t => { - t.plan(3); - const options = { - projection: 3857, - inputCrs: 102645, - geometry: { - xmin: -118.1574890535315, - ymin: 34.180075683064324, - xmax: -118.15745575823779, - ymax: 34.18010065453462, - spatialReference: { - wkid: 4326 - } - } - }; - const { crs, features } = winnow.query(geojson102645, options); - t.equals(features.length, 1); - t.deepEqual(features[0].geometry, { - type: 'Point', - coordinates: [ - -13153229.775672015, - 4053009.002177773 - ] - }); - t.deepEquals(crs, { type: 'name', properties: { name: 'urn:ogc:def:crs:EPSG::3857' } }); -}); - -test('Project data with CRS 102645 to 3857, use geometry filter with 102645', t => { - t.plan(3); - const options = { - projection: 3857, - inputCrs: 102645, - geometry: { - xmin: 6514034.222058748, - ymin: 1887952.412400938, - xmax: 6514044.291980494, - ymax: 1887961.5157372837, - spatialReference: { - wkid: 102645 - } - } - }; - const { crs, features } = winnow.query(geojson102645, options); - t.equals(features.length, 1); - t.deepEqual(features[0].geometry, { - type: 'Point', - coordinates: [ - -13153229.775672015, - 4053009.002177773 - ] - }); - t.deepEquals(crs, { type: 'name', properties: { name: 'urn:ogc:def:crs:EPSG::3857' } }); -}); diff --git a/packages/winnow/test/integration/return-types.spec.js b/packages/winnow/test/integration/return-types.spec.js deleted file mode 100644 index 2af6d5f72..000000000 --- a/packages/winnow/test/integration/return-types.spec.js +++ /dev/null @@ -1,65 +0,0 @@ -const _ = require('lodash'); -const test = require('tape'); -const winnow = require('../..'); -const trees = require('./fixtures/trees.json'); -test('Return a feature collection when a collection is passed in', (t) => { - t.plan(1); - const options = { where: 'Trunk_Diameter > 120' }; - const input = _.cloneDeep(trees); - const filtered = winnow.query(input, options); - t.equal(filtered.type, 'FeatureCollection'); -}); - -test('Return a feature array when an array is passed in', (t) => { - t.plan(2); - const options = { where: 'Trunk_Diameter > 10' }; - const input = _.cloneDeep(trees).features; - const filtered = winnow.query(input, options); - t.equal(filtered.type, undefined); - t.equal(filtered[0].type, 'Feature'); -}); - -test('Return a feature collection when a feature collection is passed into a compiled query', (t) => { - t.plan(1); - const options = { where: 'Trunk_Diameter > 10' }; - const query = winnow.prepareQuery(options); - const filtered = query(_.cloneDeep(trees)); - t.equal(filtered.type, 'FeatureCollection'); -}); - -test('Return a feature array when an array is passed into a compiled query', (t) => { - t.plan(2); - const options = { where: 'Trunk_Diameter > 10' }; - const query = winnow.prepareQuery(options); - const filtered = query(_.cloneDeep(trees).features); - t.equal(filtered.type, undefined); - t.equal(filtered[0].type, 'Feature'); -}); - -test('Return an array when a single feature is passed into a compiled query', (t) => { - t.plan(2); - const options = { where: 'Trunk_Diameter > 0' }; - const query = winnow.prepareQuery(options); - const filtered = query(_.cloneDeep(trees).features[0]); - t.equal(filtered.type, undefined); - t.equal(filtered[0].type, 'Feature'); -}); - -test('Return a feature array when an array is passed into a compiled statement', (t) => { - t.plan(2); - const statement = 'SELECT * FROM ? WHERE properties->Trunk_Diameter > 10'; - const query = winnow.prepareSql(statement); - const input = _.cloneDeep(trees); - const filtered = query(input.features); - t.equal(filtered.type, undefined); - t.equal(filtered[0].type, 'Feature'); -}); - -test('Return an array when a single feature is passed into a compiled statement', (t) => { - t.plan(2); - const statement = 'SELECT * FROM ? WHERE properties->Trunk_Diameter > 0'; - const query = winnow.prepareSql(statement); - const filtered = query(_.cloneDeep(trees).features[0]); - t.equal(filtered.type, undefined); - t.equal(filtered[0].type, 'Feature'); -}); diff --git a/packages/winnow/test/integration/to-esri.spec.js b/packages/winnow/test/integration/to-esri.spec.js deleted file mode 100644 index ff108f17c..000000000 --- a/packages/winnow/test/integration/to-esri.spec.js +++ /dev/null @@ -1,216 +0,0 @@ -const test = require('tape'); -const trees = require('./fixtures/trees.json'); -const treesFeatureId = require('./fixtures/trees-feature-id'); -const geojson = require('./fixtures/to-esri-fixture.json'); -const oidFeature = require('./fixtures/oid-feature.json'); -const emptyCollection = require('./fixtures/emptyCollection.json'); -const Winnow = require('../..'); -const _ = require('lodash'); - -test('detecting fields', t => { - const options = {}; - const result = Winnow.query(geojson, options); - const metadata = result.metadata; - t.equal(metadata.fields[0].type, 'Double'); - t.equal(metadata.fields[1].type, 'Integer'); - t.equal(metadata.fields[2].type, 'String'); - t.equal(metadata.fields[3].type, 'Date'); - t.end(); -}); - -test('With a where option and a limit smaller than the filter', t => { - const options = { - where: 'Genus like \'%Quercus%\'', - limit: 1, - toEsri: true - }; - const result = Winnow.query(trees, options); - const metadata = result.metadata; - t.ok(metadata.limitExceeded); - t.end(); -}); - -test('With a where option and a limit larger than the filter', t => { - const options = { - where: 'Genus like \'%Quercus%\'', - toEsri: true - }; - const result = Winnow.query(trees, options); - const metadata = result.metadata; - t.notOk(metadata.limitExceeded); - t.end(); -}); - -test('With a where option and a limit the same as the the filter', t => { - const options = { - where: 'Genus like \'%Quercus%\'', - toEsri: true, - limit: 12105 - }; - const result = Winnow.query(trees, options); - const metadata = result.metadata; - t.notOk(metadata.limitExceeded); - t.end(); -}); - -test('handling errors when feature collection is empty', t => { - const options = { - toEsri: true - }; - const fixture = _.cloneDeep(emptyCollection); - const result = Winnow.query(fixture, options); - t.equal(result.metadata.idField, undefined); - t.equal(result.features.length, 0); - t.end(); -}); - -test('checking if an object id exists', t => { - const options = { - toEsri: true - }; - const fixture = _.cloneDeep(oidFeature); - const result = Winnow.query(fixture, options); - t.equal(typeof result.features[0]?.attributes?.OBJECTID, 'number'); - t.equal(result.metadata.idField, undefined); - t.end(); -}); - -test('use idField not name OBJECTID', t => { - const options = { - toEsri: true, - fields: 'featureId' - }; - const fixture = _.cloneDeep(treesFeatureId); - fixture.metadata = { - idField: 'featureId' - }; - const result = Winnow.query(fixture, options); - t.ok(_.has(result, 'features[0].attributes.featureId')); - t.equal(result.features[0].attributes.featureId, 11303); - t.equal(result.metadata.idField, 'featureId'); - t.end(); -}); - -test('adding an object id', t => { - const options = { - toEsri: true - }; - const fixture = _.cloneDeep(geojson); - - const { properties, geometry } = fixture.features[0]; - - // A different hash can be returned depending on the library used - let hasher; - - try { - // If requiring farmhash is successful we use that hash - hasher = require('farmhash').hash32; - - } catch (e) { - // Else use the string-hash number - hasher = require('string-hash'); - - } - - const hash = hasher(JSON.stringify({ properties, geometry})); - const objectId = Math.round((hash / 4294967295) * (2147483647)); - const result = Winnow.query(fixture, options); - t.equal(result.features[0].attributes.OBJECTID, objectId); - t.end(); -}); - -test('do not overwrite the object id', t => { - const options = { - toEsri: true - }; - - const fixture = _.cloneDeep(geojson); - fixture.features[0].properties.OBJECTID = 1; - fixture.metadata = { idField: 'OBJECTID' }; - - const result = Winnow.query(fixture, options); - t.equal(result.features[0].attributes.OBJECTID, 1); - t.end(); -}); - -test('do not include Type', t => { - const options = { - toEsri: true - }; - - const fixture = _.cloneDeep(geojson); - fixture.features[0].properties.OBJECTID = 1; - fixture.metadata = { idField: 'OBJECTID' }; - - const result = Winnow.query(fixture, options); - t.notOk(result.features[0].type); - t.end(); -}); - -test('converting date fields', t => { - const options = { - toEsri: true - }; - const fixture = _.cloneDeep(geojson); - const result = Winnow.query(fixture, options); - t.equal(result.features[0].attributes.date, 1331769600000); - t.equal(Object.keys(result.metadata.fields).length, 4); - t.end(); -}); - -test('converting date with passed in fields metadata', t => { - const options = { - toEsri: true - }; - const fixture = Object.assign({}, _.cloneDeep(geojson), { - metdata: { - fields: [ - { - name: 'double', - type: 'Double' - }, - { - name: 'integer', - type: 'Integer' - }, - { - name: 'string', - type: 'String' - }, - { - name: 'date', - type: 'Date' - } - ] - } - }); - const result = Winnow.query(fixture, options); - t.equal(result.features[0].attributes.date, 1331769600000); - t.equal(Object.keys(result.metadata.fields).length, 4); - t.end(); -}); - -test('exclude objectid addition when not part of outfields', t => { - const options = { - toEsri: true, - outFields: ['string'] - }; - const fixture = _.cloneDeep(geojson); - const result = Winnow.query(fixture, options); - t.equal(Object.keys(result.features[0].attributes).length, 1); - t.ok(_.has(result, 'features[0].attributes.string')); - t.end(); -}); - -test('do not exclude objectid when returnIdsOnly = true', t => { - const options = { - toEsri: true, - outFields: ['string'], - returnIdsOnly: true - }; - const fixture = _.cloneDeep(geojson); - const result = Winnow.query(fixture, options); - t.equal(Object.keys(result.features[0].attributes).length, 1); - t.ok(_.has(result, 'features[0].attributes.OBJECTID')); - t.end(); -}); diff --git a/packages/winnow/test/integration/wfs.spec.js b/packages/winnow/test/integration/wfs.spec.js deleted file mode 100644 index 7e1f0f5fe..000000000 --- a/packages/winnow/test/integration/wfs.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -const test = require('tape'); -const winnow = require('../..'); - -test('WFS with a bbox in Web Mercator with geojson output', t => { - const options = { - outputFormat: 'application/json', - bbox: '-118.163,34.162,-118.108,34.173,EPSG:4326', - srsName: 'EPSG:4326' - }; - t.plan(1); - const features = require('./fixtures/trees.json').features; - const filtered = winnow.query(features, options); - t.equal(filtered.length, 12); -}); diff --git a/test/geoservice-defaults.spec.js b/test/geoservice-defaults.spec.js index 51bdff5b7..db632e926 100644 --- a/test/geoservice-defaults.spec.js +++ b/test/geoservice-defaults.spec.js @@ -1,4 +1,4 @@ -const Koop = require('@koopjs/koop-core'); +const Koop = require('../packages/core'); const provider = require('@koopjs/provider-file-geojson'); const request = require('supertest'); diff --git a/test/geoservice-error-handling.spec.js b/test/geoservice-error-handling.spec.js index ce1dd9944..85871870b 100644 --- a/test/geoservice-error-handling.spec.js +++ b/test/geoservice-error-handling.spec.js @@ -1,4 +1,4 @@ -const Koop = require('@koopjs/koop-core'); +const Koop = require('../packages/core'); const provider = require('@koopjs/provider-file-geojson'); const request = require('supertest'); const mockLogger = { diff --git a/test/geoservice-query.spec.js b/test/geoservice-query.spec.js index 3d038cfd7..a58ccd90f 100644 --- a/test/geoservice-query.spec.js +++ b/test/geoservice-query.spec.js @@ -1,4 +1,4 @@ -const Koop = require('@koopjs/koop-core'); +const Koop = require('../packages/core'); const provider = require('@koopjs/provider-file-geojson'); const request = require('supertest'); const mockLogger = {