├── .all-contributorsrc ├── .github ├── dependabot.yml └── workflows │ ├── build.yml │ └── release.yml ├── .gitignore ├── .gitmodules ├── .gitpod.dockerfile ├── .gitpod.yml ├── .npmrc ├── .prettierrc ├── .releaserc ├── CHANGELOG.md ├── CONTRIBUTING.md ├── README.md ├── angular.json ├── karma.conf.js ├── licenseChecker.js ├── package-lock.json ├── package.json ├── sasjs ├── deploy │ └── server.json ├── doxy │ ├── Doxyfile │ ├── DoxygenLayout.xml │ ├── doxygen.svg │ ├── favicon.ico │ ├── logo.png │ ├── new_footer.html │ ├── new_header.html │ └── new_stylesheet.css ├── macros │ └── .gitkeep ├── sasjsconfig.json └── services │ ├── common │ ├── appinit.sas │ └── getdata.sas │ ├── files │ └── upload.sas │ └── serviceinit.sas ├── src ├── app │ ├── app-routing.module.ts │ ├── app.component.html │ ├── app.component.scss │ ├── app.component.spec.ts │ ├── app.component.ts │ ├── app.module.ts │ ├── data │ │ ├── data.component.html │ │ ├── data.component.scss │ │ ├── data.component.spec.ts │ │ └── data.component.ts │ ├── helper.service.spec.ts │ ├── helper.service.ts │ ├── home-page │ │ ├── home-page.component.html │ │ ├── home-page.component.scss │ │ ├── home-page.component.spec.ts │ │ └── home-page.component.ts │ ├── sas.service.spec.ts │ ├── sas.service.ts │ ├── sasjs-ui │ │ ├── sasjs-ui.component.html │ │ ├── sasjs-ui.component.scss │ │ ├── sasjs-ui.component.spec.ts │ │ └── sasjs-ui.component.ts │ ├── state.service.spec.ts │ ├── state.service.ts │ └── uploader │ │ ├── uploader.component.html │ │ ├── uploader.component.scss │ │ ├── uploader.component.spec.ts │ │ └── uploader.component.ts ├── assets │ ├── .gitkeep │ ├── angular-logo.png │ └── logo-white.png ├── environments │ ├── environment.prod.ts │ └── environment.ts ├── favicon.ico ├── index.html ├── main.ts ├── polyfills.ts └── styles.scss ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.spec.json └── tslint.json /.all-contributorsrc: -------------------------------------------------------------------------------- 1 | { 2 | "projectName": "angular-seed-app", 3 | "projectOwner": "sasjs", 4 | "repoType": "github", 5 | "repoHost": "https://github.com", 6 | "files": [ 7 | "README.md" 8 | ], 9 | "imageSize": 100, 10 | "commit": false, 11 | "commitConvention": "none", 12 | "contributors": [ 13 | { 14 | "login": "allanbowe", 15 | "name": "Allan Bowe", 16 | "avatar_url": "https://avatars.githubusercontent.com/u/4420615?v=4", 17 | "profile": "https://github.com/allanbowe", 18 | "contributions": [ 19 | "code", 20 | "test", 21 | "review", 22 | "video", 23 | "doc" 24 | ] 25 | }, 26 | { 27 | "login": "YuryShkoda", 28 | "name": "Yury Shkoda", 29 | "avatar_url": "https://avatars.githubusercontent.com/u/25773492?v=4", 30 | "profile": "https://www.erudicat.com/", 31 | "contributions": [ 32 | "code", 33 | "test", 34 | "projectManagement", 35 | "video", 36 | "doc" 37 | ] 38 | }, 39 | { 40 | "login": "krishna-acondy", 41 | "name": "Krishna Acondy", 42 | "avatar_url": "https://avatars.githubusercontent.com/u/2980428?v=4", 43 | "profile": "https://krishna-acondy.io/", 44 | "contributions": [ 45 | "code", 46 | "test", 47 | "review", 48 | "infra", 49 | "platform", 50 | "maintenance", 51 | "content" 52 | ] 53 | }, 54 | { 55 | "login": "saadjutt01", 56 | "name": "Muhammad Saad ", 57 | "avatar_url": "https://avatars.githubusercontent.com/u/8914650?v=4", 58 | "profile": "https://github.com/saadjutt01", 59 | "contributions": [ 60 | "code", 61 | "test", 62 | "review", 63 | "mentoring", 64 | "doc" 65 | ] 66 | }, 67 | { 68 | "login": "sabhas", 69 | "name": "Sabir Hassan", 70 | "avatar_url": "https://avatars.githubusercontent.com/u/82647447?v=4", 71 | "profile": "https://github.com/sabhas", 72 | "contributions": [ 73 | "code", 74 | "test", 75 | "review", 76 | "ideas" 77 | ] 78 | }, 79 | { 80 | "login": "medjedovicm", 81 | "name": "Mihajlo Medjedovic", 82 | "avatar_url": "https://avatars.githubusercontent.com/u/18329105?v=4", 83 | "profile": "https://github.com/medjedovicm", 84 | "contributions": [ 85 | "code", 86 | "test", 87 | "review", 88 | "infra" 89 | ] 90 | }, 91 | { 92 | "login": "VladislavParhomchik", 93 | "name": "Vladislav Parhomchik", 94 | "avatar_url": "https://avatars.githubusercontent.com/u/83717836?v=4", 95 | "profile": "https://github.com/VladislavParhomchik", 96 | "contributions": [ 97 | "test", 98 | "review" 99 | ] 100 | }, 101 | { 102 | "login": "rudvfaden", 103 | "name": "Rud Faden", 104 | "avatar_url": "https://avatars.githubusercontent.com/u/2445577?v=4", 105 | "profile": "http://rudvfaden.github.io/", 106 | "contributions": [ 107 | "bug" 108 | ] 109 | } 110 | ], 111 | "contributorsPerLine": 7, 112 | "skipCi": true, 113 | "commitType": "docs" 114 | } 115 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: npm 4 | directory: '/' 5 | schedule: 6 | interval: monthly 7 | open-pull-requests-limit: 1 8 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions 3 | 4 | name: PR Build and Test 5 | 6 | on: 7 | pull_request: 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | 13 | strategy: 14 | matrix: 15 | node-version: [lts/hydrogen] 16 | 17 | steps: 18 | - uses: actions/checkout@v2 19 | - name: Use Node.js ${{ matrix.node-version }} 20 | uses: actions/setup-node@v2 21 | with: 22 | node-version: ${{ matrix.node-version }} 23 | cache: npm 24 | 25 | - name: Check npm audit 26 | run: npm audit --production --audit-level=low 27 | 28 | - name: Install Dependencies 29 | run: npm ci 30 | 31 | - name: Check code style 32 | run: npm run lint 33 | 34 | - name: Run licence checker 35 | run: npm run license-checker -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Push SASjs Deployment Assets 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | release: 10 | runs-on: ubuntu-latest 11 | 12 | strategy: 13 | matrix: 14 | node-version: [lts/*] 15 | 16 | steps: 17 | - name: Checkout 18 | uses: actions/checkout@v2 19 | 20 | - name: Use Node.js ${{ matrix.node-version }} 21 | uses: actions/setup-node@v2 22 | with: 23 | node-version: ${{ matrix.node-version }} 24 | 25 | - name: Install dependencies 26 | run: npm install 27 | env: 28 | CI: true 29 | 30 | - name: Check code style 31 | run: npm run lint 32 | 33 | - name: Build Project 34 | run: npm run build 35 | 36 | - name: create SAS 9 EBI build and Add to Release 37 | run: | 38 | npx sasjs cb -t sas9 39 | mkdir ./artefacts 40 | cp ./sasjsbuild/sas9.sas ./artefacts/sas9.sas 41 | 42 | - name: create Viya build and Add to Release 43 | run: | 44 | npx sasjs cb -t viya 45 | cp ./sasjsbuild/viya.sas ./artefacts/viya.sas 46 | 47 | - name: create SASjs build and Add to Release 48 | run: | 49 | npx sasjs cb -t server 50 | cp ./sasjsbuild/server.json.zip ./artefacts/server.json.zip 51 | 52 | - name: Install Semantic Release and plugins 53 | run: | 54 | npm i 55 | npm i -g semantic-release 56 | - name: Release 57 | run: | 58 | GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} semantic-release 59 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.angular/cache 2 | node_modules 3 | dist 4 | sasjsbuild/ 5 | .sasjsrc 6 | .env* -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "docs"] 2 | path = docs 3 | url = https://github.com/sasjs/docs 4 | -------------------------------------------------------------------------------- /.gitpod.dockerfile: -------------------------------------------------------------------------------- 1 | FROM gitpod/workspace-full 2 | 3 | RUN sudo apt-get update \ 4 | && sudo apt-get install -y doxygen \ 5 | && npm i -g @sasjs/cli -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- 1 | # List the start up tasks. You can start them in parallel in multiple terminals. See https://www.gitpod.io/docs/config-start-tasks/ 2 | tasks: 3 | - init: npm install -g npm 4 | - command: npm i && npm run build && npm i -g @sasjs/cli 5 | 6 | image: 7 | file: .gitpod.dockerfile 8 | 9 | vscode: 10 | extensions: 11 | - sasjs.sasjs-for-vscode 12 | - ritwickdey.liveserver 13 | 14 | github: 15 | prebuilds: 16 | # enable for the master/default branch (defaults to true) 17 | master: true 18 | # enable for all branches in this repo (defaults to false) 19 | branches: false 20 | # enable for pull requests coming from this repo (defaults to true) 21 | pullRequests: true 22 | # add a check to pull requests (defaults to true) 23 | addCheck: true 24 | # add a "Review in Gitpod" button as a comment to pull requests (defaults to false) 25 | addComment: false 26 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | legacy-peer-deps=true -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "none", 3 | "tabWidth": 2, 4 | "semi": false, 5 | "singleQuote": true, 6 | "endOfLine": "auto" 7 | } 8 | -------------------------------------------------------------------------------- /.releaserc: -------------------------------------------------------------------------------- 1 | { 2 | "branches": [ 3 | "main" 4 | ], 5 | "plugins": [ 6 | "@semantic-release/commit-analyzer", 7 | "@semantic-release/release-notes-generator", 8 | "@semantic-release/changelog", 9 | [ 10 | "@semantic-release/git", 11 | { 12 | "assets": [ 13 | "CHANGELOG.md" 14 | ] 15 | } 16 | ], 17 | [ 18 | "@semantic-release/github", 19 | { 20 | "assets": [ 21 | { 22 | "path": "./artefacts/server.json.zip", 23 | "label": "SASjs Server (upload to appStream)" 24 | }, 25 | { 26 | "path": "./artefacts/sas9.sas", 27 | "label": "SAS 9 EBI (change line 2 and run in Enterprise Guide)" 28 | }, 29 | { 30 | "path": "./artefacts/viya.sas", 31 | "label": "SAS Viya (run in Studio)" 32 | } 33 | ] 34 | } 35 | ], 36 | [ 37 | "@semantic-release/exec", 38 | { 39 | "publishCmd": "echo 'publish command'" 40 | } 41 | ] 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## [1.0.2](https://github.com/sasjs/angular-seed-app/compare/v1.0.1...v1.0.2) (2023-09-21) 2 | 3 | 4 | ### Bug Fixes 5 | 6 | * **scripts:** fixed build script ([87b5bec](https://github.com/sasjs/angular-seed-app/commit/87b5bec01034f2e5127009862135045d7fb64ace)) 7 | 8 | ## [1.0.1](https://github.com/sasjs/angular-seed-app/compare/v1.0.0...v1.0.1) (2023-05-24) 9 | 10 | 11 | ### Bug Fixes 12 | 13 | * button disabled while running request ([#666](https://github.com/sasjs/angular-seed-app/issues/666)) ([5984075](https://github.com/sasjs/angular-seed-app/commit/5984075ecbc88adb093cac9baf57abe6fcc1e50f)) 14 | * vulnerabilities fix ([#675](https://github.com/sasjs/angular-seed-app/issues/675)) ([84eda5d](https://github.com/sasjs/angular-seed-app/commit/84eda5d3d8f6c85075f70c129737e916da9f42c4)) 15 | 16 | # 1.0.0 (2022-08-04) 17 | 18 | 19 | ### Bug Fixes 20 | 21 | * added .npmrc and updated README ([df7fbdf](https://github.com/sasjs/angular-seed-app/commit/df7fbdf53c02a4062fa396b8e0f80161b887964c)) 22 | * adding doxyg config ([2434a18](https://github.com/sasjs/angular-seed-app/commit/2434a184df1fae4b91795d1ae88668a21732e784)) 23 | * appLoc ([5d93024](https://github.com/sasjs/angular-seed-app/commit/5d93024f2c35a0cc57ab9e1d34f3fd182ca4cdb3)) 24 | * **asset-paths:** fixed macro and service paths ([f78df56](https://github.com/sasjs/angular-seed-app/commit/f78df56cfa7cf2573ad8e6787758eb28bc21ea88)) 25 | * bump core ([b22f74e](https://github.com/sasjs/angular-seed-app/commit/b22f74ed02109c1009035b76bb80108870d9883e)) 26 | * bumping and config ([f0b4d08](https://github.com/sasjs/angular-seed-app/commit/f0b4d0829cd4ae60b33a0f55bb5f0e08ea73b93e)) 27 | * bumping sasjs and updating gitpod ([a9743db](https://github.com/sasjs/angular-seed-app/commit/a9743db1be46bc46c2983b05b4b176578ebbb68b)) 28 | * data.length error in console ([#641](https://github.com/sasjs/angular-seed-app/issues/641)) ([edf48a8](https://github.com/sasjs/angular-seed-app/commit/edf48a835526c9895baf7345d19c27c82c4c4f5d)) 29 | * gitpod ([0ac2c73](https://github.com/sasjs/angular-seed-app/commit/0ac2c7354ff599c347f9c227099068d171004caf)) 30 | * leading slash ([1517dcb](https://github.com/sasjs/angular-seed-app/commit/1517dcb24624393cc7d74099b360c74ac56f0a1b)) 31 | * react reference fix ([54c6bb1](https://github.com/sasjs/angular-seed-app/commit/54c6bb1bbae4dc1ad763d118f817260d3ec46885)) 32 | * run build on open ([3b2a58f](https://github.com/sasjs/angular-seed-app/commit/3b2a58f8f6d295b06b73f3391eda6e5aa50887bf)) 33 | * sas configuration ([a6ab38f](https://github.com/sasjs/angular-seed-app/commit/a6ab38f9f4e1627e2a1388f25eeb76c4855b96c3)) 34 | * scss, adapter request function ([40583d2](https://github.com/sasjs/angular-seed-app/commit/40583d294ac2ed879fd3162d9f210153af12e8ac)) 35 | * startupservice store full response ([#661](https://github.com/sasjs/angular-seed-app/issues/661)) ([b5d9c6a](https://github.com/sasjs/angular-seed-app/commit/b5d9c6af68a3cafc7af9983ec95f536771047fac)) 36 | * styling and angular-cli ([23ac6e7](https://github.com/sasjs/angular-seed-app/commit/23ac6e75a88648153019ea3a500433b354d88d7f)) 37 | * switching dependencies for SAS Macros ([917405a](https://github.com/sasjs/angular-seed-app/commit/917405a6ad204143f14d53a7c8f225f9d50db544)) 38 | * sync scripts ([4d16fac](https://github.com/sasjs/angular-seed-app/commit/4d16fac79471239ae88a022fb365afc87f3652aa)) 39 | * tidy up sasjsconfig and add repo url to package.json ([8fdad90](https://github.com/sasjs/angular-seed-app/commit/8fdad9012ee25a16ee96ad3f6dd5cf4c4ea00253)) 40 | * update app to work with CLI 2.0 ([ae83731](https://github.com/sasjs/angular-seed-app/commit/ae83731e756e93674d534d94dcdadffb04b10ad1)) 41 | * update target format, bump version ([c82e637](https://github.com/sasjs/angular-seed-app/commit/c82e637fcd1779b7fd08f888dd87804f8dad93e3)) 42 | * upload path added, sasjsconfig in index.html, images base64 encoded ([2111179](https://github.com/sasjs/angular-seed-app/commit/211117985bc9a9ee731c87ac3c95f0a18732ceb4)) 43 | * upload path required field ([e8e065a](https://github.com/sasjs/angular-seed-app/commit/e8e065ac181c2a52dfa5056f63e243e297996a6e)) 44 | * use --legacy-peer-deps ([ac0eaee](https://github.com/sasjs/angular-seed-app/commit/ac0eaeec12da28c219b6afa0c4e0749f31f7b89a)) 45 | * vulnerabalities addressing, menu link to documenattion ([68067cf](https://github.com/sasjs/angular-seed-app/commit/68067cf9037747e99b9e9141b8c108c65cdd669f)) 46 | 47 | 48 | * Merge pull request #195 from sasjs/target-update ([cd0dded](https://github.com/sasjs/angular-seed-app/commit/cd0ddedabca3e080395253ba2894bce0671cb04e)), closes [#195](https://github.com/sasjs/angular-seed-app/issues/195) 49 | 50 | 51 | ### Features 52 | 53 | * added sasjs ([9c08257](https://github.com/sasjs/angular-seed-app/commit/9c08257a698fa08e07f8b5ab5fc6abdef0380aa1)) 54 | * adding defaultTarget property to sasjsonfig.json ([8de7cd4](https://github.com/sasjs/angular-seed-app/commit/8de7cd413f36bb019b810cc1ff73f46750295e6e)) 55 | * adding gitpod ([90cc3fc](https://github.com/sasjs/angular-seed-app/commit/90cc3fcd022b690fa1e86d4976a497429def94dd)) 56 | * adding upload service ([b4702a9](https://github.com/sasjs/angular-seed-app/commit/b4702a9c834c37ff0792775e3cfe511e854681fd)) 57 | * angular support for sasjs/server ([349f307](https://github.com/sasjs/angular-seed-app/commit/349f307624fbf4a5c5a75589d645b367c33ba9d0)) 58 | * automated release pipeline ([0f40409](https://github.com/sasjs/angular-seed-app/commit/0f40409de63e1c80ada94b5823c3721091b0f1be)) 59 | * docs submodule and sasjs bumps ([935cce7](https://github.com/sasjs/angular-seed-app/commit/935cce7ac39e6f41dccca6e7354bc9d0340f4a89)) 60 | * login on enter ([0612aaa](https://github.com/sasjs/angular-seed-app/commit/0612aaa859ddeb9650dc6cafa074770fed8c5fdc)) 61 | * recreate app ([0c2be37](https://github.com/sasjs/angular-seed-app/commit/0c2be3753549bda0be4e75e91d477bf0c6549b03)) 62 | * requests modal download buttons ([817184c](https://github.com/sasjs/angular-seed-app/commit/817184c7665126464bfbb1b8a262e62c13b9f040)) 63 | 64 | 65 | ### BREAKING CHANGES 66 | 67 | * Update target formats, bump version 68 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | 2 | ### Code Style 3 | 4 | This project uses Prettier to format code. 5 | Please install the 'Prettier - Code formatter' extension for VS Code. 6 | 7 | Files you are editing will automatically be formatted on save. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Overview 2 | 3 | [![All Contributors](https://img.shields.io/badge/all_contributors-8-orange.svg?style=flat-square)](#contributors-) 4 | 5 | 6 | This seed app provides a quick start for building an Angular Web app on Viya, SAS EBI or Foundation SAS with the SASjs DevOps framework. 7 | 8 | ## Frontend Web 9 | 10 | Clone the repo, `cd` into it, and `npm install`. 11 | 12 | Next, update the following attributes in `index.html`: 13 | 14 | - `appLoc` - this is the folder (eg in metadata or SAS Drive) under which the SAS services are created. 15 | - `serverType` - either SAS9, SASVIYA or SASJS. 16 | - `serverUrl` - only relevant if not serving from the SAS domain (`!SASCONFIG/LevX/Web/WebServer/htdocs` in SAS9 or `/var/www/html` on SAS Viya) 17 | - `useComputeApi` - can be `true` or `false`, it's a switch for SASjs adapter whether to use `Compute` approach while doing requests. 18 | - `contextName` - only relevant if `useComputeApi` is true. Provides a context name that will be used in adapter. 19 | - `LoginMechanism` - either Default or Redirected. See SAS Logon section. 20 | - `requestHistoryLimit` - Request history limit. Increasing this limit may affect browser performance, especially with debug (logs) enabled. Default is 10. 21 | - `debug` - if true then SAS Logs and extra debug information is returned. 22 | 23 | More details in official @SASjs/adapter documentation: https://sasjs.io/sasjs-adapter/#configuration 24 | 25 | If you are running locally you will either need to whitelist `localhost` on the server, or enable CORS as described [here](https://sasjs.io/cors) 26 | 27 | ## Backend Services 28 | 29 | Normally services would be compiled and deployed using the [SASjs CLI](https://cli.sasjs.io), however for speedy setup you can simply run the following code in Studio: 30 | 31 | ``` 32 | %let appLoc=/Public/app/angular; /* Root folder in Metadata or Drive */ 33 | filename mc url "https://raw.githubusercontent.com/sasjs/core/main/all.sas"; 34 | %inc mc; /* download and compile macro core library */ 35 | filename ft15f001 temp; 36 | parmcards4; 37 | proc sql; 38 | create table areas as select distinct area from sashelp.springs; 39 | %webout(OPEN) 40 | %webout(OBJ,areas) 41 | %webout(CLOSE) 42 | ;;;; 43 | %mx_createwebservice(path=&appLoc/services/common, name=appinit) 44 | parmcards4; 45 | %webout(FETCH) 46 | proc sql; 47 | create table springs as select * from sashelp.springs 48 | where area in (select area from areas); 49 | %webout(OPEN) 50 | %webout(OBJ,springs) 51 | %webout(CLOSE) 52 | ;;;; 53 | %mx_createwebservice(path=&appLoc/services/common, name=getdata) 54 | ``` 55 | 56 | To use the CLI, first run `sasjs add` and follow the prompts to create a target. You can then run `sasjs cbd -t yourtargetname` to compile, build, and deploy your backend. 57 | 58 | If you set `streamWeb:true` in the `streamConfig` of your `sasjs/sasjsconfig.json` file you can also run as a [streaming app](https://sasapps.io/sas-streamed-apps) (without a web server). 59 | 60 | ## Contributors ✨ 61 | 62 | Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 |
Allan Bowe
Allan Bowe

💻 ⚠️ 👀 📹 📖
Yury Shkoda
Yury Shkoda

💻 ⚠️ 📆 📹 📖
Krishna Acondy
Krishna Acondy

💻 ⚠️ 👀 🚇 📦 🚧 🖋
Muhammad Saad
Muhammad Saad

💻 ⚠️ 👀 🧑‍🏫 📖
Sabir Hassan
Sabir Hassan

💻 ⚠️ 👀 🤔
Mihajlo Medjedovic
Mihajlo Medjedovic

💻 ⚠️ 👀 🚇
Vladislav Parhomchik
Vladislav Parhomchik

⚠️ 👀
Rud Faden
Rud Faden

🐛
82 | 83 | 84 | 85 | 86 | 87 | 88 | This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! 89 | -------------------------------------------------------------------------------- /angular.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "./node_modules/@angular/cli/lib/config/schema.json", 3 | "cli": { 4 | "analytics": false 5 | }, 6 | "version": 1, 7 | "newProjectRoot": "projects", 8 | "projects": { 9 | "angular-seed-app": { 10 | "projectType": "application", 11 | "schematics": { 12 | "@schematics/angular:component": { 13 | "style": "scss" 14 | } 15 | }, 16 | "root": "", 17 | "sourceRoot": "src", 18 | "prefix": "app", 19 | "architect": { 20 | "build": { 21 | "builder": "@angular-devkit/build-angular:browser", 22 | "options": { 23 | "outputPath": "dist", 24 | "index": "src/index.html", 25 | "main": "src/main.ts", 26 | "tsConfig": "tsconfig.app.json", 27 | "assets": ["src/favicon.ico", "src/assets"], 28 | "styles": [ 29 | "src/styles.scss" 30 | ], 31 | "scripts": [ 32 | "node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js", 33 | "node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js" 34 | ], 35 | "polyfills": [ 36 | "src/polyfills.ts", 37 | "zone.js" 38 | ], 39 | "vendorChunk": true, 40 | "extractLicenses": false, 41 | "buildOptimizer": false, 42 | "sourceMap": true, 43 | "optimization": false, 44 | "namedChunks": true 45 | }, 46 | "configurations": { 47 | "production": { 48 | "fileReplacements": [ 49 | { 50 | "replace": "src/environments/environment.ts", 51 | "with": "src/environments/environment.prod.ts" 52 | } 53 | ], 54 | "allowedCommonJsDependencies": [ 55 | "@sasjs/adapter", 56 | "moment" 57 | ], 58 | "optimization": { 59 | "scripts": true, 60 | "styles": { 61 | "minify": true, 62 | "inlineCritical": false 63 | }, 64 | "fonts": true 65 | }, 66 | "outputHashing": "all", 67 | "sourceMap": false, 68 | "namedChunks": false, 69 | "extractLicenses": true, 70 | "vendorChunk": false, 71 | "buildOptimizer": true, 72 | "budgets": [ 73 | { 74 | "type": "initial", 75 | "maximumWarning": "4mb", 76 | "maximumError": "5mb" 77 | }, 78 | { 79 | "type": "anyComponentStyle", 80 | "maximumWarning": "700kb", 81 | "maximumError": "1mb" 82 | } 83 | ] 84 | } 85 | }, 86 | "defaultConfiguration": "" 87 | }, 88 | "serve": { 89 | "builder": "@angular-devkit/build-angular:dev-server", 90 | "options": { 91 | "browserTarget": "angular-seed-app:build" 92 | }, 93 | "configurations": { 94 | "production": { 95 | "browserTarget": "angular-seed-app:build:production" 96 | } 97 | } 98 | }, 99 | "extract-i18n": { 100 | "builder": "@angular-devkit/build-angular:extract-i18n", 101 | "options": { 102 | "browserTarget": "angular-seed-app:build" 103 | } 104 | }, 105 | "test": { 106 | "builder": "@angular-devkit/build-angular:karma", 107 | "options": { 108 | "tsConfig": "tsconfig.spec.json", 109 | "karmaConfig": "karma.conf.js", 110 | "polyfills": [ 111 | "src/polyfills.ts", 112 | "zone.js", 113 | "zone.js/testing" 114 | ], 115 | "assets": ["src/favicon.ico", "src/assets"], 116 | "styles": ["src/styles.scss"], 117 | "scripts": [] 118 | } 119 | } 120 | } 121 | } 122 | } 123 | } 124 | -------------------------------------------------------------------------------- /karma.conf.js: -------------------------------------------------------------------------------- 1 | // Karma configuration file, see link for more information 2 | // https://karma-runner.github.io/1.0/config/configuration-file.html 3 | 4 | module.exports = function (config) { 5 | config.set({ 6 | basePath: '', 7 | frameworks: ['jasmine', '@angular-devkit/build-angular'], 8 | plugins: [ 9 | require('karma-jasmine'), 10 | require('karma-chrome-launcher'), 11 | require('karma-jasmine-html-reporter'), 12 | require('karma-coverage-istanbul-reporter'), 13 | require('@angular-devkit/build-angular/plugins/karma') 14 | ], 15 | client: { 16 | clearContext: false // leave Jasmine Spec Runner output visible in browser 17 | }, 18 | coverageIstanbulReporter: { 19 | dir: require('path').join(__dirname, './coverage/angular-seed-app'), 20 | reports: ['html', 'lcovonly', 'text-summary'], 21 | fixWebpackSourcePaths: true 22 | }, 23 | reporters: ['progress', 'kjhtml'], 24 | port: 9876, 25 | colors: true, 26 | logLevel: config.LOG_INFO, 27 | autoWatch: true, 28 | browsers: ['Chrome'], 29 | singleRun: false, 30 | restartOnFileChange: true 31 | }); 32 | }; 33 | -------------------------------------------------------------------------------- /licenseChecker.js: -------------------------------------------------------------------------------- 1 | const licenseChecker = require('license-checker') 2 | 3 | const check = (cwd) => { 4 | return new Promise((resolve, reject) => { 5 | licenseChecker.init( 6 | { 7 | production: true, 8 | start: cwd, 9 | excludePrivatePackages: true, 10 | onlyAllow: 11 | 'AFLv2.1;Apache 2.0;Apache-2.0;Apache*;Artistic-2.0;0BSD;BSD*;BSD-2-Clause;BSD-3-Clause;CC0-1.0;CC-BY-3.0;CC-BY-4.0;ISC;MIT;MPL-2.0;ODC-By-1.0;Python-2.0;Unlicense;', 12 | excludePackages: 13 | '@cds/city@1.1.0' 14 | }, 15 | (error, json) => { 16 | if (error) { 17 | reject(error) 18 | } else { 19 | resolve(json) 20 | } 21 | } 22 | ) 23 | }) 24 | } 25 | 26 | check(process.cwd(), true) 27 | .then((res) => console.log('All packages are licensed properly')) 28 | .catch((err) => console.log('license checker err', err)) 29 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@sasjs/angular-seed-app", 3 | "repository": "https://github.com/sasjs/angular-seed-app", 4 | "description": "Angular Seed App for SASjs", 5 | "version": "2.0.0", 6 | "scripts": { 7 | "ng": "ng", 8 | "start": "ng serve --port 3000", 9 | "license-checker": "node licenseChecker.js", 10 | "build": "ng build --configuration production --aot && cpr docs dist/docs", 11 | "build-dev": "ng build", 12 | "test": "ng test", 13 | "lint:fix": "npx prettier --write \"src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\"", 14 | "lint": "npx prettier --check \"src/**/*.{ts,tsx,js,jsx,html,css,sass,less,json,yml,md,graphql}\"", 15 | "e2e": "ng e2e", 16 | "build-watch": "ng build --watch", 17 | "deploy": "rsync -avhe ssh ./dist/* --delete $SSH_ACCOUNT:$DEPLOY_PATH", 18 | "sync": "./node_modules/.bin/watch --wait=3 \"echo Account: $SSH_ACCOUNT && npm run deploy && echo 'App is synced!'\" dist" 19 | }, 20 | "private": true, 21 | "keywords": [ 22 | "sas", 23 | "SASjs", 24 | "viya", 25 | "sasjs_seed_app" 26 | ], 27 | "dependencies": { 28 | "@angular/animations": "^16.0.1", 29 | "@angular/cdk": "^16.0.0", 30 | "@angular/common": "^16.0.1", 31 | "@angular/compiler": "^16.0.1", 32 | "@angular/core": "^16.0.1", 33 | "@angular/forms": "^16.0.1", 34 | "@angular/platform-browser": "^16.0.1", 35 | "@angular/platform-browser-dynamic": "^16.0.1", 36 | "@angular/router": "^16.0.1", 37 | "@sasjs/adapter": "^4.8.0", 38 | "@sasjs/cli": "^4.7.0", 39 | "@sasjs/core": "^4.46.6", 40 | "@sasjs/ngx-sasjs": "^1.0.5", 41 | "@webcomponents/webcomponentsjs": "^2.6.0", 42 | "moment": "^2.29.3", 43 | "rxjs": "~7.5.5", 44 | "tslib": "^2.0.0", 45 | "zone.js": "~0.13.0" 46 | }, 47 | "devDependencies": { 48 | "@angular-devkit/build-angular": "^16.1.0-rc.0", 49 | "@angular/cli": "^16.0.1", 50 | "@angular/compiler-cli": "^16.1.0-rc.0", 51 | "@angular/language-service": "^16.0.1", 52 | "@semantic-release/changelog": "^6.0.1", 53 | "@semantic-release/exec": "^6.0.3", 54 | "@semantic-release/git": "^10.0.1", 55 | "@semantic-release/github": "^8.0.4", 56 | "@types/jasmine": "^4.0.3", 57 | "@types/jasminewd2": "^2.0.10", 58 | "@types/node": "^20.1.2", 59 | "codelyzer": "^6.0.2", 60 | "cpr": "^3.0.1", 61 | "jasmine-core": "~4.2.0", 62 | "jasmine-spec-reporter": "~5.0.0", 63 | "karma": "^6.4.2", 64 | "karma-chrome-launcher": "~3.2.0", 65 | "karma-coverage-istanbul-reporter": "~3.0.3", 66 | "karma-jasmine": "~5.1.0", 67 | "karma-jasmine-html-reporter": "^2.0.0", 68 | "license-checker": "25.0.1", 69 | "prettier": "^2.5.1", 70 | "protractor": "~7.0.0", 71 | "ts-node": "~10.8.1", 72 | "typescript": "5.0.2", 73 | "watch": "^0.13.0" 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /sasjs/doxy/Doxyfile: -------------------------------------------------------------------------------- 1 | ALPHABETICAL_INDEX = NO 2 | 3 | ENABLE_PREPROCESSING = NO 4 | EXTENSION_MAPPING = sas=Java ddl=Java 5 | EXTRACT_LOCAL_CLASSES = NO 6 | FILE_PATTERNS = *.sas \ 7 | *.ddl \ 8 | *.dox 9 | GENERATE_LATEX = NO 10 | GENERATE_TREEVIEW = YES 11 | HIDE_FRIEND_COMPOUNDS = YES 12 | HIDE_IN_BODY_DOCS = YES 13 | HIDE_SCOPE_NAMES = YES 14 | HIDE_UNDOC_CLASSES = YES 15 | HIDE_UNDOC_MEMBERS = YES 16 | HTML_OUTPUT = $(DOXY_HTML_OUTPUT) 17 | HTML_HEADER = $(HTML_HEADER) 18 | HTML_EXTRA_FILES = $(HTML_EXTRA_FILES) 19 | HTML_FOOTER = $(HTML_FOOTER) 20 | HTML_EXTRA_STYLESHEET = $(HTML_EXTRA_STYLESHEET) 21 | INHERIT_DOCS = NO 22 | INLINE_INFO = NO 23 | INPUT = $(DOXY_INPUT) 24 | LAYOUT_FILE = $(LAYOUT_FILE) 25 | USE_MDFILE_AS_MAINPAGE = README.md 26 | MAX_INITIALIZER_LINES = 0 27 | PROJECT_NAME = $(PROJECT_NAME) 28 | PROJECT_LOGO = $(PROJECT_LOGO) 29 | PROJECT_BRIEF = $(PROJECT_BRIEF) 30 | RECURSIVE = YES 31 | REPEAT_BRIEF = NO 32 | SHOW_NAMESPACES = NO 33 | SHOW_USED_FILES = NO 34 | SOURCE_BROWSER = YES 35 | SOURCE_TOOLTIPS = NO 36 | STRICT_PROTO_MATCHING = YES 37 | STRIP_CODE_COMMENTS = NO 38 | SUBGROUPING = NO 39 | TAB_SIZE = 2 40 | VERBATIM_HEADERS = NO -------------------------------------------------------------------------------- /sasjs/doxy/DoxygenLayout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /sasjs/doxy/doxygen.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /sasjs/doxy/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sasjs/angular-seed-app/0bc10d71dc83d01a4574541b757701c285aa02f2/sasjs/doxy/favicon.ico -------------------------------------------------------------------------------- /sasjs/doxy/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sasjs/angular-seed-app/0bc10d71dc83d01a4574541b757701c285aa02f2/sasjs/doxy/logo.png -------------------------------------------------------------------------------- /sasjs/doxy/new_footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 21 | 22 | 23 | 24 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /sasjs/doxy/new_header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | $projectname: $title 11 | 12 | 13 | 14 | $title 15 | 16 | 17 | 18 | 19 | $treeview $search $mathjax 20 | 21 | 22 | $extrastylesheet 23 | 24 | 25 |
26 | 27 | 28 | 29 |
30 | 31 | 32 | 33 | 34 | 39 | 40 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
41 |
$projectname
42 |
$projectbrief
43 |
$searchbox
52 |
53 | 54 | 55 |
56 | 57 | 58 | -------------------------------------------------------------------------------- /sasjs/doxy/new_stylesheet.css: -------------------------------------------------------------------------------- 1 | #projectlogo img { 2 | border: 0px none; 3 | max-height: 70px; 4 | } 5 | -------------------------------------------------------------------------------- /sasjs/macros/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sasjs/angular-seed-app/0bc10d71dc83d01a4574541b757701c285aa02f2/sasjs/macros/.gitkeep -------------------------------------------------------------------------------- /sasjs/sasjsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://cli.sasjs.io/sasjsconfig-schema.json", 3 | "macroFolders": [ 4 | "sasjs/macros" 5 | ], 6 | "programFolders": [], 7 | "serviceConfig": { 8 | "serviceFolders": [ 9 | "sasjs/services/common", 10 | "sasjs/services/files" 11 | ], 12 | "initProgram": "sasjs/services/serviceinit.sas" 13 | }, 14 | "defaultTarget": "viya", 15 | "targets": [ 16 | { 17 | "name": "viya", 18 | "serverUrl": "", 19 | "serverType": "SASVIYA", 20 | "appLoc": "/Public/app/angular-seed-app", 21 | "contextName": "SAS Job Execution compute context" 22 | }, 23 | { 24 | "name": "sas9", 25 | "serverUrl": "", 26 | "serverType": "SAS9", 27 | "appLoc": "/Public/app/angular-seed-app", 28 | "serverName": "SASApp", 29 | "repositoryName": "Foundation" 30 | }, 31 | { 32 | "name": "server", 33 | "serverUrl": "", 34 | "serverType": "SASJS", 35 | "appLoc": "/Public/app/angular-seed-app", 36 | "streamConfig": { 37 | "streamLogo": "assets/angular-logo.png", 38 | "streamServiceName": "Angular", 39 | "streamWeb": true, 40 | "streamWebFolder": "web", 41 | "webSourcePath": "dist" 42 | } 43 | } 44 | ] 45 | } 46 | -------------------------------------------------------------------------------- /sasjs/services/common/appinit.sas: -------------------------------------------------------------------------------- 1 | /** 2 | @file appinit.sas 3 | @brief Initialisation service - runs on app startup 4 | @details This is always the first service called when the app is opened. 5 | 6 | The deployed code includes the `serviceinit.sas`, as defined in the 7 | `sasjs/sasjsconfig.json` file. 8 | 9 |

SAS Macros

10 | 11 | **/ 12 | 13 | proc sql; 14 | create table areas as select distinct area 15 | from mydb.springs; 16 | 17 | %webout(OPEN) 18 | %webout(OBJ,areas) 19 | %webout(CLOSE) 20 | -------------------------------------------------------------------------------- /sasjs/services/common/getdata.sas: -------------------------------------------------------------------------------- 1 | /** 2 | @file getdata.sas 3 | @brief Get Data service - runs on app startup 4 | @details This is always the first service called when the app is opened. 5 | 6 |

SAS Macros

7 | 8 | **/ 9 | 10 | /* this macro converts the JS input to a WORK table - work.areas */ 11 | %webout(FETCH) 12 | 13 | proc sql; 14 | create table springs as select * 15 | from mydb.springs 16 | where area in (select area from work.areas); 17 | 18 | /* these macros open the JSON, send the table back, and close the JSON */ 19 | %webout(OPEN) 20 | %webout(OBJ,springs) 21 | %webout(CLOSE) 22 | -------------------------------------------------------------------------------- /sasjs/services/files/upload.sas: -------------------------------------------------------------------------------- 1 | /** 2 | @file 3 | @brief Loads a file from frontend to a user provided location 4 | @details Returns a directory listing if successful. 5 | 6 | The macros shown below are compiled from the SASjs CORE library (or the 7 | sasjs/macros project directory) when running the `sasjs cb` command. This is 8 | why you see them in the service, but not in the file in the GIT repository. 9 | 10 |

SAS Macros

11 | @li mp_abort.sas 12 | @li mf_isdir.sas 13 | @li mp_dirlist.sas 14 | @li mp_binarycopy.sas 15 | @li mp_webin.sas 16 | 17 | **/ 18 | 19 | %mp_abort(iftrue= (%mf_isdir(&path) = 0) 20 | ,mac=&_program..sas 21 | ,msg=%str(File path (&path) is not a valid directory) 22 | ) 23 | 24 | /* 25 | Straighten up the _webin_xxx variables 26 | */ 27 | %mp_webin() 28 | 29 | /* setup the output destination */ 30 | %let outloc=&path/&_webin_filename1; 31 | filename fileout "&outloc"; 32 | 33 | /* send the data */ 34 | %mp_binarycopy(inref=&_webin_fileref1, outref=fileout) 35 | 36 | %mp_abort(iftrue= (&syscc ge 4) 37 | ,mac=&_program..sas 38 | ,msg=%str(Error occurred reading &_webin_fileref1 and writing to &outloc) 39 | ) 40 | 41 | /* success - lets create a directory listing */ 42 | %mp_dirlist(path=&path,outds=dirlist) 43 | proc sort data=dirlist; 44 | by filepath; 45 | run; 46 | 47 | /* now send it back to the frontend */ 48 | %webout(OPEN) 49 | %webout(OBJ,dirlist) 50 | %webout(CLOSE) 51 | -------------------------------------------------------------------------------- /sasjs/services/serviceinit.sas: -------------------------------------------------------------------------------- 1 | /** 2 | @file 3 | @brief Service initialisation 4 | @details Ensure source data is available, and assign the library 5 | @cond 6 | **/ 7 | 8 | libname mydb (work); 9 | 10 | data mydb.springs ; 11 | attrib 12 | Latitude length= 8 13 | Longitude length= 8 14 | Name length= $34 15 | Area length= $14 16 | Type length= $9 17 | Farenheit length= 8 18 | Celsius length= 8 19 | ; 20 | infile cards dsd; 21 | input 22 | Latitude 23 | Longitude 24 | Name :$char. 25 | Area :$char. 26 | Type :$char. 27 | Farenheit 28 | Celsius 29 | ; 30 | missing a b c d e f g h i j k l m n o p q r s t u v w x y z _; 31 | datalines4; 32 | 51.925,-177.16,Fumaroles on Kanaga Island,Adak,Hotspring,219,104 33 | 65.858,-164.71,Serpentine Hot Springs,Bendeleben,Hotspring,171,77 34 | 53.851,-166.918,Hot Springs Near Makushin Volcano,Unalaska,Hotspring,H,H 35 | 53.877,-166.448,Hot Springs Near Summer Bay,Unalaska,Hotspring,H,H 36 | 52.27,-174.042,Hot Springs on Atka Island,Atka,Hotspring,H,H 37 | 52.34,-174.26,Hot Springs on Atka Island,Atka,Hotspring,H,H 38 | 52.358,-172.317,Hot Spring on Seguam Island,Seguam,Hotspring,H,H 39 | 52.84,-169.9,Chuginadak Hot Springs,Samalga Island,Hotspring,H,H 40 | 52.96,-169.71,Hot Spring on Kagamil Island,Samalga Island,Hotspring,H,H 41 | 51.94,-178.5,Hot Spring on Little Sitkin Island,Rat Islands,Hotspring,H,H 42 | 51.963,-178.491,Fumaroles on Little Sitkin Island,Rat Islands,Hotspring,H,H 43 | 51.775,-178.793,Fumaroles on Gareloi Island,Gareloi Island,Hotspring,H,H 44 | 53.207,-168.445,Hot Springs Near Geyser Bight,Umnak,Hotspring,H,H 45 | 53.892,-166.93,Makushin Volcano Fumaroles,Unalaska,Hotspring,310,154 46 | 54.9,-162.885,Hot Spring on Amagat Island,False Pass,Hotspring,H,H 47 | 53.213,-168.463,Hot Springs Near Geyser Bight,Umnak,Hotspring,216,102 48 | 53.223,-168.477,Hot Springs Near Geyser Bight,Umnak,Hotspring,214,101 49 | 53.443,-168.092,Thermal Springs In Okmok Caldera,Umnak,Hotspring,212,100 50 | 52.042,-176.108,Hot Springs on Great Sitkin Island,Adak,Hotspring,210,99 51 | 55.983,-131.661,Bailey Hot Spring,Ketchikan,Hotspring,198,92 52 | 53.242,-168.365,Hot Springs Near Hot Springs Cove,Umnak,Hotspring,192,89 53 | 54.157,-165.85,Hot Springs Near Hot Springs Bay,Unimak,Hotspring,181,83 54 | 58.033,-136.017,Hot Springs North End Tenakee Inle,Mt. Fairweathe,Hotspring,180,82 55 | 65.093,-164.922,Pilgrim Springs,Bendeleben,Hotspring,178,81 56 | 57.831,-156.513,W Ukinek Spring,Ugashik,Hotspring,178,81 57 | 65.459,-153.312,Little Melozitna Hot Springs,Melozitna,Hotspring,176,80 58 | 51.81,-177.79,Hot Spring on Tanaga Island,Adak,Hotspring,H,H 59 | 65.233,-144.483,Hot Springs on Big Windy Creek,Circle,Hotspring,H,H 60 | 55.334,-162.137,Hot Spring at West End Emmons Lake,Cold Bay,Hotspring,68,20 61 | 66.197,-154.006,Tunalkten Lake Hot Spring,Hughes,Hotspring,.,. 62 | 67.403,-153.883,Hot Spring Near Arrigetch Peaks,Survey Pass,Hotspring,W,W 63 | 65.047,-142.848,Hot Spring on Flat Creek,Charley River,Hotspring,W,W 64 | 63.683,-151.233,Hot Springs Near Glacier,Mt. Mckinley,Hotspring,W,W 65 | 63.883,-150.717,Hot Springs East of Diamond,Mt. Mckinley,Hotspring,W,W 66 | 62.45,-157.933,Hot Spring Near Flat,Iditarod,Hotspring,W,W 67 | 60.837,-142.42,Hot Spring on Twelvemile Creek,Bering Glacier,Hotspring,W,W 68 | 56.58,-132.18,South Stikine Spring,Petersburg,Hotspring,W,W 69 | 52.87,-173.13,Hot Spring on Attu Island,Attu,Hotspring,W,W 70 | 65.908,-154.993,Deniktow Ridge Hot Springs,Melozitna,Hotspring,H,H 71 | 53.95,-168.037,Hot Springs on Bogoslof Island,Umnak,Hotspring,H,H 72 | 65.45,-150,Hot Spring Near Little Minook Cr,Tanana,Hotspring,H,H 73 | 51.967,-178.444,Fumaroles on Little Sitkin Island,Rat Islands,Hotspring,H,H 74 | 64.002,-156.3,Hot Spring on Tributary of Innoko,Nulato,Hotspring,H,H 75 | 61.058,-160.692,Hot Spring Near Tuluksak River,Russian Missio,Hotspring,H,H 76 | 61.363,-157.733,Hot Springs on Upper Chuilnuk Rive,Sleetmute,Hotspring,H,H 77 | 61.267,-151.238,Hot Lake In Bottom of Crater Peak,Tyonek,Hotspring,H,H 78 | 58.24,-155.09,Hot Spring Near Katmai Pass,Mt. Katmai,Hotspring,H,H 79 | 58.27,-154.89,Hot Springs Near Mt Katmai,Mt. Katmai,Hotspring,H,H 80 | 58.92,-153.98,Hot Spring West of Cape Douglas,Afognak,Hotspring,H,H 81 | 55.368,-161.961,Fumarole,Port Moller,Hotspring,H,H 82 | 54.18,-165.41,Hot Springs on Akun Island,Unimak,Hotspring,H,H 83 | 54.23,-165.66,Hot Springs on Akun Island,Unimak,Hotspring,H,H 84 | 54.66,-164.55,Hot Spring on Unimak Island,Unimak,Hotspring,H,H 85 | 65.97,-154.033,Pocahontas Hot Springs,Melozitna,Hotspring,H,H 86 | 65.216,-149.993,Hutlinana Hot Springs,Livengood,Hotspring,109,43 87 | 57.085,-134.839,Baranof Warm Springs,Sitka,Hotspring,124,51 88 | 67.283,-155.067,Reed River Hot Spring,Survey Pass,Hotspring,122,50 89 | 66.15,-157.117,Hot Springs Near South Bm,Shungnak,Hotspring,122,50 90 | 66.233,-157.583,Hot Springs on Hawk River,Shungnak,Hotspring,122,50 91 | 65.81,-151.237,Kilo Hot Spring,Tanana,Hotspring,122,50 92 | 56.717,-132.005,Chief Shakes Hot Springs,Petersburg,Hotspring,122,50 93 | 69.33,-144.044,Okpilak Springs,Mt. Michelson,Hotspring,119,49 94 | 65.367,-161.25,Granite Mountain Hot Springs,Candle,Hotspring,120,49 95 | 57.644,-135.333,Nylen Hot Springs,Sitka,Hotspring,120,49 96 | 65.963,-150.919,Ray River Hot Spring,Tanana,Hotspring,117,47 97 | 64.924,-154.837,Horner Hot Springs,Ruby,Hotspring,117,47 98 | 65.267,-155.28,Hot Springs Near Dulbi River,Melozitna,Hotspring,126,52 99 | 57.807,-136.341,White Sulphur Springs (Hooniah H S,Sitka,Hotspring,111,44 100 | 57.781,-135.217,Tenakee Hot Springs,Sitka,Hotspring,109,43 101 | 52.19,-174.25,Hot Springs on Atka Island,Atka,Hotspring,167,75 102 | 55.334,-133.641,Dalton (Craig) Hot Springs,Craig,Hotspring,109,43 103 | 51.944,-178.547,Fumaroles on Little Sitkin Island,Rat Islands,Hotspring,H,H 104 | 57.771,-135.82,Hot Spring North Arm Peril Strait,Sitka,Hotspring,100,38 105 | 53.848,-166.873,Hot Springs Near Makushin Volcano,Unalaska,Hotspring,94,34 106 | 69.627,-146.027,Red Hill Spring,Mt. Michelson,Hotspring,91,33 107 | 62.081,-145.007,Upper Klawasi Warm Springs,Gulkana,Hotspring,86,30 108 | 62.058,-145.222,Mineral Spring (Lower Klawasi Cone,Gulkana,Hotspring,82,28 109 | 56.68,-131.882,Barnes Lake Hot Springs,Bradfield Cana,Hotspring,79,26 110 | 56.928,-158.12,Surprise Lake Hot Spring,Chignik,Hotspring,73,23 111 | 56.667,-132.28,Twin Lakes Hot Springs,Petersburg,Hotspring,70,21 112 | 66.383,-157.517,Warm Spring Near Purcell Mountain,Shungnak,Hotspring,68,20 113 | 57.348,-135.385,Hot Spring Near Fish Bay,Sitka,Hotspring,117,47 114 | 65.983,-150.56,Hot Springs on Lower Ray River,Tanana,Hotspring,142,61 115 | 55.863,-160.493,Hot Spring Near Port Moller,Port Moller,Hotspring,160,71 116 | 53.253,-168.358,Hot Springs Near Hot Springs Cove,Umnak,Hotspring,158,70 117 | 51.97,-176.61,Hot Springs on Adak Island,Adak,Hotspring,154,68 118 | 65.053,-146.057,Chena Hot Springs,Circle,Hotspring,153,67 119 | 58.37,-137.09,Hot Springs Near Icy Point,Mt. Fairweathe,Hotspring,153,67 120 | 56.836,-135.374,Goddard Hot Springs,Port Alexander,Hotspring,153,67 121 | 66.342,-150.85,Kanuti Hot Springs,Bettles,Hotspring,151,66 122 | 64.85,-162.3,Clear Creek Hot Springs,Solomon,Hotspring,149,65 123 | 53.233,-168.3,Hot Spring on Umnak Island,Umnak,Hotspring,149,65 124 | 61.2,-159.863,Hot Springs Near Ophir Creek,Russian Missio,Hotspring,145,63 125 | 57.865,-156.499,Gas Rocks Hot Spring,Ugashik,Hotspring,127,53 126 | 51.762,-178.77,Fumaroles on Gareloi Island,Gareloi Island,Hotspring,144,62 127 | 66.367,-156.767,Hot Springs Near Division Bm,Shungnak,Hotspring,140,60 128 | 64.7,-162.467,Hot Spring Near Kwiniuk River,Solomon,Hotspring,106,41 129 | 65.274,-148.847,Tolovana Hot Springs,Livengood,Hotspring,140,60 130 | 55.933,-131.559,Bell Island Hot Springs,Ketchikan,Hotspring,165,74 131 | 57.178,-157.015,Hot Spring Near Mother Goose Lake,Ugashik,Hotspring,138,59 132 | 65.483,-144.637,Circle Hot Springs,Circle,Hotspring,135,57 133 | 56.233,-131.267,Bradfield Canal Hot Springs,Bradfield Cana,Hotspring,135,57 134 | 65.006,-150.633,Manley Hot Springs,Tanana,Hotspring,133,56 135 | 65.129,-154.692,Melozi (Melozitna) Springs,Melozitna,Hotspring,131,55 136 | 66.217,-149.547,Dall Hot Springs,Beaver,Hotspring,129,54 137 | 55.217,-162.483,Hot Springs East of Cold Bay,Cold Bay,Hotspring,129,54 138 | 65.217,-162.9,Hot Springs Near Lava Creek,Bendeleben,Hotspring,127,53 139 | 54.944,-163.251,Hot Springs Near Morzhovoi,False Pass,Hotspring,145,63 140 | 36.48,-91.053,Warm Springs,Poplar Bluff,Hotspring,82,28 141 | 34.384,-93.607,Caddo Gap Springs,Little Rock,Hotspring,95,35 142 | 34.321,-93.739,Spring on Redland Mountain,Little Rock,Hotspring,77,25 143 | 34.406,-93.908,Spring on Little Missouri River,Little Rock,Hotspring,74,23 144 | 34.542,-93.024,Big Chalybeate Spring,Little Rock,Hotspring,79,26 145 | 34.513,-93.053,Hot Springs,Little Rock,Hotspring,147,64 146 | 33.008,-109.778,Grapevine Spring,Clifton,Hotspring,91,33 147 | 32.984,-113.324,Agua Caliente Springs,Ajo,Hotspring,102,39 148 | 34.563,-113.497,Kaiser Hot Spring,Prescott,Hotspring,99,37 149 | 34.076,-111.708,Spring (Hot),Holbrook,Hotspring,99,37 150 | 33.17,-110.528,Coolidge Dam Warm Spring,Mesa,Hotspring,99,37 151 | 34.695,-113.572,Cofer Hot Spring,Prescott,Hotspring,97,36 152 | 33.209,-110.818,Pioneer Spring,Mesa,Hotspring,91,33 153 | 33.988,-112.362,Castle Hot Springs,Phoenix,Hotspring,115,46 154 | 32.345,-110.247,Warm Springs,Tucson,Hotspring,91,33 155 | 36.196,-113.081,Lava Warm Springs,Grand Canyon,Hotspring,90,32 156 | 33.068,-109.975,Warm Spring,Clifton,Hotspring,90,32 157 | 31.943,-113.013,Quitobaquito Springs,Lukeville,Hotspring,90,32 158 | 31.695,-110.963,Agua Caliente Spring,Nogales,Hotspring,90,32 159 | 33.075,-109.298,Seep,Clifton,Hotspring,95,35 160 | 34.357,-111.71,Verde Hot Springs,Holbrook,Hotspring,104,40 161 | 32.998,-109.901,Indian Hot Springs,Silver City,Hotspring,118,48 162 | 33.669,-111.165,Roosevelt Dam Springs,Mesa,Hotspring,118,48 163 | 32.336,-110.24,Hookers Hot Springs,Tucson,Hotspring,127,53 164 | 33.4,-109.152,Hannah Hot Spring,Clifton,Hotspring,133,56 165 | 33.08,-109.303,Hot Spring,Clifton,Hotspring,138,59 166 | 32.741,-114.068,Radium Hot Springs,El Centro,Hotspring,140,60 167 | 32.971,-109.35,Gillard Hot Springs,Silver City,Hotspring,180,82 168 | 35.984,-114.742,Hot Spring,Kingman,Hotspring,H,H 169 | 33.78,-110.317,Warm Spring,Mesa,Hotspring,W,W 170 | 36.418,-113.956,Pakoon Springs,Grand Canyon,Hotspring,86,30 171 | 33.493,-112.94,El Dorado Hot Springs,Phoenix South,Hotspring,112,44 172 | 34.896,-114.308,Oatman Warm Springs,Needles,Hotspring,91,33 173 | 33.055,-109.295,Clifton Hot Springs,Clifton,Hotspring,102,39 174 | 34.445,-112.693,Spring,Prescott,Hotspring,72,22 175 | 32.337,-110.708,Mercer Spring,Tucson,Hotspring,77,25 176 | 34.649,-111.744,Soda Spring,Holbrook,Hotspring,75,24 177 | 33.253,-110.703,Spring,Mesa,Hotspring,75,24 178 | 31.362,-109.265,Astin Spring,Douglas,Hotspring,75,24 179 | 35.169,-113.851,Frost Mine Spring,Williams,Hotspring,70,21 180 | 31.673,-109.902,Antelope Spring,Douglas,Hotspring,79,26 181 | 35.213,-113.425,Casa Grande Spring,Williams,Hotspring,72,22 182 | 33.51,-110.403,Cassadore Spring,Mesa,Hotspring,73,23 183 | 34.32,-111.453,Tonto Natural Bridge Spring,Holbrook,Hotspring,72,22 184 | 34.405,-111.602,Spring,Holbrook,Hotspring,72,22 185 | 34.436,-109.402,Salado Springs,Saint Johns,Hotspring,72,22 186 | 31.592,-109.51,Lewis Spring,Douglas,Hotspring,68,20 187 | 33.046,-109.44,Eagle Creek Hot Springs,Clifton,Hotspring,97,36 188 | 36.509,-111.852,Colorado Pool,Marble Canyon,Hotspring,86,30 189 | 33.062,-109.482,Warm Spring,Clifton,Hotspring,73,23 190 | 31.637,-110.703,Monkey Spring,Nogales,Hotspring,82,28 191 | 32.281,-110.73,Agua Caliente,Tucson,Hotspring,86,30 192 | 32.327,-110.228,N-O Spring,Tucson,Hotspring,73,23 193 | 32.983,-110.373,Warm Spring,Tucson,Hotspring,79,26 194 | 33.152,-110.639,Mescal Warm Spring,Mesa,Hotspring,84,29 195 | 33.163,-110.662,Spring,Mesa,Hotspring,82,28 196 | 35.077,-113.267,Trout Creek Spring,Williams,Hotspring,81,27 197 | 33.438,-110.213,Warm Springs,Mesa,Hotspring,86,30 198 | 36.895,-113.913,Springs,Grand Canyon,Hotspring,79,26 199 | 35.96,-114.725,Hot Spring,Kingman,Hotspring,86,30 200 | 34.925,-114.221,Caliche Spring,Needles,Hotspring,79,26 201 | 33.915,-112.332,Mitchell Spring,Phoenix,Hotspring,79,26 202 | 33.831,-110.574,Salt Banks,Mesa,Hotspring,78,26 203 | 34.91,-113.608,Tom Brown Warm Spring,Prescott,Hotspring,82,28 204 | 38.873,-122.689,Seigler Springs,Santa Rosa,Hotspring,126,52 205 | 36.814,-117.763,Palm Spring,Death Valley,Hotspring,120,49 206 | 34.498,-119.341,Stingleys Hot Springs,Los Angeles,Hotspring,123,51 207 | 33.67,-117.325,"Wrenden Hot Sprs, Elsinore Hot Spr",Santa Ana,Hotspring,125,52 208 | 37.253,-118.373,Keough Hot Springs,Mariposa,Hotspring,124,51 209 | 36.229,-118.302,Jordan Hot Springs,Fresno,Hotspring,124,51 210 | 34.502,-119.346,Vickers Hot Springs,Los Angeles,Hotspring,124,51 211 | 36.123,-121.64,Slates Hot Springs,Santa Cruz,Hotspring,122,50 212 | 35.881,-118.67,California Hot Springs,Bakersfield,Hotspring,122,50 213 | 38.788,-122.777,Sulphur Creek,Santa Rosa,Hotspring,120,49 214 | 37.648,-118.806,Hot Springs,Mariposa,Hotspring,129,54 215 | 36.703,-120.86,Mercey Hot Springs,Santa Cruz,Hotspring,119,48 216 | 33.589,-117.511,San Juan Hot Springs,Santa Ana,Hotspring,120,49 217 | 38.785,-122.655,Harbin Springs,Santa Rosa,Hotspring,120,49 218 | 37.677,-118.79,Dehy Hot Spring,Mariposa,Hotspring,134,57 219 | 39.183,-122.7,Bartlett Springs,Ukiah,Hotspring,144,62 220 | 36.234,-121.546,Tassajara Hot Springs,Santa Cruz,Hotspring,144,62 221 | 36.144,-120.555,Coalinga Mineral Springs,Santa Cruz,Hotspring,112,44 222 | 39.033,-122.445,Jones Fountain of Life Spring,Ukiah,Hotspring,142,61 223 | 35.575,-118.534,"Miracle Hot Sprs, Hobo Hot Sprs",Bakersfield,Hotspring,119,48 224 | 33.284,-116.631,Warner Hot Spring,Santa Ana,Hotspring,138,59 225 | 38.237,-119.326,Buckeye Hot Spring,Walker Lake,Hotspring,140,60 226 | 41.266,-120.08,Hot Springs (Menlo Baths),Alturas,Hotspring,135,57 227 | 33.753,-117.495,Glen Ivy Hot Springs,Santa Ana,Hotspring,131,55 228 | 37.802,-118.532,Benton Hot Springs,Mariposa,Hotspring,134,57 229 | 38.691,-123.024,Skaggs Springs,Santa Rosa,Hotspring,135,56 230 | 35.62,-118.473,Scovern Hot Springs,Bakersfield,Hotspring,133,56 231 | 34.538,-119.56,Agua Caliente Spring,Los Angeles,Hotspring,133,56 232 | 33.558,-117.154,Murrietta Hot Springs,Santa Ana,Hotspring,132,56 233 | 39.226,-120.01,Brockway Hot Springs,Chico,Hotspring,131,55 234 | 41.036,-121.926,Hunt Hot Spring,Alturas,Hotspring,136,58 235 | 34.582,-119.044,Willett Hot Springs,Los Angeles,Hotspring,108,42 236 | 37.234,-118.881,Blaney Meadows Hot Springs,Mariposa,Hotspring,109,43 237 | 36.477,-118.404,Kern Hot Spring,Fresno,Hotspring,109,43 238 | 36.806,-117.771,Lower Warm Springs,Death Valley,Hotspring,110,43 239 | 34.482,-119.302,Matilija Hot Springs,Los Angeles,Hotspring,109,43 240 | 34.537,-119.879,San Marcos Hot Spring,Los Angeles,Hotspring,110,43 241 | 33.896,-117.057,Eden Hot Springs,Santa Ana,Hotspring,109,43 242 | 39.573,-120.348,Campbell Hot Springs,Chico,Hotspring,111,44 243 | 38.994,-122.742,Horseshoe Spring,Santa Rosa,Hotspring,108,42 244 | 33.969,-116.942,Highland Springs,Santa Ana,Hotspring,112,44 245 | 34.34,-117.173,"Warm Spring, Hot Spring",San Bernardino,Hotspring,108,42 246 | 41.219,-120.066,Squaw Baths,Alturas,Hotspring,106,41 247 | 40.142,-120.935,Indian Valley Hot Springs,Susanville,Hotspring,106,41 248 | 39.292,-122.821,Crabtree Hot Springs,Ukiah,Hotspring,106,41 249 | 37.108,-121.478,Gilroy Hot Springs,San Jose,Hotspring,106,41 250 | 39.227,-123.362,Orrs Springs,Ukiah,Hotspring,104,40 251 | 38.773,-122.705,Anderson Springs,Santa Rosa,Hotspring,108,42 252 | 38.858,-122.671,Howard Springs,Santa Rosa,Hotspring,113,45 253 | 34.461,-119.637,Montecito Hot Springs,Los Angeles,Hotspring,118,48 254 | 33.551,-117.167,Temecula Hot Springs,Santa Ana,Hotspring,116,47 255 | 33.835,-116.988,Gilman Hot Springs,Santa Ana,Hotspring,117,47 256 | 37.618,-119.074,Reds Meadow Hot Springs,Mariposa,Hotspring,115,46 257 | 35.528,-118.665,Democrat Hot Springs,Bakersfield,Hotspring,115,46 258 | 33.731,-118.348,Whites Point Hot Springs,Long Beach,Hotspring,115,46 259 | 37.532,-119.025,Fish Creek Hot Springs,Mariposa,Hotspring,110,43 260 | 39.032,-122.432,"Blank Spring, Manzanita Mine Sprs",Ukiah,Hotspring,112,45 261 | 37.327,-119.018,Mono Hot Springs,Mariposa,Hotspring,109,43 262 | 38.225,-119.217,The Hot Springs,Walker Lake,Hotspring,113,45 263 | 35.727,-118.408,Hot Spring,Bakersfield,Hotspring,113,45 264 | 41.6,-120.088,Leonards Hot Springs,Alturas,Hotspring,144,62 265 | 38.874,-123.518,Point Arena Hot Springs,Santa Rosa,Hotspring,111,44 266 | 41.126,-121.028,Kellog Hot Springs,Alturas,Hotspring,172,78 267 | 35.558,-118.612,Delonegha Hot Springs,Bakersfield,Hotspring,112,44 268 | 35.871,-116.23,Tecopa Hot Springs,Trona,Hotspring,118,48 269 | 41.86,-120.158,Fort Bidwell Hot Spring,Alturas,Hotspring,113,45 270 | 41.534,-120.078,Hot Springs (Surprise Valley),Alturas,Hotspring,208,98 271 | 33.345,-115.588,Mud Volcanoes,Salton Sea,Hotspring,W,W 272 | 41.012,-121.274,Hot Springs,Alturas,Hotspring,H,H 273 | 39.922,-120.024,Zamboni Hot Springs,Chico,Hotspring,H,H 274 | 38.979,-122.659,Fumarole,Santa Rosa,Hotspring,H,H 275 | 37.622,-119.028,Fumaroles,Mariposa,Hotspring,H,H 276 | 40.364,-120.243,Hot Spring,Susanville,Hotspring,204,96 277 | 38.767,-122.748,Little Geysers,Santa Rosa,Hotspring,210,99 278 | 33.328,-115.583,Mud Volcanoes,Salton Sea,Hotspring,W,W 279 | 41.67,-120.206,Lake City Hot Springs,Alturas,Hotspring,207,97 280 | 36.036,-117.802,Devils Kitchen,Death Valley,Hotspring,207,97 281 | 36.045,-117.769,Coso Hot Springs,Death Valley,Hotspring,207,97 282 | 40.382,-121.513,Morgan Hot Spring,Susanville,Hotspring,205,96 283 | 40.421,-121.375,Terminal Geyser,Susanville,Hotspring,205,96 284 | 41.19,-120.383,West Valley Reservoir Hot Spring,Alturas,Hotspring,171,77 285 | 38.802,-122.81,The Geysers,Santa Rosa,Hotspring,214,101 286 | 35.888,-116.258,Springs,Trona,Hotspring,W,W 287 | 34.185,-117.262,"Arrowhead Springs, Waterman Hot Sp",San Bernardino,Hotspring,194,90 288 | 33.823,-116.542,Palm Springs (Agua Caliente Spring,Santa Ana,Hotspring,104,40 289 | 41.196,-120.475,Springs,Alturas,Hotspring,W,W 290 | 41.959,-120.936,Warm Spring,Alturas,Hotspring,W,W 291 | 37.929,-121.965,Springs,San Jose,Hotspring,W,W 292 | 36.83,-117.736,Upper Warm Spring,Death Valley,Hotspring,W,W 293 | 33.343,-115.573,Mud Volcanoes,Salton Sea,Hotspring,W,W 294 | 35.536,-118.651,Spring (Hot),Bakersfield,Hotspring,W,W 295 | 33.332,-115.575,Mud Volcanoes,Salton Sea,Hotspring,W,W 296 | 35.967,-116.931,Warm Spring,Trona,Hotspring,W,W 297 | 33.28,-115.592,Mud Volcanoes,Salton Sea,Hotspring,W,W 298 | 33.288,-115.575,Mud Volcanoes,Salton Sea,Hotspring,W,W 299 | 33.312,-115.577,Mud Volcanoes,Salton Sea,Hotspring,W,W 300 | 33.313,-115.605,Mud Volcanoes,Salton Sea,Hotspring,W,W 301 | 40.393,-121.507,Growler Hot Spring,Susanville,Hotspring,203,95 302 | 35.148,-118.783,Warm Spring,Bakersfield,Hotspring,W,W 303 | 41.973,-122.202,Klamath Hot Spring,Weed,Hotspring,156,69 304 | 41.143,-121.11,Bassett Hot Springs,Alturas,Hotspring,174,79 305 | 38.58,-122.575,Calistoga Hot Springs,Santa Rosa,Hotspring,172,78 306 | 37.656,-118.834,Hot Creek Springs,Mariposa,Hotspring,171,77 307 | 41.229,-121.405,Little Hot Spring,Alturas,Hotspring,169,76 308 | 37.664,-118.802,The Tub,Mariposa,Hotspring,167,75 309 | 40.355,-120.257,Wendel Hot Springs,Susanville,Hotspring,205,96 310 | 38.768,-122.717,Castle Rock Springs,Santa Rosa,Hotspring,163,73 311 | 38.245,-119.205,Travertine Hot Springs,Walker Lake,Hotspring,180,82 312 | 39.002,-122.664,Sulphur Bank,Ukiah,Hotspring,156,69 313 | 39.057,-122.475,Elgin Mine,Ukiah,Hotspring,156,69 314 | 39.039,-122.421,Wilbur Springs,Ukiah,Hotspring,153,67 315 | 40.444,-121.409,Drakesbad,Susanville,Hotspring,151,66 316 | 40.457,-121.545,Mill Creek Springs,Susanville,Hotspring,150,66 317 | 38.048,-119.081,Hot Spring,Walker Lake,Hotspring,151,66 318 | 37.647,-118.859,Casa Diablo Hot Pool,Mariposa,Hotspring,165,74 319 | 41.607,-121.523,Hot Spot,Alturas,Hotspring,191,88 320 | 40.44,-121.434,Devils Kitchen,Susanville,Hotspring,203,95 321 | 40.302,-120.195,Amedee Hot Springs,Susanville,Hotspring,203,95 322 | 36.031,-117.833,Fumarole,Death Valley,Hotspring,203,95 323 | 40.447,-121.536,"Sulphur Works, Tophet Hot Springs",Susanville,Hotspring,199,93 324 | 40.455,-121.501,Bumpass Hell,Susanville,Hotspring,199,93 325 | 37.648,-118.914,Casa Diablo Hot Springs And Geyser,Mariposa,Hotspring,199,93 326 | 37.692,-118.839,Little Hot Creek Spring,Mariposa,Hotspring,180,82 327 | 34.596,-118.998,Sespe Hot Springs,Los Angeles,Hotspring,194,90 328 | 38.348,-119.4,Fales Hot Springs,Walker Lake,Hotspring,180,82 329 | 40.434,-121.399,Boiling Springs Lake,Susanville,Hotspring,190,88 330 | 41.615,-120.102,Seyferth Hot Springs,Alturas,Hotspring,185,85 331 | 41.407,-122.197,"Hot Spring, Fumaroles",Weed,Hotspring,183,84 332 | 37.993,-119.028,Paoha Island Springs,Mariposa,Hotspring,181,83 333 | 41.025,-121.924,Big Bend Hot Springs,Alturas,Hotspring,180,82 334 | 38.699,-119.846,Grovers Hot Springs,Walker Lake,Hotspring,147,64 335 | 37.665,-118.828,Hot Creek Gorge Springs,Mariposa,Hotspring,199,93 336 | 39.43,-122.538,"Sulphur Spring, Salt Spring",Ukiah,Hotspring,75,24 337 | 38.925,-122.77,Hildebrande Spring,Santa Rosa,Hotspring,77,25 338 | 38.203,-119.118,Warm Spring,Walker Lake,Hotspring,77,25 339 | 36.938,-121.565,Sargent Estate Warm Spring,Santa Cruz,Hotspring,77,25 340 | 34.826,-116.677,Newberry Spring,San Bernardino,Hotspring,77,25 341 | 41.919,-122.369,Bogus Soda Springs,Weed,Hotspring,76,24 342 | 39.053,-122.597,Quigley Soda Spring,Ukiah,Hotspring,82,28 343 | 41.252,-120.521,Warm Spring,Alturas,Hotspring,75,24 344 | 38.85,-122.693,Pine Cone Spring,Santa Rosa,Hotspring,78,26 345 | 38.339,-122.259,Napa Vichy Springs,Santa Rosa,Hotspring,76,24 346 | 38.892,-122.533,Baker Soda Spring,Santa Rosa,Hotspring,76,24 347 | 38.897,-122.882,England Springs,Santa Rosa,Hotspring,76,24 348 | 38.916,-122.799,Carlsbad Spring,Santa Rosa,Hotspring,76,24 349 | 38.192,-120.827,Valley Springs,Sacramento,Hotspring,75,24 350 | 38.85,-120.025,Myers Warm Spring,Sacramento,Hotspring,75,24 351 | 37.708,-118.813,Hot Spring,Mariposa,Hotspring,68,20 352 | 36.122,-117.217,Warm Sulphur Springs,Death Valley,Hotspring,80,27 353 | 35.682,-116.422,Saratoga Spring,Trona,Hotspring,82,28 354 | 33.733,-114.907,Mccoy Spring,Salton Sea,Hotspring,82,28 355 | 41.484,-120.764,Spring,Alturas,Hotspring,81,27 356 | 39.657,-123.585,Jackson Valley Mud Springs,Ukiah,Hotspring,80,27 357 | 39.198,-122.505,Pseudo Complexion Spring,Ukiah,Hotspring,81,27 358 | 38.85,-122.667,Bad Creek Spring,Santa Rosa,Hotspring,81,27 359 | 32.97,-116.423,Vallecitos Spring,San Diego,Hotspring,79,26 360 | 36.765,-120.901,Spring,Santa Cruz,Hotspring,81,27 361 | 34.159,-118.499,El Encino Springs,Los Angeles,Hotspring,79,26 362 | 35.879,-116.153,Resting Spring,Trona,Hotspring,80,27 363 | 41.828,-120.917,Pothole Spring,Alturas,Hotspring,78,26 364 | 39.348,-122.668,Fouts Springs,Ukiah,Hotspring,79,26 365 | 38.519,-122.26,"Napa Rock Soda Spring, Phillips So",Santa Rosa,Hotspring,78,26 366 | 38.838,-122.653,Spiers Springs,Santa Rosa,Hotspring,79,26 367 | 35.141,-116.101,Soda Station Springs,Trona,Hotspring,75,24 368 | 37.503,-121.904,Alameda Warm Springs,San Jose,Hotspring,80,27 369 | 39.429,-123.308,Muir Springs,Ukiah,Hotspring,68,20 370 | 37.924,-122.046,Sulphur Spring,San Francisco,Hotspring,75,24 371 | 40.58,-120.265,Tipton Springs,Susanville,Hotspring,70,21 372 | 39.697,-123.478,Pinches Spring,Ukiah,Hotspring,70,21 373 | 38.755,-122.285,Zim Zim Spring,Santa Rosa,Hotspring,70,21 374 | 37.083,-121.042,Spring In Oneill Forebay,San Jose,Hotspring,70,21 375 | 37.632,-121.762,Crohare Spring,San Jose,Hotspring,70,21 376 | 33.625,-115.325,Corn Spring,Salton Sea,Hotspring,72,22 377 | 36.117,-118.776,Ward Spring,Fresno,Hotspring,70,21 378 | 34.423,-119.538,Boron Spring,Los Angeles,Hotspring,72,22 379 | 39.002,-122.498,Grizzly Spring,Ukiah,Hotspring,68,20 380 | 39.088,-122.525,Sulphur Spring,Ukiah,Hotspring,68,20 381 | 38.125,-122.188,Vallejo White Sulphur Springs,Santa Rosa,Hotspring,68,20 382 | 38.31,-122.053,Tolenas Springs,Santa Rosa,Hotspring,68,20 383 | 41.45,-120.834,Kelly Hot Spring,Alturas,Hotspring,198,92 384 | 36.512,-116.821,Nevares Springs,Death Valley,Hotspring,102,39 385 | 37.888,-118.487,Bertrand Ranch Springs,Mariposa,Hotspring,70,21 386 | 35.483,-119.917,Mize Spring,Bakersfield,Hotspring,73,23 387 | 36.698,-117.848,Little Hunter Canyon Springs,Death Valley,Hotspring,81,27 388 | 38.995,-122.642,Davis Soda Spring,Santa Rosa,Hotspring,73,23 389 | 37.432,-121.308,Salt Grass Springs,San Jose,Hotspring,73,23 390 | 37.573,-121.445,Lone Tree Mineral Spring,San Jose,Hotspring,73,23 391 | 37.638,-118.887,Chance Spring,Mariposa,Hotspring,73,23 392 | 36.295,-120.985,Sulphur Springs,Santa Cruz,Hotspring,73,23 393 | 41.16,-120.403,Warm Spring,Alturas,Hotspring,70,21 394 | 35.4,-120.25,Cameta Warm Spring,San Luis Obisp,Hotspring,73,23 395 | 37.719,-118.735,Springs,Mariposa,Hotspring,75,24 396 | 35.588,-116.359,Sheep Creek Spring,Trona,Hotspring,73,23 397 | 40.568,-120.325,Sellicks Springs,Susanville,Hotspring,72,22 398 | 38.833,-122.357,One Shot Mining Co,Santa Rosa,Hotspring,72,22 399 | 38.95,-122.572,Soda Spring In Cache Formation,Santa Rosa,Hotspring,72,22 400 | 37.635,-118.72,Springs,Mariposa,Hotspring,72,22 401 | 36.13,-118.816,Soda Spring,Fresno,Hotspring,72,22 402 | 36.773,-120.898,Iridat Spring,Santa Cruz,Hotspring,73,23 403 | 33.545,-115.654,Canyon Spring,Salton Sea,Hotspring,97,36 404 | 36.675,-116.923,Keane Wonder Spring,Death Valley,Hotspring,93,34 405 | 36.331,-121.367,Paraiso Springs (Sulphur Spring),Santa Cruz,Hotspring,98,37 406 | 35.122,-120.542,Newsom Springs,San Luis Obisp,Hotspring,99,37 407 | 34.503,-120.219,Las Cruces Hot Springs,Santa Maria,Hotspring,99,37 408 | 38.49,-122.498,St Helena White Sulphur Spring,Santa Rosa,Hotspring,97,36 409 | 35.946,-116.189,Chappo Spring,Trona,Hotspring,80,27 410 | 40.019,-121.036,Spring,Susanville,Hotspring,99,37 411 | 40.44,-121.42,Hot Springs Valley,Susanville,Hotspring,83,28 412 | 32.947,-116.305,Agua Caliente Springs,San Diego,Hotspring,101,38 413 | 39.196,-122.714,Newman Springs,Ukiah,Hotspring,94,35 414 | 37.63,-118.808,Whitmore Hot Springs,Mariposa,Hotspring,95,35 415 | 35.269,-120.851,Pecho Warm Springs,San Luis Obisp,Hotspring,95,35 416 | 33.514,-117.604,Spring,Santa Ana,Hotspring,95,35 417 | 38.958,-122.701,Riviera Beach Spring,Santa Rosa,Hotspring,93,34 418 | 36.33,-117.948,Dirty Socks Hot Spring,Death Valley,Hotspring,93,34 419 | 37.847,-121.635,Byron Hot Springs,San Jose,Hotspring,96,36 420 | 35.433,-118.478,Yates Hot Springs,Bakersfield,Hotspring,100,38 421 | 35.663,-120.692,Paso Robles Artesian Spring,San Luis Obisp,Hotspring,102,39 422 | 34.507,-119.291,Wheeler Springs,Los Angeles,Hotspring,102,39 423 | 33.8,-116.927,Soboda Hot Springs,Santa Ana,Hotspring,102,39 424 | 40.223,-122.747,Stinking Springs,Redding,Hotspring,101,38 425 | 38.8,-123.17,Hoods Hot Springs,Santa Rosa,Hotspring,100,38 426 | 37.029,-117.383,Grapevine Springs,Goldfield,Hotspring,100,38 427 | 36.084,-121.584,Dolans Hot Spring,Santa Cruz,Hotspring,98,37 428 | 36.21,-118.176,Soda Springs,Fresno,Hotspring,100,38 429 | 33.664,-117.913,Fairview Hot Spring,Santa Ana,Hotspring,96,36 430 | 35.143,-116.813,Paradise Spring,Trona,Hotspring,100,38 431 | 33.837,-117.145,Lakeview Hot Springs,Santa Ana,Hotspring,100,38 432 | 33.201,-115.577,Mud Pots,Salton Sea,Hotspring,100,38 433 | 33.212,-115.591,Mud Pots,Salton Sea,Hotspring,100,38 434 | 33.217,-115.58,Wister Mud Pot,Salton Sea,Hotspring,100,38 435 | 32.617,-116.189,Jacumba Hot Springs,San Diego,Hotspring,101,38 436 | 36.618,-121.845,Sulphur Hot Spring,Santa Cruz,Hotspring,100,38 437 | 36.495,-117.893,Springs,Death Valley,Hotspring,86,30 438 | 38.033,-118.902,Mono Basin Warm Springs,Walker Lake,Hotspring,88,31 439 | 35.908,-120.367,Table Mountain (Spring),San Luis Obisp,Hotspring,88,31 440 | 34.271,-116.838,Pan Hot Springs,San Bernardino,Hotspring,88,31 441 | 40.238,-122.11,Tuscan Springs,Redding,Hotspring,86,30 442 | 40.245,-120.007,High Rock Spring,Susanville,Hotspring,86,30 443 | 38.55,-122.72,Mark West Springs,Santa Rosa,Hotspring,88,31 444 | 43.513,-119.903,Springs at Tecolote Tunnel,Los Angeles,Hotspring,93,34 445 | 39.728,-120.547,Mclear Warm Springs,Chico,Hotspring,86,30 446 | 38.835,-122.731,Gordon Warm Springs,Santa Rosa,Hotspring,97,36 447 | 39.166,-123.159,Vichy Springs,Ukiah,Hotspring,85,29 448 | 38.936,-122.907,Highland Springs,Santa Rosa,Hotspring,84,29 449 | 37.398,-121.794,Mineral Springs,San Jose,Hotspring,84,29 450 | 33.436,-117.324,De Luz Warm Springs,Santa Ana,Hotspring,85,29 451 | 33.512,-115.827,Dos Palmas Spring,Salton Sea,Hotspring,84,29 452 | 39.022,-122.444,Abbott Mine,Ukiah,Hotspring,86,30 453 | 34.605,-118.561,Warm Spring,Los Angeles,Hotspring,92,33 454 | 41.659,-123.319,Sulphur Springs,Weed,Hotspring,84,29 455 | 38.394,-122.552,Los Guilicos Warm Springs,Santa Rosa,Hotspring,88,31 456 | 41.492,-120.7,Essex Springs,Alturas,Hotspring,91,33 457 | 38.654,-122.484,Aetna Springs,Santa Rosa,Hotspring,91,33 458 | 35.842,-117.38,Bainter Spring,Trona,Hotspring,92,33 459 | 34.228,-117.483,Tylers Bath Spring,San Bernardino,Hotspring,92,33 460 | 33.363,-117.017,Agua Tibia Spring,Santa Ana,Hotspring,92,33 461 | 41.167,-120.032,Bare Ranch Spring,Alturas,Hotspring,90,32 462 | 35.978,-116.273,Shoshone Spring,Trona,Hotspring,90,32 463 | 33.407,-116.035,Fish Springs,Santa Ana,Hotspring,90,32 464 | 35.582,-120.666,Santa Ysabel Springs (Sulphur Spr),San Luis Obisp,Hotspring,92,33 465 | 34.537,-119.613,Little Caliente Spring,Los Angeles,Hotspring,90,32 466 | 39.006,-122.787,Big Soda Spring,Ukiah,Hotspring,90,32 467 | 35.439,-119.846,Carneros Spring,Bakersfield,Hotspring,90,32 468 | 36.441,-116.829,Travertine Springs,Death Valley,Hotspring,90,32 469 | 37.88,-122.627,Rocky Point Springs,San Francisco,Hotspring,90,32 470 | 39.227,-107.224,Penny Hot Springs,Leadville,Hotspring,133,56 471 | 38.732,-106.178,Hortense Hot Spring,Montrose,Hotspring,181,83 472 | 37.4,-107.849,Tripp Hot Springs,Durango,Hotspring,111,44 473 | 40.073,-106.113,Hot Sulphur Springs,Craig,Hotspring,111,44 474 | 39.739,-105.512,Idaho Springs,Denver,Hotspring,115,46 475 | 39.552,-107.412,South Canyon Hot Springs,Leadville,Hotspring,118,48 476 | 39.548,-107.322,Glenwood Springs,Leadville,Hotspring,124,51 477 | 38.133,-107.736,Orvis Hot Spring,Montrose,Hotspring,126,52 478 | 39.017,-105.793,Hartsel Hot Springs,Denver,Hotspring,126,52 479 | 38.733,-106.162,Mount Princeton Hot Springs,Montrose,Hotspring,133,56 480 | 37.752,-108.131,Paradise Warm Spring,Cortez,Hotspring,115,46 481 | 37.747,-106.831,Wagon Wheel Gap Hot Springs,Durango,Hotspring,135,57 482 | 37.263,-107.011,Pagosa Springs,Durango,Hotspring,136,58 483 | 38.812,-106.226,Cottonwood Hot Springs,Montrose,Hotspring,136,58 484 | 38.168,-105.924,Mineral Hot Springs,Pueblo,Hotspring,140,60 485 | 40.559,-106.849,Routt Hot Springs,Craig,Hotspring,147,64 486 | 38.021,-107.672,Ouray Hot Springs,Montrose,Hotspring,156,69 487 | 38.498,-106.076,Poncha Hot Springs,Montrose,Hotspring,160,71 488 | 38.514,-106.508,Upper Waunita Hot Springs,Montrose,Hotspring,176,80 489 | 38.272,-107.1,Cebolla Hot Springs,Montrose,Hotspring,106,41 490 | 37.313,-107.344,Piedra River Hot Springs,Durango,Hotspring,108,42 491 | 38.517,-106.515,Lower Waunita Hot Springs,Montrose,Hotspring,167,75 492 | 38.816,-106.873,Ranger Hot Spring,Montrose,Hotspring,81,27 493 | 37.294,-105.784,Dexter Spring,Trinidad,Hotspring,68,20 494 | 38.634,-106.072,Browns Grotto Warm Spring,Montrose,Hotspring,73,23 495 | 39.164,-106.062,Rhodes Warm Spring,Leadville,Hotspring,75,24 496 | 38.836,-106.825,Cement Creek Hot Spring,Montrose,Hotspring,77,25 497 | 38.653,-106.056,Browns Canyon Warm Spring,Montrose,Hotspring,77,25 498 | 37.033,-106.805,Stinking Springs,Durango,Hotspring,81,27 499 | 37.747,-108.117,Geyser Warm Spring,Cortez,Hotspring,82,28 500 | 38.479,-105.891,Swissvale Warm Springs,Pueblo,Hotspring,82,28 501 | 37.751,-106.317,Shaw Springs,Durango,Hotspring,86,30 502 | 37.728,-107.054,Birdsie Warm Spring,Durango,Hotspring,86,30 503 | 37.741,-107.034,Antelope Spring,Durango,Hotspring,90,32 504 | 39.628,-107.106,Dotsero Warm Springs,Leadville,Hotspring,90,32 505 | 38.485,-105.91,Wellsville Warm Spring,Pueblo,Hotspring,91,33 506 | 38.014,-108.054,Lemon Hot Spring,Moab,Hotspring,91,33 507 | 37.391,-107.846,"Trimble Hot Spr, Stratten Warm Spr",Durango,Hotspring,97,36 508 | 38.192,-105.816,Valley View Hot Springs,Pueblo,Hotspring,99,37 509 | 38.433,-105.261,Canon City Hot Springs,Pueblo,Hotspring,104,40 510 | 39.012,-106.891,Conundrum Hot Springs,Leadville,Hotspring,100,38 511 | 37.511,-106.945,Rainbow Hot Springs,Durango,Hotspring,104,40 512 | 40.467,-107.952,Juniper Hot Springs,Craig,Hotspring,100,38 513 | 40.483,-106.827,Steamboat Springs,Craig,Hotspring,102,39 514 | 37.771,-108.091,Dunton Hot Spring,Cortez,Hotspring,108,42 515 | 37.453,-107.803,Pinkerton Hot Springs,Durango,Hotspring,90,32 516 | 39.932,-105.277,Eldorado Springs,Denver,Hotspring,79,26 517 | 27.074,-82.233,Little Salt Spring,Tampa,Hotspring,81,27 518 | 27.06,-82.261,Warm Mineral Springs (Big Salt Spr,Tampa,Hotspring,86,30 519 | 32.92,-84.438,Barker Spring,Phenix City,Hotspring,73,23 520 | 32.964,-84.499,Thundering Spring,Phenix City,Hotspring,75,24 521 | 33.018,-84.327,Taylor Spring,Atlanta,Hotspring,75,24 522 | 32.862,-84.65,Parkman Spring,Phenix City,Hotspring,77,25 523 | 33.037,-84.374,Lifsey Spring,Atlanta,Hotspring,79,26 524 | 32.893,-84.69,Warm Springs,Phenix City,Hotspring,88,31 525 | 32.873,-84.547,Tom Brown Spring,Phenix City,Hotspring,68,20 526 | 19.407,-155.277,Steam Vents,Hawaii,Hotspring,H,H 527 | 19.46,-154.847,Isaac Hale Park Spring,Hawaii,Hotspring,97,36 528 | 19.496,-154.876,Warm Vapor,Hawaii,Hotspring,W,W 529 | 19.373,-155.188,Steam Vents,Hawaii,Hotspring,H,H 530 | 19.39,-155.311,Steam Vents,Hawaii,Hotspring,H,H 531 | 19.434,-155.272,Steam Vents,Hawaii,Hotspring,H,H 532 | 19.486,-155.598,Steam Vents,Hawaii,Hotspring,H,H 533 | 19.466,-154.943,Steam Vents,Hawaii,Hotspring,H,H 534 | 19.421,-155.62,Steam Vents,Hawaii,Hotspring,H,H 535 | 19.201,-155.384,Waiwelawela Point Spring,Hawaii,Hotspring,90,32 536 | 19.593,-154.928,Akins Spring,Hawaii,Hotspring,84,29 537 | 44.721,-115.01,Thomas Creek Ranch Hot Spring,Challis,Hotspring,138,59 538 | 45.431,-116.015,Cow Flats Hot Spring,Grangeville,Hotspring,138,59 539 | 44.062,-115.685,Pine Flat Hot Springs,Challis,Hotspring,138,59 540 | 44.382,-115.841,Dash Creek Hot Springs,Challis,Hotspring,138,59 541 | 44.077,-115.553,Haven Lodge Hot Spring,Challis,Hotspring,147,64 542 | 43.647,-114.816,Skillern Hot Springs,Hailey,Hotspring,140,60 543 | 43.789,-115.434,Dutch Frank Hot Spring,Hailey,Hotspring,149,65 544 | 43.54,-115.288,Bridge Hot Springs,Hailey,Hotspring,138,59 545 | 43.72,-115.617,Smith Cabin Hot Spring,Hailey,Hotspring,138,59 546 | 42.688,-114.826,Banbury Hot Spring,Twin Falls,Hotspring,138,59 547 | 45.035,-115.561,Sheep Creek Hot Spring,Elk City,Hotspring,136,58 548 | 44.245,-114.885,Elkhorn Hot Spring,Challis,Hotspring,136,58 549 | 44.642,-115.693,Mollys Hot Spring,Challis,Hotspring,138,59 550 | 43.811,-115.116,Atlanta Hot Springs,Hailey,Hotspring,140,60 551 | 44.679,-116.231,White Licks Hot Spring,Baker,Hotspring,140,60 552 | 45.512,-115.046,Barth Hot Springs,Elk City,Hotspring,140,60 553 | 43.696,-115.658,Sheep Creek Bridge Hot Spring,Hailey,Hotspring,142,61 554 | 44.914,-115.722,Teapot Hot Spring,Challis,Hotspring,142,61 555 | 43.788,-115.444,Straight Creek Hot Spring,Hailey,Hotspring,144,62 556 | 43.116,-115.305,Latty Hot Spring,Hailey,Hotspring,144,62 557 | 45.039,-116.291,Zims Resort Hot Springs,Grangeville,Hotspring,144,62 558 | 43.049,-114.952,White Arrow Hot Spring,Hailey,Hotspring,145,63 559 | 44.645,-114.739,Upper Loon Creek Hot Springs,Challis,Hotspring,145,63 560 | 43.383,-114.931,Wardrop Hot Spring,Hailey,Hotspring,147,64 561 | 44.531,-116.754,Fairchild Hot Spring,Baker,Hotspring,126,52 562 | 44.661,-114.652,Foster Ranch Hot Springs,Challis,Hotspring,135,57 563 | 44.051,-115.829,Dan Hodges Hot Spring,Challis,Hotspring,140,60 564 | 43.506,-114.354,Hailey Hot Springs,Hailey,Hotspring,131,55 565 | 43.982,-114.486,West Pass Hot Spring,Hailey,Hotspring,124,51 566 | 43.641,-114.487,Warfield Hot Spring,Hailey,Hotspring,124,51 567 | 44.145,-112.554,Lidy Hot Springs,Dubois,Hotspring,124,51 568 | 44.054,-115.907,Hot Spring Campground,Challis,Hotspring,124,51 569 | 42.032,-115.363,Murphy Hot Springs,Twin Falls,Hotspring,126,52 570 | 43.561,-114.415,Clarendon Hot Springs,Hailey,Hotspring,126,52 571 | 43.423,-114.627,Elk Creek Hot Spring,Hailey,Hotspring,126,52 572 | 43.553,-115.267,Paradise Hot Springs,Hailey,Hotspring,126,52 573 | 42.308,-111.707,Maple Grove Hot Springs,Preston,Hotspring,172,78 574 | 45.013,-113.605,Sharkey Hot Spring,Dillon,Hotspring,126,52 575 | 44.73,-114.993,Sunflower Hot Springs,Challis,Hotspring,149,65 576 | 43.974,-114.499,Lower Bowery Hot Spring,Hailey,Hotspring,129,54 577 | 43.724,-115.604,Loftus Hot Spring,Hailey,Hotspring,129,54 578 | 44.676,-115.943,Gold Fork Hot Spring,Challis,Hotspring,127,53 579 | 44.044,-115.851,Donlay Ranch Hot Spring,Challis,Hotspring,131,55 580 | 44.264,-114.818,Basin Creek Hot Spring,Challis,Hotspring,133,56 581 | 44.652,-114.734,Owen Cabin Hot Spring,Challis,Hotspring,133,56 582 | 43.605,-115.664,Rattlesnake Hot Spring,Hailey,Hotspring,133,56 583 | 43.605,-114.948,Lightfoot Hot Springs,Hailey,Hotspring,133,56 584 | 45.788,-115.198,Red River Hot Springs,Elk City,Hotspring,131,55 585 | 44.632,-115.697,South Fork Plunge,Challis,Hotspring,129,54 586 | 44.853,-116.442,Starkey Hot Springs,Baker,Hotspring,131,55 587 | 42.692,-114.859,Hot Sulphur (Miracle Hot) Springs,Twin Falls,Hotspring,131,55 588 | 44.045,-115.842,Corder Hot Spring,Challis,Hotspring,131,55 589 | 44.247,-114.676,Robinson Bar Hot Springs,Challis,Hotspring,131,55 590 | 44.785,-114.855,Cox Hot Springs,Challis,Hotspring,131,55 591 | 43.637,-115.13,Willow Creek Hot Spring,Hailey,Hotspring,131,55 592 | 43.803,-115.401,Granite Creek Hot Spring,Hailey,Hotspring,131,55 593 | 43.129,-115.34,Coyote Hot Spring,Hailey,Hotspring,135,57 594 | 44.211,-116.71,Cove Creek Hot Spring,Baker,Hotspring,131,55 595 | 44.16,-115.167,Grandjean Hot Spring,Challis,Hotspring,H,H 596 | 43.755,-115.571,Ninemeyer Hot Springs,Hailey,Hotspring,169,76 597 | 43.701,-114.738,Big Smokey Hot Spring,Hailey,Hotspring,H,H 598 | 43.831,-115.192,Queens River Hot Spring,Hailey,Hotspring,H,H 599 | 43.817,-115.046,Leggit Creek Hot Spring,Hailey,Hotspring,H,H 600 | 43.718,-115.563,Basset Hot Spring,Hailey,Hotspring,H,H 601 | 43.588,-115.988,Mores Creek Hot Spring,Hailey,Hotspring,H,H 602 | 44.951,-114.704,Mormon Ranch Warm Spring,Challis,Hotspring,H,H 603 | 44.896,-114.563,Forge Creek Hot Springs,Challis,Hotspring,H,H 604 | 44.77,-115.663,Billy Hot Spring,Challis,Hotspring,H,H 605 | 44.628,-115.197,Sheepeater Hot Springs,Challis,Hotspring,H,H 606 | 44.585,-115.072,Sulphur Creek Hot Spring,Challis,Hotspring,H,H 607 | 44.554,-115.301,Sulphur Creek Hot Spring,Challis,Hotspring,H,H 608 | 42.107,-113.39,Blm Well (Frazier Hot Spring),Pocatello,Hotspring,203,95 609 | 44.4,-115.82,Goat Hot Springs,Challis,Hotspring,H,H 610 | 45.307,-114.338,Big Creek Hot Springs,Elk City,Hotspring,199,93 611 | 44.583,-116.112,Cascade Reservoir Hot Spring,Baker,Hotspring,H,H 612 | 45.17,-115.807,Secesh Hot Spring,Elk City,Hotspring,H,H 613 | 46.235,-114.707,Prospector Hot Springs,Hamilton,Hotspring,H,H 614 | 46.138,-115.09,Stuart Hot Springs,Hamilton,Hotspring,H,H 615 | 46.006,-115.021,Marten Hot Springs,Hamilton,Hotspring,H,H 616 | 42.374,-111.726,Mound Valley Warm Spring,Preston,Hotspring,W,W 617 | 43.255,-114.829,Mormon Reservoir Warm Spring,Hailey,Hotspring,W,W 618 | 44.639,-115.671,Warm Lake Springs,Challis,Hotspring,W,W 619 | 44.445,-115.239,Bear Valley Hot Spring,Challis,Hotspring,W,W 620 | 44.354,-117.071,Old Homestead Warm Spring,Baker,Hotspring,W,W 621 | 43.327,-113.918,Condie Hot Springs,Idaho Falls,Hotspring,124,51 622 | 43.038,-112.004,Alkali Flats Warm Spring,Idaho Falls,Hotspring,93,34 623 | 44.43,-115.762,Bull Creek Hot Springs,Challis,Hotspring,H,H 624 | 42.119,-111.928,Squaw Hot Springs,Preston,Hotspring,163,73 625 | 42.333,-111.716,Cleveland Hot Springs,Preston,Hotspring,151,66 626 | 43.671,-115.696,Twin Springs,Hailey,Hotspring,151,66 627 | 43.951,-116.353,Roystone Hot Springs,Boise,Hotspring,151,66 628 | 42.704,-114.856,Salmon Falls Hot Spring,Twin Falls,Hotspring,153,67 629 | 44.16,-115.177,Sacajawea Hot Springs,Challis,Hotspring,153,67 630 | 43.738,-115.583,Vaughn Hot Spring,Hailey,Hotspring,154,68 631 | 44.669,-116.305,Council Mtn Hot Springs,Baker,Hotspring,154,68 632 | 44.831,-115.215,Kwiskwis Hot Spring,Challis,Hotspring,156,69 633 | 43.684,-114.41,Guyer Hot Springs,Hailey,Hotspring,158,70 634 | 43.155,-115.518,Hot Springs,Hailey,Hotspring,158,70 635 | 44.586,-116.63,Lakey Hot Spring,Baker,Hotspring,158,70 636 | 42.333,-115.65,Indian Hot Springs,Twin Falls,Hotspring,160,71 637 | 42.637,-114.892,Poison Springs,Twin Falls,Hotspring,H,H 638 | 44.813,-115.123,Middle Fork Indian Creek Hot Sprin,Challis,Hotspring,162,72 639 | 44.072,-115.543,Kirkham Hot Springs,Challis,Hotspring,149,65 640 | 43.328,-114.399,Magic Hot Springs,Hailey,Hotspring,163,73 641 | 43.293,-114.908,Barrons Hot Spring,Hailey,Hotspring,167,75 642 | 44.154,-115.993,Warm Springs Creek Hot Springs,Challis,Hotspring,167,75 643 | 44.268,-114.748,Sunbeam Hot Springs,Challis,Hotspring,169,76 644 | 44.092,-116.052,Deer Hot Springs,Baker,Hotspring,176,80 645 | 43.563,-114.798,Worswick Hot Springs,Hailey,Hotspring,180,82 646 | 42.133,-111.928,Battle Creek Hot Springs,Preston,Hotspring,183,84 647 | 44.364,-115.856,Boiling Springs,Challis,Hotspring,185,85 648 | 44.157,-115.314,Bonneville Hot Springs,Challis,Hotspring,185,85 649 | 44.799,-115.129,Indian Creek Hot Spring,Challis,Hotspring,190,88 650 | 44.568,-115.695,Vulcan Hot Springs,Challis,Hotspring,190,88 651 | 44.306,-116.745,Crane Creek Hot Springs,Baker,Hotspring,198,92 652 | 44.416,-116.031,Cabarton Hot Spring,Baker,Hotspring,160,71 653 | 42.781,-111.983,Portneuf River Warm Spring,Preston,Hotspring,93,34 654 | 44.621,-115.985,Badley Warm Spring,Challis,Hotspring,100,38 655 | 45.201,-116.312,Boulder Creek Spring,Grangeville,Hotspring,82,28 656 | 42.24,-113.588,Sears Spring,Pocatello,Hotspring,84,29 657 | 44.257,-112.639,Warm Springs,Dubois,Hotspring,84,29 658 | 42.911,-111.556,Henry Warm Spring,Preston,Hotspring,86,30 659 | 43.021,-111.695,Wilson Lake Warm Spring,Driggs,Hotspring,86,30 660 | 44.495,-116.732,Keithly Warm Spring,Baker,Hotspring,86,30 661 | 42.655,-111.643,Steamboat Hot Spring,Preston,Hotspring,88,31 662 | 45.152,-116.296,Stinky Warm Spring,Grangeville,Hotspring,88,31 663 | 42.725,-112.872,Indian Springs,Pocatello,Hotspring,90,32 664 | 43.114,-112.167,Yandell Springs,Idaho Falls,Hotspring,90,32 665 | 44.64,-116.045,Arling Hot Spring,Baker,Hotspring,90,32 666 | 42.657,-111.604,Soda Springs,Preston,Hotspring,82,28 667 | 45.07,-115.826,Lick Creek Warm Spring,Elk City,Hotspring,91,33 668 | 42.337,-111.726,Treasureton Hot Springs,Preston,Hotspring,95,35 669 | 44.382,-114.088,Little Antelope Flat Warm Spring,Challis,Hotspring,93,34 670 | 43.21,-111.495,Brockman Creek Hot Spring,Driggs,Hotspring,95,35 671 | 44.398,-115.149,Cape Horn Warm Springs,Challis,Hotspring,95,35 672 | 42.337,-114.509,Nat-Soo-Pah Warm Spring,Twin Falls,Hotspring,97,36 673 | 44.9,-115.505,Hot Creek Warm Spring,Challis,Hotspring,97,36 674 | 42.405,-114.142,Artesian City Hot Springs,Twin Falls,Hotspring,99,37 675 | 42.762,-115.739,Indian Bathtub Hot Springs,Twin Falls,Hotspring,99,37 676 | 43.227,-111.109,Alpine Warm Spring,Driggs,Hotspring,99,37 677 | 42.545,-112.906,Rockland Warm Springs,Pocatello,Hotspring,100,38 678 | 43.805,-114.585,Russian John Hot Spring,Hailey,Hotspring,100,38 679 | 43.779,-114.539,Easley Hot Springs,Hailey,Hotspring,100,38 680 | 44.26,-114.838,Mormon Bend Hot Spring,Challis,Hotspring,100,38 681 | 44.64,-113.504,Big Eightmile Creek Warm Spring,Dubois,Hotspring,91,33 682 | 42.339,-112.436,Kent Warm Spring,Pocatello,Hotspring,75,24 683 | 42.957,-112.458,Tadpole Warm Spring,Pocatello,Hotspring,68,20 684 | 43.607,-111.189,Taylor Springs,Driggs,Hotspring,68,20 685 | 43.972,-116.325,Sweet Warm Spring,Boise,Hotspring,68,20 686 | 44.717,-115.703,Dollar Creek Warm Spring,Challis,Hotspring,68,20 687 | 42.625,-113.107,Lake Walcott Hot Spring,Pocatello,Hotspring,70,21 688 | 42.015,-114.237,Thoroughbred Warm Springs,Twin Falls,Hotspring,69,21 689 | 42.928,-111.592,Blackfoot Reservoir Warm Spring,Preston,Hotspring,72,22 690 | 42.286,-113.446,"Rice Spring, Ward Spring",Pocatello,Hotspring,72,22 691 | 42.085,-113.564,Grape Creek Warm Spring,Pocatello,Hotspring,72,22 692 | 43.66,-111.715,Elkhorn Warm Spring,Driggs,Hotspring,72,22 693 | 43.367,-113.884,Rush Warm Spring,Idaho Falls,Hotspring,72,22 694 | 44.306,-117.042,Weiser Warm Springs,Baker,Hotspring,72,22 695 | 45.344,-114.463,Owl Creek Hot Springs,Elk City,Hotspring,122,50 696 | 44.454,-112.696,Big Spring,Dubois,Hotspring,73,23 697 | 44.269,-113.449,Barney Hot Springs,Dubois,Hotspring,82,28 698 | 43.5,-115.308,Towne Creek Warm Spring,Hailey,Hotspring,75,24 699 | 43.161,-116.332,Thomas Flats Warm Spring,Boise,Hotspring,75,24 700 | 44.612,-113.363,Whittaker Warm Springs,Dubois,Hotspring,75,24 701 | 42.173,-112.239,Malad Warm Spring,Pocatello,Hotspring,77,25 702 | 42.156,-112.348,Pleasantview Warm Springs,Pocatello,Hotspring,77,25 703 | 42.025,-112.226,Prices Warm Spring,Pocatello,Hotspring,77,25 704 | 42.865,-116.368,Lower Birch Spring,Jordan Valley,Hotspring,77,25 705 | 43.423,-111.414,Fall Creek Mineral Springs,Driggs,Hotspring,77,25 706 | 42.986,-111.743,Blackfoot River Warm Spring,Preston,Hotspring,79,26 707 | 42.426,-111.378,Pescadero Warm Spring,Preston,Hotspring,79,26 708 | 44.091,-111.458,Ashton Warm Spring,Ashton,Hotspring,79,26 709 | 42.056,-112.246,Woodruff Hot Spring,Pocatello,Hotspring,81,27 710 | 43.831,-116.396,Highland Land Co Warm Spring,Boise,Hotspring,73,23 711 | 44.847,-115.696,Holdover Hot Spring,Challis,Hotspring,117,47 712 | 43.047,-114.929,Hot Sulphur Lake,Hailey,Hotspring,81,27 713 | 43.603,-115.07,Baumgartner Hot Spring,Hailey,Hotspring,111,44 714 | 44.465,-116.037,Belvidere Hot Spring,Baker,Hotspring,111,44 715 | 42.621,-112.008,Lava Hot Springs,Pocatello,Hotspring,113,45 716 | 43.823,-115.327,Weatherby Hot Spring,Hailey,Hotspring,113,45 717 | 43.335,-115.044,Wolf Hot Spring,Hailey,Hotspring,113,45 718 | 44.905,-113.929,Goldbug Hot Spring,Dubois,Hotspring,113,45 719 | 45.095,-113.836,Salmon Hot Spring,Dillon,Hotspring,113,45 720 | 45.277,-115.912,Burgdorf Hot Springs,Elk City,Hotspring,113,45 721 | 44.836,-114.79,Hospital Hot Spring,Challis,Hotspring,115,46 722 | 44.72,-114.016,Cronks Canyon Hot Spring,Challis,Hotspring,115,46 723 | 44.721,-115.207,Pistol Creek Hot Springs,Challis,Hotspring,115,46 724 | 43.791,-111.435,Pincock (Green Canyon) Hot Springs,Driggs,Hotspring,111,44 725 | 43.414,-116.707,Givens Hot Springs,Boise,Hotspring,117,47 726 | 45.503,-114.463,Horse Creek Hot Springs,Elk City,Hotspring,109,43 727 | 46.464,-115.035,Weir Creek Hot Springs,Hamilton,Hotspring,117,47 728 | 42.115,-111.264,Bear Lake Hot Springs,Preston,Hotspring,118,48 729 | 42.173,-113.861,Oakley Hot Spring,Pocatello,Hotspring,118,48 730 | 46.463,-114.872,Jerry Johnson Hot Springs,Hamilton,Hotspring,118,48 731 | 43.644,-111.687,Heise Hot Springs,Driggs,Hotspring,120,49 732 | 44.799,-114.806,Lower Loon Creek Hot Spring,Challis,Hotspring,120,49 733 | 44.253,-115.891,Rocky Canyon Hot Springs,Challis,Hotspring,120,49 734 | 46.316,-115.258,Stanley Hot Springs,Hamilton,Hotspring,120,49 735 | 43.779,-115.486,Brown Creek Hot Spring,Hailey,Hotspring,122,50 736 | 44.628,-114.601,Shower Bath Springs,Challis,Hotspring,122,50 737 | 44.171,-114.624,Slate Creek Hot Spring,Challis,Hotspring,122,50 738 | 44.392,-115.834,Ground Hog Hot Springs,Challis,Hotspring,100,38 739 | 42.797,-115.723,"Bat Hot Spring, Pence Hot Spring",Twin Falls,Hotspring,117,47 740 | 42.767,-115.725,Lower Indian Bathtub Hot Springs,Twin Falls,Hotspring,108,42 741 | 42.102,-113.632,Durfee Spring,Pocatello,Hotspring,102,39 742 | 44.33,-115.802,Silver Creek Hot Spring,Challis,Hotspring,102,39 743 | 42.447,-113.523,Marsh Creek Hot Spring,Pocatello,Hotspring,104,40 744 | 42.449,-113.511,Marsh Gully Hot Springs,Pocatello,Hotspring,106,41 745 | 42.798,-115.742,Bruneau Hot Spring,Twin Falls,Hotspring,106,41 746 | 43.576,-114.83,Preis Hot Spring,Hailey,Hotspring,106,41 747 | 43.677,-116.208,Terteling Hot Springs,Boise,Hotspring,106,41 748 | 44.254,-114.443,Sullivan Hot Springs,Challis,Hotspring,106,41 749 | 44.224,-114.929,Stanley Hot Spring,Challis,Hotspring,106,41 750 | 44.101,-114.865,Rosalys Warm Spring,Challis,Hotspring,106,41 751 | 44.06,-115.819,Danskin Creek Hot Spring,Challis,Hotspring,106,41 752 | 45.852,-114.937,Running Warm Springs,Elk City,Hotspring,106,41 753 | 43.363,-113.779,Milford Sweat Hot Spring,Idaho Falls,Hotspring,111,44 754 | 46.466,-114.939,Colgate Warm Springs,Hamilton,Hotspring,106,41 755 | 44.626,-115.749,Trail Creek Hot Spring,Challis,Hotspring,122,50 756 | 43.816,-115.863,Warm Springs,Hailey,Hotspring,108,42 757 | 43.76,-115.56,Pool Creek Hot Spring,Hailey,Hotspring,108,42 758 | 45.042,-114.616,Snowshoe Johnsons Hot Spring,Elk City,Hotspring,108,42 759 | 42.388,-112.085,Downata Hot Springs,Pocatello,Hotspring,109,43 760 | 42.013,-114.504,Magic Hot Springs,Twin Falls,Hotspring,109,43 761 | 42.779,-115.715,Buckaroo Hot Spring,Twin Falls,Hotspring,109,43 762 | 43.99,-114.8,Pierson Hot Springs,Hailey,Hotspring,109,43 763 | 43.038,-114.988,Tschanne Hot Spring,Hailey,Hotspring,109,43 764 | 44.523,-114.173,Beardsley Hot Springs,Challis,Hotspring,109,43 765 | 44.733,-115.018,Sunflower Flat Hot Spring,Challis,Hotspring,109,43 766 | 44.516,-115.295,Dagger Creek Hot Spring,Challis,Hotspring,110,43 767 | 44.971,-116.203,Krigbaum Hot Springs,Baker,Hotspring,109,43 768 | 45.416,-116.172,Riggins Hot Springs,Grangeville,Hotspring,106,41 769 | 42.735,-73.2,Sand Spring,Albany,Hotspring,75,24 770 | 46.106,-114.004,Sleeping Child Hot Springs,Hamilton,Hotspring,122,50 771 | 45.697,-114.365,Blue Joint Hot Springs 2,Elk City,Hotspring,84,29 772 | 44.769,-111.649,Sloan Cow Camp Spring,Ashton,Hotspring,86,30 773 | 47.632,-112.855,Medicine (Sun River) Springs,Choteau,Hotspring,86,30 774 | 45.75,-113.938,Gallogly Spring,Dillon,Hotspring,100,38 775 | 47.33,-114.789,Quinns Hot Springs,Wallace,Hotspring,109,43 776 | 45.171,-112.153,Puller Hot Springs,Dillon,Hotspring,111,44 777 | 46.728,-114.533,"Lolo Hot Springs, Granite Springs",Hamilton,Hotspring,111,44 778 | 45.337,-110.691,Chico Hot Springs,Bozeman,Hotspring,113,45 779 | 47.607,-114.663,Camas Hot Springs,Wallace,Hotspring,113,45 780 | 45.841,-114.038,Medicine Hot Springs,Elk City,Hotspring,117,47 781 | 45.458,-113.109,Elkhorn Hot Springs,Dillon,Hotspring,118,48 782 | 45.027,-112.844,Mcmenomey Ranch Spring,Dillon,Hotspring,68,20 783 | 45.792,-112.126,Renova Hot Springs,Dillon,Hotspring,122,50 784 | 44.701,-111.878,Staudenmeyer Springs,Ashton,Hotspring,82,28 785 | 45.602,-111.9,Potosi Warm Springs,Bozeman,Hotspring,124,51 786 | 45.575,-111.683,Norris Hot Springs,Bozeman,Hotspring,127,53 787 | 45.462,-112.475,New Biltmore Hot Springs,Dillon,Hotspring,127,53 788 | 45.66,-111.186,Bozeman Hot Springs,Bozeman,Hotspring,131,55 789 | 45.896,-112.233,Pipestone Hot Springs,Dillon,Hotspring,135,57 790 | 46.547,-110.903,White Sulphur Springs,White Sulphur,Hotspring,136,58 791 | 46.448,-111.982,Alhambra Hot Springs,White Sulphur,Hotspring,138,59 792 | 45.757,-110.256,Hunters Hot Springs,Bozeman,Hotspring,140,60 793 | 45.368,-113.403,Jardine Hot Spring,Dillon,Hotspring,140,60 794 | 46.596,-112.108,Broadwater (Helena) Hot Springs,Butte,Hotspring,151,66 795 | 44.984,-111.613,Wolf Creek Hot Springs,Ashton,Hotspring,154,68 796 | 45.685,-112.295,Silver Star Hot Springs,Dillon,Hotspring,163,73 797 | 45.59,-111.899,Potosi Hot Springs,Bozeman,Hotspring,122,50 798 | 45.105,-112.751,Browns Springs,Dillon,Hotspring,75,24 799 | 46.718,-113.306,Bearmouth Warm Spring 2,Butte,Hotspring,68,20 800 | 46.717,-113.32,Bearmouth Warm Spring 1,Butte,Hotspring,68,20 801 | 47.217,-109.471,Brooks Warm Spring,Lewistown,Hotspring,68,20 802 | 45.708,-110.976,Bridger Canyon Warm Spring,Bozeman,Hotspring,70,21 803 | 46.795,-108.883,Durfee Creek Springs,Roundup,Hotspring,70,21 804 | 46.704,-113.452,Nimrod Springs,Butte,Hotspring,70,21 805 | 47.876,-108.656,Landusky Springs,Lewistown,Hotspring,70,21 806 | 45.032,-110.667,Bear Creek Springs,Bozeman,Hotspring,72,22 807 | 45.111,-112.714,Lovells Hot Spring,Dillon,Hotspring,72,22 808 | 46.106,-112.903,Anaconda Hot Springs,Butte,Hotspring,72,22 809 | 45.235,-112.135,Trudau Warm Springs,Dillon,Hotspring,73,23 810 | 45.698,-114.382,Blue Joint Hot Spring 1,Elk City,Hotspring,84,29 811 | 45.037,-111.953,Vigilante Spring,Bozeman,Hotspring,75,24 812 | 45.608,-110.571,Carter Bridge Warm Springs,Bozeman,Hotspring,82,28 813 | 46.355,-111.565,Bedford Hot Springs,White Sulphur,Hotspring,74,24 814 | 45.553,-110.142,Anderson Springs,Bozeman,Hotspring,77,25 815 | 45.42,-112.692,Apex Warm Spring,Dillon,Hotspring,77,25 816 | 46.607,-112.776,Garrison Warm Springs,Butte,Hotspring,77,25 817 | 47.843,-108.598,The (Landusky) Plunge,Lewistown,Hotspring,77,25 818 | 44.785,-111.649,West Fork Swimming Hole,Ashton,Hotspring,79,26 819 | 46.61,-112.555,Avon Warm Spring,Butte,Hotspring,79,26 820 | 46.334,-112.886,Deerlodge Prison Ranch Springs,Butte,Hotspring,79,26 821 | 47.994,-108.445,Lodgepole (Big Warm) Springs,Lewistown,Hotspring,79,26 822 | 47.451,-114.648,Green Springs,Wallace,Hotspring,79,26 823 | 45.392,-112.452,Beaverhead Rock Spring,Dillon,Hotspring,81,27 824 | 44.704,-111.892,Andersons Pasture Springs,Ashton,Hotspring,82,28 825 | 47.971,-108.395,Little Warm Springs,Lewistown,Hotspring,73,23 826 | 46.198,-112.094,Boulder Hot Springs,Butte,Hotspring,169,76 827 | 46.178,-112.794,Warm Springs (State Hospital),Butte,Hotspring,172,78 828 | 45.367,-111.726,Ennis Hot Springs,Bozeman,Hotspring,181,83 829 | 46.044,-112.811,Gregson Hot Springs,Butte,Hotspring,158,70 830 | 45.09,-110.774,Laduke (Corwin) Hot Spring,Bozeman,Hotspring,154,68 831 | 35.897,-82.826,Hot Springs,Knoxville,Hotspring,108,42 832 | 32.644,-108.128,Apache Tejo Warm Spring,Silver City,Hotspring,97,36 833 | 33.135,-107.254,Truth Or Consequences,Tularosa,Hotspring,113,45 834 | 36.305,-106.053,Ojo Caliente (Arsenic Spring),Aztec,Hotspring,111,44 835 | 33.162,-108.209,Spring (Hot),Clifton,Hotspring,111,44 836 | 36.508,-105.722,Manby Hot Springs,Raton,Hotspring,100,38 837 | 35.849,-106.629,Spence Hot Springs,Albuquerque,Hotspring,100,38 838 | 35.972,-106.56,San Antonio Warm Spring,Albuquerque,Hotspring,101,38 839 | 35.82,-106.627,Mccauley Hot Springs,Albuquerque,Hotspring,99,37 840 | 35.793,-106.685,Soda Dam Hot Springs,Albuquerque,Hotspring,117,47 841 | 33.831,-108.8,(Upper) Frisco Hot Spring,Clifton,Hotspring,98,37 842 | 35.646,-106.888,Warm Springs,Albuquerque,Hotspring,129,54 843 | 36.324,-105.606,Ponce De Leon Springs,Raton,Hotspring,93,34 844 | 34.038,-106.94,"Socorro Spring, Sedillo Spring",Socorro,Hotspring,93,34 845 | 33.293,-108.282,"Spring Mfg Two, Spring Mfg Three",Clifton,Hotspring,99,37 846 | 35.592,-106.753,Indian Springs,Albuquerque,Hotspring,123,51 847 | 32.501,-106.926,Radium Springs,Las Cruces,Hotspring,127,53 848 | 33.274,-108.25,Spring Mfg Four,Clifton,Hotspring,93,34 849 | 35.938,-106.646,San Antonio Hot Spring,Albuquerque,Hotspring,129,54 850 | 33.244,-108.88,San Francisco Hot Springs,Clifton,Hotspring,120,49 851 | 32.748,-107.836,Mimbres Hot Springs,Las Cruces,Hotspring,136,58 852 | 35.653,-105.29,Montezuma Hot Springs,Santa Fe,Hotspring,138,59 853 | 33.233,-108.235,Spring (Hot),Clifton,Hotspring,149,65 854 | 33.199,-108.209,Gila Hot Springs,Clifton,Hotspring,151,66 855 | 33.108,-108.483,Turkey Creek Hot Spring,Clifton,Hotspring,165,74 856 | 35.772,-106.69,Jemez Springs,Albuquerque,Hotspring,169,76 857 | 35.908,-106.615,Sulphur Springs,Albuquerque,Hotspring,189,87 858 | 33.237,-108.88,Hot Springs,Clifton,Hotspring,H,H 859 | 32.562,-108.027,Kennecott Warm Springs,Silver City,Hotspring,W,W 860 | 32.554,-107.994,Faywood Hot Springs,Las Cruces,Hotspring,129,54 861 | 33.898,-108.501,Aragon Springs,Clifton,Hotspring,70,21 862 | 34.847,-107.091,Spring (Salt),Socorro,Hotspring,76,24 863 | 34.903,-107.085,El Ojo Escondido,Socorro,Hotspring,73,23 864 | 35.06,-107.133,Alamos Spring,Albuquerque,Hotspring,72,22 865 | 34.912,-108.951,Rainbow Spring,Saint Johns,Hotspring,71,22 866 | 34.698,-107.129,Spring,Socorro,Hotspring,71,22 867 | 32.455,-104.489,Indian Big Spring,Carlsbad,Hotspring,79,26 868 | 34.995,-106.454,Clear Water Spring,Socorro,Hotspring,69,21 869 | 32.821,-108.408,Ash Spring,Silver City,Hotspring,72,22 870 | 32.83,-109.047,Goat Camp Spring,Silver City,Hotspring,69,21 871 | 35.548,-106.827,San Ysidro Warm Springs,Albuquerque,Hotspring,68,20 872 | 34.116,-106.98,Ojitos Springs,Socorro,Hotspring,68,20 873 | 32.248,-104.411,Mosley Spring,Carlsbad,Hotspring,68,20 874 | 33.708,-109.025,Frieborn Canyon Spring,Clifton,Hotspring,92,33 875 | 33.192,-108.18,Lyons Hunting Lodge Hot Springs,Clifton,Hotspring,126,52 876 | 35.601,-106.86,Phillips Springs,Albuquerque,Hotspring,70,21 877 | 33.285,-108.262,Spring Mfg One,Clifton,Hotspring,88,31 878 | 33.306,-108.324,The Meadows Warm Spring,Clifton,Hotspring,91,33 879 | 34.049,-106.939,Cook Spring,Socorro,Hotspring,70,21 880 | 32.795,-107.276,Derry Warm Springs,Las Cruces,Hotspring,92,33 881 | 32.884,-108.358,Allen Springs,Silver City,Hotspring,78,26 882 | 33.279,-107.563,Warm Springs,Tularosa,Hotspring,87,31 883 | 32.606,-107.19,Souse Springs,Las Cruces,Hotspring,88,31 884 | 34.808,-107.091,Spring (Salt),Socorro,Hotspring,86,30 885 | 35.54,-106.854,San Ysidro Hot Springs,Albuquerque,Hotspring,85,29 886 | 36.368,-106.059,Statue Spring,Aztec,Hotspring,83,28 887 | 34.833,-107.091,Laguna Pueblo Seeps,Socorro,Hotspring,82,28 888 | 33.572,-107.593,Ojo Caliente,Tularosa,Hotspring,83,28 889 | 34.854,-107.088,Laguna Pueblo Springs,Socorro,Hotspring,80,27 890 | 32.843,-108.512,Mangas Springs,Silver City,Hotspring,81,27 891 | 34.769,-107.085,Spring (Salt),Socorro,Hotspring,78,26 892 | 34.032,-106.777,Ojo De Las Canas,Socorro,Hotspring,79,26 893 | 40.972,-119.007,Black Rock Hot Spring,Lovelock,Hotspring,136,58 894 | 38.899,-119.41,Nevada (Hinds) Hot Springs,Walker Lake,Hotspring,144,62 895 | 38.922,-118.198,Wedell Hot Springs,Walker Lake,Hotspring,144,62 896 | 41.183,-114.991,Hot Springs,Wells,Hotspring,142,61 897 | 38.437,-116.277,Hot Creek Valley Spring,Tonopah,Hotspring,142,61 898 | 41.788,-114.735,Mineral Hot Spring,Wells,Hotspring,140,60 899 | 37.825,-117.337,Alkali Hot Spring,Goldfield,Hotspring,140,60 900 | 41.412,-114.675,Wine Cup Ranch Springs,Wells,Hotspring,138,59 901 | 40.404,-116.517,Crescent Valley Hot Springs,Winnemucca,Hotspring,138,59 902 | 40.417,-116.507,Crescent Valley Hot Springs,Winnemucca,Hotspring,138,59 903 | 40.603,-116.463,Horseshoe Ranch Springs,Winnemucca,Hotspring,136,58 904 | 41.378,-119.182,Springs (Hot),Vya,Hotspring,136,58 905 | 39.883,-114.893,Cherry Creek Hot Springs,Ely,Hotspring,144,62 906 | 40.922,-117.108,Hot Pot (Blossom Hot Springs),Winnemucca,Hotspring,136,58 907 | 41.721,-118.505,Howard Hot Spring,Vya,Hotspring,135,57 908 | 41.421,-117.388,The Hot Springs,Mcdermitt,Hotspring,135,57 909 | 40.418,-117.415,Buffalo Springs,Winnemucca,Hotspring,162,72 910 | 39.031,-116.666,Dianas Punch Bowl,Millett,Hotspring,138,59 911 | 39.404,-116.347,Klobe (Bartholomae) Hot Spring,Millett,Hotspring,156,69 912 | 36.975,-116.721,Hicks Hot Springs,Death Valley,Hotspring,109,43 913 | 40.178,-117.496,Home Station Ranch Hot Spring,Winnemucca,Hotspring,135,57 914 | 39.797,-118.067,Dixie Hot Springs,Reno,Hotspring,162,72 915 | 39.904,-116.588,Walti Hot Springs,Millett,Hotspring,162,72 916 | 38.981,-119.833,Walleys Hot Springs,Walker Lake,Hotspring,160,71 917 | 38.464,-115.792,Chimney Warm Spring,Lund,Hotspring,160,71 918 | 39.328,-116.858,Spencer Hot Springs,Millett,Hotspring,162,72 919 | 41.108,-117.578,Hot Springs,Mcdermitt,Hotspring,158,70 920 | 36.002,-114.742,Spring,Las Vegas,Hotspring,145,63 921 | 41.576,-115.181,Hot Creek Springs,Wells,Hotspring,151,66 922 | 40.954,-117.488,Golconda Hot Spring (South),Winnemucca,Hotspring,151,66 923 | 40.22,-116.068,Bruffeys Hot Springs,Winnemucca,Hotspring,149,65 924 | 40.249,-115.409,Smith Ranch Springs,Elko,Hotspring,149,65 925 | 41.867,-114.692,San Jacinto Ranch Spring,Wells,Hotspring,148,64 926 | 40.765,-116.04,Hot Sulphur Springs,Winnemucca,Hotspring,147,64 927 | 38.188,-116.373,Warm Springs,Tonopah,Hotspring,145,63 928 | 41.567,-118.564,Dyke Hot Springs,Vya,Hotspring,158,70 929 | 38.365,-115.867,Abel Spring,Lund,Hotspring,115,46 930 | 41.929,-114.071,Nile Spring,Wells,Hotspring,109,43 931 | 39.193,-119.752,Carson Hot Springs,Reno,Hotspring,120,49 932 | 39.512,-119.907,Lawton Hot Springs,Reno,Hotspring,120,49 933 | 39.944,-119.509,Anaho Island Spring,Reno,Hotspring,120,49 934 | 37.761,-117.632,Silverpeak Hot Spring,Goldfield,Hotspring,118,48 935 | 37.621,-114.51,Caliente Hot Springs,Caliente,Hotspring,118,48 936 | 39.058,-119.742,Saratoga Hot Spring,Reno,Hotspring,122,50 937 | 39.308,-117.552,Hot Springs,Millett,Hotspring,115,46 938 | 40.673,-116.838,Hot Springs,Winnemucca,Hotspring,122,50 939 | 39.08,-116.639,Potts Ranch Hot Springs,Millett,Hotspring,113,45 940 | 38.388,-115.866,Coyote Hole Spring,Lund,Hotspring,113,45 941 | 41.753,-118.841,Warm Springs,Vya,Hotspring,112,44 942 | 41.386,-114.165,Spring (Hot),Wells,Hotspring,111,44 943 | 40.961,-117.494,Golconda Hot Spring (North),Winnemucca,Hotspring,165,74 944 | 40.313,-117.07,Mound Springs,Winnemucca,Hotspring,109,43 945 | 40.585,-115.285,Sulphur Hot Springs,Elko,Hotspring,205,96 946 | 39.059,-119.815,Hobo Hot Springs,Reno,Hotspring,114,46 947 | 40.191,-117.107,Hot Springs,Winnemucca,Hotspring,127,53 948 | 40.819,-115.777,Hot Hole,Elko,Hotspring,133,56 949 | 39.286,-119.84,Bowers Mansion Hot Spring,Reno,Hotspring,133,56 950 | 41.809,-118.861,Painted Hills Mine,Vya,Hotspring,131,55 951 | 41.925,-118.805,Bog Hot Springs,Vya,Hotspring,131,55 952 | 41.647,-115.775,Wild Horse Hot Springs,Wells,Hotspring,129,54 953 | 40.183,-117.102,Hot Springs Ranch,Winnemucca,Hotspring,129,54 954 | 40.08,-117.604,Mccoy Springs,Winnemucca,Hotspring,120,49 955 | 41.353,-119.216,Spring (Hot),Vya,Hotspring,127,53 956 | 41.357,-119.188,Springs (Hot),Vya,Hotspring,133,56 957 | 40.198,-117.103,Hot Springs,Winnemucca,Hotspring,127,53 958 | 39.42,-119.738,Dimonte Spring,Reno,Hotspring,127,53 959 | 38.952,-115.23,Williams Hot Spring,Lund,Hotspring,127,53 960 | 41.261,-115.305,Hot Springs,Wells,Hotspring,126,52 961 | 39.041,-116.663,Hot Spring,Millett,Hotspring,124,51 962 | 41.365,-119.221,Spring (Hot),Vya,Hotspring,122,50 963 | 41.159,-114.986,"Threemile Spring, Sulphur Hot Spr",Wells,Hotspring,122,50 964 | 41.339,-119.192,Springs (Hot),Vya,Hotspring,127,53 965 | 39.893,-116.649,Little Hot Springs,Millett,Hotspring,H,H 966 | 39.787,-119.011,Bradys Hot Springs,Reno,Hotspring,209,98 967 | 41.175,-115.278,Hot Spring,Wells,Hotspring,H,H 968 | 41.145,-114.994,Hot Spring,Wells,Hotspring,H,H 969 | 40.864,-117.349,Sulphur Spring,Winnemucca,Hotspring,H,H 970 | 39.733,-119.039,Eagle Salt Works Spring,Reno,Hotspring,H,H 971 | 39.281,-118.42,Sand Springs,Reno,Hotspring,H,H 972 | 38.81,-116.397,Fish Springs,Tonopah,Hotspring,W,W 973 | 39.559,-117.427,Petersons Mill Hot Spring,Millett,Hotspring,H,H 974 | 38.339,-116.662,Warm Spring,Tonopah,Hotspring,W,W 975 | 38.859,-119.175,Hot Spring,Walker Lake,Hotspring,H,H 976 | 39.995,-117.854,Senator Fumaroles,Millett,Hotspring,B,B 977 | 39.565,-118.856,(Soda Lake Area),Reno,Hotspring,210,99 978 | 40.141,-119.687,The Needle Rocks Hot Springs,Lovelock,Hotspring,208,98 979 | 40.146,-119.673,The Needle Rocks Hot Spring,Lovelock,Hotspring,208,98 980 | 40.662,-119.365,Great Boiling Spring (Gerlach),Lovelock,Hotspring,208,98 981 | 39.388,-119.743,Steamboat Springs,Reno,Hotspring,205,96 982 | 39.866,-118.017,Dixie Comstock Mine,Reno,Hotspring,H,H 983 | 40.746,-116.689,White House Spring,Winnemucca,Hotspring,W,W 984 | 39.98,-119.502,Pyramid Island Hot Spring,Reno,Hotspring,.,. 985 | 41.934,-118.808,Warm Springs,Vya,Hotspring,W,W 986 | 41.385,-116.058,Petaini Springs,Mcdermitt,Hotspring,W,W 987 | 41.064,-115.389,Warm Springs,Wells,Hotspring,W,W 988 | 41.066,-114.99,Spring,Wells,Hotspring,W,W 989 | 41.355,-114.133,Warm Springs,Wells,Hotspring,W,W 990 | 41.148,-116.733,Hot Lake,Mcdermitt,Hotspring,H,H 991 | 40.684,-116.153,Ellison Ranch Warm Spring,Winnemucca,Hotspring,W,W 992 | 40.604,-117.648,Leach Hot Springs,Winnemucca,Hotspring,207,97 993 | 40.751,-115.035,Warm Springs,Elko,Hotspring,W,W 994 | 40.782,-115.363,Warm Spring,Elko,Hotspring,W,W 995 | 39.529,-116.388,Warm Spring,Millett,Hotspring,W,W 996 | 39.072,-115.635,Big Blue Spring,Ely,Hotspring,W,W 997 | 38.95,-119.388,Spring,Walker Lake,Hotspring,W,W 998 | 38.965,-118.689,Double Spring,Walker Lake,Hotspring,W,W 999 | 38.458,-117.303,Indian Springs,Tonopah,Hotspring,W,W 1000 | 40.592,-116.157,Raine Ranch Springs,Winnemucca,Hotspring,W,W 1001 | 39.941,-116.681,Hot Springs,Millett,Hotspring,180,82 1002 | 40.567,-116.588,Beowawe Hot Springs (The Geysers),Winnemucca,Hotspring,208,98 1003 | 40.761,-117.492,Hot Springs,Winnemucca,Hotspring,185,85 1004 | 40.653,-119.378,Mud Springs,Lovelock,Hotspring,184,84 1005 | 38.768,-119.174,Wilson Hot Spring,Walker Lake,Hotspring,183,84 1006 | 41.921,-118.709,Baltazor Hot Spring,Vya,Hotspring,181,83 1007 | 40.857,-119.328,Fly Ranch (Wards) Hot Springs,Lovelock,Hotspring,180,82 1008 | 39.597,-119.11,Patua Hot Springs (Fernley),Reno,Hotspring,187,86 1009 | 39.028,-117.136,Mcleod Ranch Hot Spring,Millett,Hotspring,180,82 1010 | 40.316,-116.433,Hot Spring,Winnemucca,Hotspring,186,86 1011 | 38.521,-116.365,Hot Creek Ranch Hot Spring,Tonopah,Hotspring,180,82 1012 | 41.051,-119.028,Double Hot Springs,Vya,Hotspring,178,81 1013 | 40.003,-117.718,Hyder Hot Springs,Winnemucca,Hotspring,176,80 1014 | 39.665,-114.807,Monte Neva Hot Springs,Ely,Hotspring,176,80 1015 | 40.368,-117.327,Buffalo Valley Hot Springs,Winnemucca,Hotspring,174,79 1016 | 40.699,-116.133,Hot Springs (Carlin),Winnemucca,Hotspring,174,79 1017 | 41.052,-118.717,Macfarlane Hot Spring,Vya,Hotspring,170,77 1018 | 39.342,-118.578,Borax Spring,Reno,Hotspring,180,82 1019 | 39.484,-119.804,Moana Springs,Reno,Hotspring,199,93 1020 | 41.243,-114.947,Twelvemile Spring,Wells,Hotspring,102,39 1021 | 39.38,-119.74,Steamboat Springs,Reno,Hotspring,205,96 1022 | 39.558,-116.36,Bartine Hot Springs,Millett,Hotspring,108,42 1023 | 39.954,-117.917,Fumaroles,Millett,Hotspring,204,96 1024 | 40.389,-119.402,Hot Seeps (San Emidio Desert),Lovelock,Hotspring,203,95 1025 | 38.822,-117.183,Darroughs Hot Springs,Tonopah,Hotspring,203,95 1026 | 40.088,-117.725,Sou (Seven Devils) Hot Springs,Winnemucca,Hotspring,185,85 1027 | 41.363,-118.788,Pinto Hot Springs,Vya,Hotspring,199,93 1028 | 40.408,-117.883,Kyle Hot Springs,Winnemucca,Hotspring,171,77 1029 | 41.357,-118.809,West Pinto Hot Spring,Vya,Hotspring,198,92 1030 | 39.316,-117.549,Hot Springs,Millett,Hotspring,198,92 1031 | 41.468,-116.15,Hot Sulphur Springs (Tuscarora),Mcdermitt,Hotspring,194,90 1032 | 40.813,-115.778,Elko Hot Spring,Elko,Hotspring,190,88 1033 | 39.208,-118.723,"Lee Hot Springs, Allen Springs",Reno,Hotspring,190,88 1034 | 40.262,-119.379,Boiling Springs,Lovelock,Hotspring,187,86 1035 | 40.77,-119.113,Butte Springs (Trego Hot Springs),Lovelock,Hotspring,187,86 1036 | 39.161,-119.183,Wabuska Hot Springs,Reno,Hotspring,201,94 1037 | 39.814,-115.612,Giocoecha Warm Springs,Ely,Hotspring,76,24 1038 | 36.389,-114.433,Blue Point Spring,Las Vegas,Hotspring,82,28 1039 | 37.016,-117.211,Seep,Goldfield,Hotspring,77,25 1040 | 37.751,-116.274,Cedar Spring,Goldfield,Hotspring,77,25 1041 | 37.896,-114.227,Flatnose Ranch Spring,Caliente,Hotspring,77,25 1042 | 36.207,-115.983,Pahrump (Bennetts) Spring,Las Vegas,Hotspring,77,25 1043 | 41.775,-115.921,Rizzi Ranch Hot Spring,Wells,Hotspring,106,41 1044 | 35.944,-114.731,Hot Spring,Kingman,Hotspring,78,26 1045 | 41.884,-114.117,Gambles Hole,Wells,Hotspring,104,40 1046 | 36.565,-115.671,Indian Springs,Las Vegas,Hotspring,78,26 1047 | 39.547,-114.915,Campbell Ranch Springs,Ely,Hotspring,76,24 1048 | 38.423,-115.022,Flag Springs,Lund,Hotspring,75,24 1049 | 38.44,-115.011,Butterfield Springs,Lund,Hotspring,75,24 1050 | 37.997,-118.039,Fish Spring,Mariposa,Hotspring,75,24 1051 | 37.029,-116.719,Springs,Goldfield,Hotspring,75,24 1052 | 36.426,-116.411,Ash Tree Spring,Death Valley,Hotspring,75,24 1053 | 36.033,-115.888,Browns Spring,Las Vegas,Hotspring,75,24 1054 | 41.322,-119.206,Springs,Vya,Hotspring,75,24 1055 | 41.706,-118.261,Ninemile Springs,Vya,Hotspring,79,26 1056 | 35.964,-114.743,Hot Spring,Kingman,Hotspring,82,28 1057 | 41.763,-118.279,Fivemile Spring,Vya,Hotspring,81,27 1058 | 39.457,-119.722,Huffaker Springs,Reno,Hotspring,81,27 1059 | 38.992,-117.042,Charnock (Big Blue) Springs,Tonopah,Hotspring,80,27 1060 | 36.402,-116.302,Davis Ranch Springs,Death Valley,Hotspring,81,27 1061 | 36.45,-116.313,Spring,Death Valley,Hotspring,81,27 1062 | 39.792,-114.692,Lower Shellbourne Spring,Ely,Hotspring,77,25 1063 | 41.338,-119.168,Springs,Vya,Hotspring,79,26 1064 | 41.022,-119.275,Caine Spring,Vya,Hotspring,73,23 1065 | 41.05,-117.1,Hot Springs Ranch Springs,Mcdermitt,Hotspring,79,26 1066 | 40.079,-116.035,Flynn Ranch Springs,Winnemucca,Hotspring,78,26 1067 | 40.325,-116.058,Hot Springs,Winnemucca,Hotspring,79,26 1068 | 36.414,-116.292,Spring,Death Valley,Hotspring,79,26 1069 | 36.173,-115.191,Las Vegas Springs,Las Vegas,Hotspring,79,26 1070 | 36.174,-115.479,White Rock Spring,Las Vegas,Hotspring,78,26 1071 | 36.565,-115.623,Spring,Las Vegas,Hotspring,79,26 1072 | 36.491,-116.342,"Fairbanks Spring, Soda Spring",Death Valley,Hotspring,81,27 1073 | 38.654,-114.633,Geyser Ranch Springs,Lund,Hotspring,70,21 1074 | 36.363,-116.271,Bole Spring,Death Valley,Hotspring,72,22 1075 | 36.999,-116.706,Spring,Death Valley,Hotspring,72,22 1076 | 36.942,-115.425,Ash Creek Spring,Las Vegas,Hotspring,72,22 1077 | 38.796,-119.65,Doud Springs,Walker Lake,Hotspring,70,21 1078 | 38.622,-115.047,Emigrant Springs,Lund,Hotspring,70,21 1079 | 38.927,-115.082,Preston Springs,Lund,Hotspring,70,21 1080 | 36.147,-115.893,Manse Ranch Spring,Las Vegas,Hotspring,75,24 1081 | 38.645,-114.632,Geyser Ranch Springs,Lund,Hotspring,70,21 1082 | 38.574,-115.522,Tom Spring,Lund,Hotspring,72,22 1083 | 38.671,-114.628,Geyser Ranch Springs,Lund,Hotspring,70,21 1084 | 37.783,-114.528,Bennett Springs,Caliente,Hotspring,70,21 1085 | 37.86,-114.321,Delmues Springs,Caliente,Hotspring,70,21 1086 | 36.408,-116.313,Davis Ranch Spring,Death Valley,Hotspring,70,21 1087 | 36.567,-114.446,Seep,Las Vegas,Hotspring,70,21 1088 | 41.369,-114.187,Gamble Spring,Wells,Hotspring,69,20 1089 | 39.901,-115.868,Thompson Ranch Spring,Ely,Hotspring,68,20 1090 | 38.633,-114.638,Wambolt Springs,Lund,Hotspring,70,21 1091 | 37.906,-118.171,Sand Spring,Mariposa,Hotspring,74,23 1092 | 36.486,-114.329,Springs,Las Vegas,Hotspring,77,25 1093 | 41.354,-119.116,Mustang Springs,Vya,Hotspring,73,23 1094 | 41.746,-119.791,Warm Springs,Vya,Hotspring,73,23 1095 | 41.258,-118.937,Cane Springs,Vya,Hotspring,74,23 1096 | 40.103,-119.884,Fish Springs,Lovelock,Hotspring,73,23 1097 | 39.853,-119.719,Spring,Reno,Hotspring,73,23 1098 | 39.832,-116.069,Sulphur Spring,Millett,Hotspring,74,23 1099 | 36.363,-116.263,Spring,Death Valley,Hotspring,72,22 1100 | 38.554,-115.531,Kate Spring,Lund,Hotspring,73,23 1101 | 37.074,-116.691,Spring,Goldfield,Hotspring,72,22 1102 | 37.979,-117.993,Gap Spring,Goldfield,Hotspring,73,23 1103 | 41.591,-119.862,Twin (Vya) Spring,Vya,Hotspring,71,22 1104 | 40.763,-119.172,Coyote Spring,Lovelock,Hotspring,72,22 1105 | 40.127,-116.884,Springs,Winnemucca,Hotspring,72,22 1106 | 40.187,-116.805,Spring,Winnemucca,Hotspring,72,22 1107 | 40.967,-114.515,Johnson Ranch Springs,Elko,Hotspring,72,22 1108 | 36.205,-115.141,Kyle Spring,Las Vegas,Hotspring,75,24 1109 | 39.8,-114.653,Upper Shellbourne Spring,Ely,Hotspring,74,23 1110 | 36.428,-116.303,Button Springs,Death Valley,Hotspring,93,34 1111 | 38.383,-115.153,Hot Creek Ranch Spring,Lund,Hotspring,90,32 1112 | 39.283,-114.866,Lackawanna Hot Springs,Ely,Hotspring,95,35 1113 | 38.532,-116.465,Upper Warm Spring,Tonopah,Hotspring,95,35 1114 | 38.823,-116.717,South Mosquito Creek Ranch Springs,Tonopah,Hotspring,95,35 1115 | 40.829,-117.306,Brooks Spring,Winnemucca,Hotspring,93,34 1116 | 40.992,-117.763,Spring,Winnemucca,Hotspring,93,34 1117 | 41.971,-114.574,Warm Springs,Wells,Hotspring,95,35 1118 | 38.95,-115.7,Big Warm Spring,Lund,Hotspring,93,34 1119 | 37.463,-115.192,Ash Springs,Caliente,Hotspring,97,36 1120 | 36.464,-116.319,Parent Springs,Death Valley,Hotspring,93,34 1121 | 38.352,-115.181,Moon River Spring,Lund,Hotspring,92,33 1122 | 36.402,-116.274,"Point of Rocks Springs, King Sprin",Death Valley,Hotspring,91,33 1123 | 36.421,-116.322,Crystal Pool,Death Valley,Hotspring,91,33 1124 | 36.425,-116.291,Devils Hole,Death Valley,Hotspring,92,33 1125 | 39.068,-119.786,Springs,Reno,Hotspring,90,32 1126 | 38.954,-117.049,Big Blue (A) Spring,Tonopah,Hotspring,90,32 1127 | 40.087,-114.647,Collar And Elbow Spring,Elko,Hotspring,93,34 1128 | 36.378,-114.443,Rogers Spring,Las Vegas,Hotspring,82,28 1129 | 39.943,-116.073,Shipley Hot Spring,Millett,Hotspring,106,41 1130 | 38.698,-116.435,"Upper Warm Spring, Warm Spring",Tonopah,Hotspring,106,41 1131 | 41.53,-118.57,Spring,Vya,Hotspring,104,40 1132 | 41.877,-115.628,Rowland Hot Springs,Wells,Hotspring,104,40 1133 | 40.035,-117.604,Lower Ranch Hot Springs,Winnemucca,Hotspring,104,40 1134 | 40.187,-116.79,Chillis Hot Spring,Winnemucca,Hotspring,102,39 1135 | 39.988,-116.044,Siri Ranch Spring,Millett,Hotspring,95,35 1136 | 39.421,-119.758,Zolezzi Spring,Reno,Hotspring,102,39 1137 | 38.531,-116.405,Old Dugan Ranch Hot Springs,Tonopah,Hotspring,102,39 1138 | 36.968,-116.723,Burrell Hot Spring,Death Valley,Hotspring,102,39 1139 | 38.343,-118.103,Soda Springs,Walker Lake,Hotspring,100,38 1140 | 38.556,-115.767,"Lockes Big Spring, Hay Corral Spr",Lund,Hotspring,100,38 1141 | 38.594,-115.138,Moorman Spring,Lund,Hotspring,100,38 1142 | 38.398,-115.862,Storm Spring,Lund,Hotspring,99,37 1143 | 41.19,-115.287,Hot Spring,Wells,Hotspring,97,36 1144 | 37.822,-117.48,Pearl Hot Springs,Goldfield,Hotspring,97,36 1145 | 39.159,-119.737,Nevada State Prison Spring,Reno,Hotspring,75,24 1146 | 40.025,-117.646,Spring,Winnemucca,Hotspring,83,28 1147 | 40.83,-119.538,Springs,Lovelock,Hotspring,84,29 1148 | 39.442,-119.743,Double Diamond Spring,Reno,Hotspring,84,29 1149 | 39.413,-114.779,Mcgill Spring,Ely,Hotspring,84,29 1150 | 39.458,-114.756,Schoolhouse Spring,Ely,Hotspring,84,29 1151 | 36.375,-116.274,Big (Ash Meadows) Spring,Death Valley,Hotspring,83,28 1152 | 38.292,-114.272,Hammond Ranch Spring,Lund,Hotspring,84,29 1153 | 41.398,-119.165,Spring,Vya,Hotspring,84,29 1154 | 41.732,-119.785,Seeps (Hills Warm Spring),Vya,Hotspring,83,28 1155 | 38.563,-115.528,Blue Eagle Springs,Lund,Hotspring,84,29 1156 | 40.873,-117.937,Rose Creek Spring,Winnemucca,Hotspring,83,28 1157 | 39.917,-114.667,Spring,Ely,Hotspring,83,28 1158 | 36.39,-116.278,Jack Rabbit Spring,Death Valley,Hotspring,82,28 1159 | 36.437,-116.206,Spring,Death Valley,Hotspring,82,28 1160 | 38.937,-115.695,Little Warm Spring,Lund,Hotspring,90,32 1161 | 36.479,-116.326,Rogers Spring,Death Valley,Hotspring,82,28 1162 | 40.29,-116.049,Carlotti Ranch Springs,Winnemucca,Hotspring,102,39 1163 | 36.468,-116.325,Longstreet Spring,Death Valley,Hotspring,82,28 1164 | 36.722,-114.716,Muddy Spring,Las Vegas,Hotspring,90,32 1165 | 37.532,-115.233,Crystal Springs,Caliente,Hotspring,90,32 1166 | 37.598,-115.215,Hiko Spring,Caliente,Hotspring,90,32 1167 | 36.404,-116.383,Spring,Death Valley,Hotspring,90,32 1168 | 37.996,-116.389,Reveille Mill Spring,Goldfield,Hotspring,84,29 1169 | 36.71,-114.714,Moapa Warm Springs,Las Vegas,Hotspring,90,32 1170 | 35.982,-114.748,Hot Springs,Kingman,Hotspring,86,30 1171 | 40.929,-116.895,Izzenhood Ranch Springs,Winnemucca,Hotspring,88,31 1172 | 37.807,-114.38,Panaca Spring,Caliente,Hotspring,88,31 1173 | 36.942,-116.729,Spring,Death Valley,Hotspring,88,31 1174 | 41.98,-114.376,Hot Spring,Wells,Hotspring,86,30 1175 | 36.433,-116.308,Scruggs Springs,Death Valley,Hotspring,86,30 1176 | 40.952,-114.751,Ralphs Warm Springs,Elko,Hotspring,86,30 1177 | 39.526,-118.876,Soda Lake,Reno,Hotspring,86,30 1178 | 38.027,-116.683,Spring,Tonopah,Hotspring,86,30 1179 | 37.741,-115.753,Sand Spring,Caliente,Hotspring,86,30 1180 | 36.918,-116.744,Beatty Municipal Spring,Death Valley,Hotspring,88,31 1181 | 38.255,-116.829,Saulsbury Warm Spring,Tonopah,Hotspring,86,30 1182 | 42.48,-73.37,Lebanon Spring,Albany,Hotspring,72,22 1183 | 44.241,-122.058,Bigelow Hot Springs,Salem,Hotspring,142,61 1184 | 44.862,-121.201,Kahneeta Hot Springs,Bend,Hotspring,126,52 1185 | 44.927,-117.939,Radium Hot Springs,Baker,Hotspring,135,57 1186 | 44.354,-118.574,Blue Mountain Hot Springs,Canyon City,Hotspring,136,58 1187 | 44.936,-122.173,Bagby Hot Springs,Salem,Hotspring,136,58 1188 | 43.944,-118.136,Beulah Hot Springs,Burns,Hotspring,140,60 1189 | 43.763,-117.156,Mitchell Butte Hot Spring,Boise,Hotspring,144,62 1190 | 42.116,-121.287,Oregon Hot Springs (Big Hot Spring,Klamath Falls,Hotspring,142,61 1191 | 45.151,-118.659,Lehman Springs,Pendleton,Hotspring,142,61 1192 | 43.719,-121.209,East Lake Hot Springs,Crescent,Hotspring,144,62 1193 | 43.469,-118.202,Luce Hot Springs,Burns,Hotspring,145,63 1194 | 45.018,-117.625,Medical Hot Springs,Grangeville,Hotspring,140,60 1195 | 44.867,-121.228,Springs,Bend,Hotspring,125,52 1196 | 42.188,-118.383,Flagstaff Butte Hot Spring,Adel,Hotspring,126,52 1197 | 44.451,-119.105,Mount Vernon Hot Springs,Canyon City,Hotspring,121,49 1198 | 42.977,-117.061,Canters Hot Spring,Jordan Valley,Hotspring,120,49 1199 | 43.294,-122.367,Umpqua Hot Springs,Roseburg,Hotspring,117,47 1200 | 44.002,-119.647,Weberg Hot Spring,Canyon City,Hotspring,115,46 1201 | 43.739,-117.178,Deer Butte Hot Spring,Boise,Hotspring,115,46 1202 | 43.795,-117.958,Jonesboro Warm Spring,Boise,Hotspring,112,45 1203 | 42.075,-119.927,Hallinan Spring,Adel,Hotspring,113,45 1204 | 42.297,-119.776,Fisher Hot Springs,Adel,Hotspring,154,68 1205 | 45.013,-117.885,Kropp Hot Spring,Grangeville,Hotspring,109,43 1206 | 42.221,-120.368,Hunters Hot Springs,Klamath Falls,Hotspring,205,96 1207 | 44.083,-122.233,Cougar Reservoir Hot Springs,Salem,Hotspring,111,44 1208 | 44.023,-117.46,Neal Hot Springs,Baker,Hotspring,189,87 1209 | 42.431,-121.963,Eagle Point Spring,Klamath Falls,Hotspring,95,35 1210 | 43.689,-122.372,Kitson Hot Springs,Roseburg,Hotspring,109,43 1211 | 44.813,-117.765,Spring (Hot),Baker,Hotspring,W,W 1212 | 43.776,-118.047,Warm Spring,Burns,Hotspring,W,W 1213 | 43.793,-118.472,Sitz Warm Spring,Burns,Hotspring,W,W 1214 | 43.86,-118.288,Altnow Hot Spring,Burns,Hotspring,W,W 1215 | 43.893,-117.596,Springs,Boise,Hotspring,W,W 1216 | 45.206,-117.912,Union Station Hot Springs,Grangeville,Hotspring,H,H 1217 | 44.208,-117.455,Jamieson Hot Springs,Baker,Hotspring,H,H 1218 | 42.338,-118.602,Hot Springs,Adel,Hotspring,207,97 1219 | 44.782,-121.975,Breitenbush Hot Springs,Bend,Hotspring,198,92 1220 | 42.219,-119.877,Warner Valley Ranch,Adel,Hotspring,198,92 1221 | 42.156,-120.345,Barry Ranch Hot Springs,Klamath Falls,Hotspring,190,88 1222 | 44.193,-122.049,Belknap Springs,Salem,Hotspring,160,71 1223 | 45.021,-122.009,Austin Hot Springs,Vancouver,Hotspring,186,86 1224 | 42.676,-118.344,Mickey Springs,Adel,Hotspring,187,86 1225 | 44.153,-122.098,Foley Springs,Salem,Hotspring,178,81 1226 | 45.244,-117.958,Hot Lake Springs,Grangeville,Hotspring,176,80 1227 | 42.544,-118.533,Alvord Hot Springs,Adel,Hotspring,174,79 1228 | 43.441,-118.638,Crane Hot Springs,Burns,Hotspring,172,78 1229 | 42.226,-119.881,Crump Geyser (Crump Spring),Adel,Hotspring,172,78 1230 | 43.727,-117.203,Snively Hot Spring,Boise,Hotspring,170,77 1231 | 42.174,-121.615,Olene Gap Hot Springs,Klamath Falls,Hotspring,165,74 1232 | 43.708,-122.288,Mccredie Springs,Roseburg,Hotspring,163,73 1233 | 43.982,-117.233,Vale Hot Springs,Boise,Hotspring,163,73 1234 | 42.162,-120.344,Leithead Hot Spring,Klamath Falls,Hotspring,162,72 1235 | 45.372,-121.697,Mount Hood Fumaroles,The Dalles,Hotspring,194,90 1236 | 43.264,-119.015,Dunn Spring,Burns,Hotspring,70,21 1237 | 42.873,-122.167,Annie Spring,Medford,Hotspring,77,25 1238 | 42.133,-121.219,Wilkersons Hot Spring,Klamath Falls,Hotspring,76,24 1239 | 43.272,-119.293,Basque Spring,Burns,Hotspring,74,23 1240 | 43.276,-119.34,Double O Spring,Burns,Hotspring,74,23 1241 | 44.073,-119.427,Brisbois Ranch Springs,Canyon City,Hotspring,72,22 1242 | 43.265,-119.276,Johnson Spring,Burns,Hotspring,72,22 1243 | 43.281,-119.311,Double O Barnyard Spring,Burns,Hotspring,72,22 1244 | 43.501,-119.091,Roadland Spring,Burns,Hotspring,72,22 1245 | 43.529,-119.081,Goodman Spring,Burns,Hotspring,72,22 1246 | 43.703,-117.19,South Black Willow Spring,Boise,Hotspring,71,22 1247 | 42.307,-119.875,Moss Ranch Spring,Adel,Hotspring,72,22 1248 | 43.758,-118.067,Juntura Warm Spring 1,Burns,Hotspring,77,25 1249 | 43.732,-121.252,Paulina Springs,Crescent,Hotspring,70,21 1250 | 42.176,-121.828,Howard Holiday,Klamath Falls,Hotspring,77,25 1251 | 43.477,-119.075,Baker Spring,Burns,Hotspring,70,21 1252 | 42.178,-121.801,Hardboard Spring,Klamath Falls,Hotspring,70,21 1253 | 42.325,-120.327,White Rock Ranch Hot Spring,Klamath Falls,Hotspring,71,21 1254 | 43.252,-119.258,Hughet Spring,Burns,Hotspring,68,20 1255 | 42.38,-120.33,Bean Hot Spring,Klamath Falls,Hotspring,69,20 1256 | 42.933,-120.642,Lost Cabin Spring,Klamath Falls,Hotspring,68,20 1257 | 42.998,-120.725,Buckhorn Creek Springs,Klamath Falls,Hotspring,68,20 1258 | 42.688,-117.905,Tudors Spring,Jordan Valley,Hotspring,68,20 1259 | 42.756,-117.55,Scott Spring,Jordan Valley,Hotspring,68,20 1260 | 42.725,-120.646,Summer Lake Hot Spring,Klamath Falls,Hotspring,109,43 1261 | 43.757,-118.092,Juntura Warm Spring 2,Burns,Hotspring,95,35 1262 | 44.374,-118.738,Limekiln Hot Spring,Canyon City,Hotspring,70,21 1263 | 42.221,-122.742,Jackson Hot Springs,Medford,Hotspring,95,35 1264 | 44.892,-119.141,Ritter Hot Springs,Canyon City,Hotspring,106,41 1265 | 43.808,-122.309,Wall Creek Warm Springs,Roseburg,Hotspring,106,41 1266 | 43.395,-118.308,Springs (Hot),Burns,Hotspring,106,41 1267 | 43.302,-117.383,Hot Spring,Boise,Hotspring,106,41 1268 | 44.28,-118.956,Joaquin Miller Hot Springs,Canyon City,Hotspring,104,40 1269 | 42.501,-119.693,Antelope Hot Springs,Adel,Hotspring,104,40 1270 | 45.129,-118.738,Hidaway Springs,Pendleton,Hotspring,100,38 1271 | 44.975,-118.044,Fisher Hot Springs,Canyon City,Hotspring,99,37 1272 | 44.033,-117.449,Bully Creek Spring,Baker,Hotspring,99,37 1273 | 42.93,-120.798,Pardon Warm Spring,Klamath Falls,Hotspring,76,24 1274 | 42.327,-118.602,Borax Lake (Hot Lake),Adel,Hotspring,97,36 1275 | 42.161,-121.627,Crystal Spring,Klamath Falls,Hotspring,78,26 1276 | 45.741,-118.233,Bingham Springs,Pendleton,Hotspring,93,34 1277 | 42.889,-118.898,Fivemile Spring (Hoghouse Hot Sprs,Adel,Hotspring,80,27 1278 | 43.54,-119.081,Millpond Hot Spring,Burns,Hotspring,79,26 1279 | 45.891,-116.873,Cook Creek Hot Spring,Grangeville,Hotspring,97,36 1280 | 45.295,-121.731,Swim Warm Springs,The Dalles,Hotspring,79,26 1281 | 42.04,-120.924,Warm Spring,Klamath Falls,Hotspring,92,33 1282 | 44.779,-117.811,Sam O Spring,Baker,Hotspring,80,27 1283 | 44.538,-117.417,Nelson Spring,Baker,Hotspring,80,27 1284 | 45.631,-119.703,Well Spring,Pendleton,Hotspring,80,27 1285 | 42.287,-119.867,Moss Ranch Springs,Adel,Hotspring,83,28 1286 | 45.061,-118.455,Warm Mineral Spring,Pendleton,Hotspring,83,28 1287 | 43.95,-119.634,Warm Springs,Burns,Hotspring,84,29 1288 | 45.295,-117.806,Warm Spring,Grangeville,Hotspring,85,29 1289 | 42.815,-118.899,Warm Springs,Adel,Hotspring,89,32 1290 | 43.452,-103.508,Hot Brook Springs,Hot Springs,Hotspring,75,24 1291 | 43.442,-103.481,Hot Springs,Hot Springs,Hotspring,87,31 1292 | 29.178,-102.953,Rio Grande Village Spring,Emory Peak,Hotspring,97,36 1293 | 30.823,-105.315,Indian Hot Springs,Marfa,Hotspring,117,47 1294 | 30.038,-104.598,Ruidosa Hot Springs,Marfa,Hotspring,113,45 1295 | 29.182,-102.992,Hot Springs,Emory Peak,Hotspring,106,41 1296 | 30.21,-104.562,Capote Springs,Marfa,Hotspring,99,37 1297 | 30.133,-104.602,Nixon Spring,Marfa,Hotspring,90,32 1298 | 29.787,-104.462,Springs (Las Cienegas),Presidio,Hotspring,86,30 1299 | 30.861,-105.34,Red Bull Spring,Marfa,Hotspring,99,37 1300 | 38.85,-112.49,Hatton Hot Spring,Richfield,Hotspring,100,38 1301 | 40.176,-111.801,Bird Island,Salt Lake City,Hotspring,86,30 1302 | 41.917,-111.958,Gancheff Spring,Ogden,Hotspring,88,31 1303 | 37.942,-112.438,Lefevre,Cedar City,Hotspring,90,32 1304 | 37.335,-113.687,Veyo Hot Spring,Cedar City,Hotspring,90,32 1305 | 40.332,-111.891,Fault Zone Spring,Salt Lake City,Hotspring,90,32 1306 | 40.146,-111.806,Lincoln Point Warm Springs,Salt Lake City,Hotspring,90,32 1307 | 38.186,-112.912,Us Blm,Richfield,Hotspring,91,33 1308 | 41.833,-112.454,Blue Creek Spring,Brigham City,Hotspring,82,28 1309 | 40.526,-111.488,Midway Hot Springs,Salt Lake City,Hotspring,100,38 1310 | 40.525,-111.468,Midway Hot Springs,Salt Lake City,Hotspring,104,40 1311 | 40.038,-111.529,Castilla Springs,Salt Lake City,Hotspring,104,40 1312 | 38.217,-112.904,Dotsons (Radium) Warm Spring,Richfield,Hotspring,91,33 1313 | 40.465,-109.221,Split Mountain Warm Springs,Vernal,Hotspring,86,30 1314 | 40.788,-112.017,Hobo Warm Spring,Tooele,Hotspring,84,29 1315 | 40.788,-111.899,Wasatch Hot Springs,Salt Lake City,Hotspring,108,42 1316 | 39.35,-113.515,Tule Spring,Delta,Hotspring,82,28 1317 | 39.424,-113.485,Coyote Spring,Delta,Hotspring,82,28 1318 | 39.842,-113.392,Fish Springs,Delta,Hotspring,82,28 1319 | 39.887,-113.413,North Springs,Delta,Hotspring,82,28 1320 | 41.756,-113.603,Warm Spring,Brigham City,Hotspring,81,27 1321 | 41.038,-111.656,Como Springs,Ogden,Hotspring,81,27 1322 | 40.397,-112.421,Morgans Warm Spring,Tooele,Hotspring,80,27 1323 | 39.464,-114.038,Gandy Warm Springs,Ely,Hotspring,81,27 1324 | 40.447,-110.828,Warm Springs,Salt Lake City,Hotspring,79,26 1325 | 37.7,-110.421,Warm Spring,Escalante,Hotspring,79,26 1326 | 40.502,-114.038,Blue Lake Spring,Elko,Hotspring,84,29 1327 | 38.503,-112.849,Roosevelt Hot Springs,Richfield,Hotspring,133,56 1328 | 38.774,-112.096,Richfield Warm Springs,Richfield,Hotspring,73,23 1329 | 40.488,-111.911,Crystal Hot Springs,Salt Lake City,Hotspring,187,86 1330 | 38.186,-113.197,Thermo Hot Springs,Richfield,Hotspring,185,85 1331 | 38.172,-113.204,Thermo Hot Springs,Richfield,Hotspring,181,83 1332 | 39.613,-112.729,"Baker (Abraham, Crater) Hot Spring",Delta,Hotspring,180,82 1333 | 38.639,-112.098,Red Hill Hot Spring,Richfield,Hotspring,171,77 1334 | 38.633,-112.107,Monroe (Cooper) Hot Springs,Richfield,Hotspring,169,76 1335 | 38.613,-112.202,Joseph Hot Springs,Richfield,Hotspring,147,64 1336 | 39.906,-113.43,Wilson Health Springs,Delta,Hotspring,142,61 1337 | 41.138,-112.175,Hooper Hot Springs,Brigham City,Hotspring,140,60 1338 | 41.338,-112.031,Utah Hot Springs,Brigham City,Hotspring,138,59 1339 | 38.864,-112.506,Meadow Hot Springs,Richfield,Hotspring,106,41 1340 | 40.815,-111.918,Becks Hot Spring,Salt Lake City,Hotspring,133,56 1341 | 37.189,-113.272,Dixie (Laverkin) Hot Springs,Cedar City,Hotspring,108,42 1342 | 41.659,-112.087,Crystal (Madsens) Hot Springs,Brigham City,Hotspring,129,54 1343 | 41.855,-112.158,Udy Hot Springs,Brigham City,Hotspring,124,51 1344 | 41.578,-112.23,Stinking Hot Springs,Brigham City,Hotspring,118,48 1345 | 40.517,-111.475,Midway Hot Spring,Salt Lake City,Hotspring,115,46 1346 | 40.536,-111.478,Warm Ditch Spring,Salt Lake City,Hotspring,115,46 1347 | 40.35,-111.905,Saratoga Hot Springs,Salt Lake City,Hotspring,111,44 1348 | 40.353,-111.895,Crater Hot Spring,Salt Lake City,Hotspring,111,44 1349 | 41.901,-112.999,Coyote Spring,Brigham City,Hotspring,109,43 1350 | 41.687,-113.986,Spring (Hot),Brigham City,Hotspring,108,42 1351 | 41.582,-112.256,Little Mountain Hot Spring,Brigham City,Hotspring,108,42 1352 | 41.822,-113.263,L.G. Carter Springs,Brigham City,Hotspring,77,25 1353 | 41.236,-111.924,Ogden Hot Spring,Ogden,Hotspring,135,57 1354 | 37.178,-113.634,Snow Spring,Cedar City,Hotspring,70,21 1355 | 38.34,-113.22,Woodhouse Spring,Richfield,Hotspring,72,22 1356 | 38.155,-112.901,Willow Spring,Richfield,Hotspring,72,22 1357 | 38.56,-112.578,Sulphurdale,Richfield,Hotspring,72,22 1358 | 38.981,-111.829,Salt Spring,Salina,Hotspring,72,22 1359 | 37.174,-112.535,Red Canyon,Cedar City,Hotspring,72,22 1360 | 41.808,-113.327,W.R. Carter Springs,Brigham City,Hotspring,70,21 1361 | 41.818,-113.311,Larson Springs,Brigham City,Hotspring,70,21 1362 | 41.829,-113.654,Head Spring,Brigham City,Hotspring,70,21 1363 | 40.653,-112.907,Redlum Spring,Tooele,Hotspring,70,21 1364 | 40.458,-111.929,Camp Williams,Salt Lake City,Hotspring,70,21 1365 | 40.647,-112.524,Grantsville Warm Springs,Tooele,Hotspring,77,25 1366 | 39.183,-111.691,Sterling (Peacock) Warm Spring,Price,Hotspring,72,22 1367 | 39.246,-111.645,Livingston Warm Springs,Price,Hotspring,73,23 1368 | 38.138,-112.863,Big Maple Spring,Richfield,Hotspring,70,21 1369 | 37.393,-113.61,Irvine Spring,Cedar City,Hotspring,70,21 1370 | 41.563,-113.954,Kimber (Rose) Spring,Brigham City,Hotspring,68,20 1371 | 41.614,-113.613,Warm Spring,Brigham City,Hotspring,68,20 1372 | 41.328,-111.826,Patio Springs,Ogden,Hotspring,68,20 1373 | 40.172,-112.426,Davis,Tooele,Hotspring,68,20 1374 | 40.118,-111.337,Diamond Fork Warm Springs,Salt Lake City,Hotspring,68,20 1375 | 39.249,-113.877,Knoll Springs,Delta,Hotspring,68,20 1376 | 39.403,-113.863,Twin Springs,Delta,Hotspring,68,20 1377 | 39.788,-111.881,Ray Lunt Spring,Price,Hotspring,68,20 1378 | 38.762,-112.87,Springs,Richfield,Hotspring,68,20 1379 | 38.77,-112.871,Coyote Spring,Richfield,Hotspring,68,20 1380 | 37.937,-112.424,Tebbs,Cedar City,Hotspring,68,20 1381 | 37.096,-113.447,Warner Valley Spring,Cedar City,Hotspring,70,21 1382 | 40.565,-112.738,Deseret Livestock South Springs,Tooele,Hotspring,73,23 1383 | 37.158,-113.399,Virgin River Spring,Cedar City,Hotspring,70,21 1384 | 39.899,-112.045,Springs,Delta,Hotspring,72,22 1385 | 38.603,-112.111,Johnson Warm Spring,Richfield,Hotspring,77,25 1386 | 41.722,-112.266,Bothwell Warm Springs,Brigham City,Hotspring,75,24 1387 | 40.538,-112.747,Deseret Livestock,Tooele,Hotspring,75,24 1388 | 40.733,-112.621,Utah Fish And Game Dept,Tooele,Hotspring,75,24 1389 | 40.228,-111.867,Warm Springs,Salt Lake City,Hotspring,75,24 1390 | 37.137,-113.513,Warm Spring,Cedar City,Hotspring,75,24 1391 | 37.138,-113.528,Green Spring,Cedar City,Hotspring,75,24 1392 | 37.166,-113.383,Berry Springs,Cedar City,Hotspring,75,24 1393 | 41.834,-112.054,Cutler Warm Spring,Brigham City,Hotspring,73,23 1394 | 40.614,-112.709,Horseshoe Springs,Tooele,Hotspring,73,23 1395 | 41.239,-112.413,Compton Spring,Brigham City,Hotspring,72,22 1396 | 40.743,-112.642,Big Warm Springs,Tooele,Hotspring,72,22 1397 | 40.558,-112.739,Deseret Livestock South Spring,Tooele,Hotspring,72,22 1398 | 40.39,-112.424,Russells Warm Springs,Tooele,Hotspring,72,22 1399 | 41.831,-113.391,Pugsley,Brigham City,Hotspring,73,23 1400 | 41.449,-112.442,Poulsen Spring (Salt),Brigham City,Hotspring,72,22 1401 | 40.167,-111.622,Wood Springs,Salt Lake City,Hotspring,73,23 1402 | 40.234,-111.865,Warm Springs,Salt Lake City,Hotspring,77,25 1403 | 39.955,-111.858,Goshen Warm Srings,Price,Hotspring,73,23 1404 | 39.334,-113.518,South Tule Spring,Delta,Hotspring,77,25 1405 | 39.616,-112.803,Fumarole Butte,Delta,Hotspring,73,23 1406 | 40.545,-111.928,East Jordan Canal,Salt Lake City,Hotspring,73,23 1407 | 41.643,-112.281,Springs,Brigham City,Hotspring,72,22 1408 | 37.29,-80.619,New River White Sulphur Springs,Bluefield,Hotspring,85,29 1409 | 37.997,-79.83,Hot Springs,Roanoke,Hotspring,106,41 1410 | 37.898,-79.462,Rockbridge Baths,Roanoke,Hotspring,72,22 1411 | 38.055,-79.78,Warm Springs,Charlottesvill,Hotspring,95,35 1412 | 37.963,-79.861,Healing Springs,Roanoke,Hotspring,86,30 1413 | 38.238,-79.65,Bragg Spring,Charlottesvill,Hotspring,75,24 1414 | 37.645,-80.238,Sweet Chalybeate Spring,Bluefield,Hotspring,75,24 1415 | 38.218,-79.673,Bolar Spring,Charlottesvill,Hotspring,73,23 1416 | 37.86,-79.988,Layton Spring,Roanoke,Hotspring,72,22 1417 | 37.87,-79.933,Falling Spring,Roanoke,Hotspring,77,25 1418 | 37.16,-80.806,Alum Springs,Bluefield,Hotspring,72,22 1419 | 46.852,-121.758,Mt Rainier Fumaroles,Yakima,Hotspring,162,72 1420 | 46.738,-121.562,Ohanapecosh Hot Springs,Yakima,Hotspring,122,50 1421 | 47.707,-121.155,Scenic Hot Springs,Wenatchee,Hotspring,122,50 1422 | 47.969,-123.864,Sol Duc Hot Springs,Seattle,Hotspring,122,50 1423 | 48.974,-119.475,Hot Lake,Okanogan,Hotspring,122,50 1424 | 45.658,-121.962,Moffetts (Bonneville) Hot Springs,The Dalles,Hotspring,97,36 1425 | 48.906,-119.455,Poison Lake,Okanogan,Hotspring,122,50 1426 | 45.701,-121.728,Collins Hot Springs,The Dalles,Hotspring,122,50 1427 | 47.484,-121.391,Goldmeyer Hot Springs,Wenatchee,Hotspring,127,53 1428 | 46.202,-121.492,Mount Adams Fumaroles,Yakima,Hotspring,150,66 1429 | 46.198,-122.197,Mt St Helens Fumaroles,Hoquiam,Hotspring,190,88 1430 | 48.789,-121.804,Dorr Fumarole Field,Concrete,Hotspring,194,90 1431 | 48.77,-121.813,Sherman Crater Fumaroles,Concrete,Hotspring,266,130 1432 | 45.723,-121.927,Rock Creek Hot Springs,The Dalles,Hotspring,H,H 1433 | 48.15,-121.062,Gamma Hot Springs,Concrete,Hotspring,140,60 1434 | 46.378,-122.265,Green River Soda Spring,Hoquiam,Hotspring,86,30 1435 | 46.575,-121.706,Packwood Hot Spring,Yakima,Hotspring,100,38 1436 | 47.201,-121.536,Lester Hot Springs,Wenatchee,Hotspring,120,49 1437 | 46.024,-118.771,Warm Springs Canyon Warm Spring,Walla Walla,Hotspring,72,22 1438 | 46.345,-121.6,Orr Creek Warm Springs,Yakima,Hotspring,72,22 1439 | 46.041,-121.181,Fish Hatchery Warm Spring,Yakima,Hotspring,75,24 1440 | 46.752,-121.814,Longmire Mineral Springs,Yakima,Hotspring,77,25 1441 | 47.892,-121.342,Garland Mineral Springs,Wenatchee,Hotspring,84,29 1442 | 46.452,-120.956,Simcoe Soda Springs,Yakima,Hotspring,90,32 1443 | 48.254,-121.17,Sulphur Creek Hot Springs,Concrete,Hotspring,99,37 1444 | 48.118,-121.192,Kennedy Hot Spring,Concrete,Hotspring,100,38 1445 | 48.763,-121.667,Baker Hot Spring,Concrete,Hotspring,108,42 1446 | 47.977,-123.682,Olympic Hot Springs,Seattle,Hotspring,118,48 1447 | 45.728,-121.8,St Martins Hot Springs,The Dalles,Hotspring,120,49 1448 | 45.821,-121.133,Klickitat Mineral Springs,The Dalles,Hotspring,81,27 1449 | 38.163,-79.975,Minnehaha Springs,Charlottesvill,Hotspring,70,21 1450 | 37.63,-80.24,Old Sweet Spring,Bluefield,Hotspring,73,23 1451 | 39.618,-78.23,Berkeley Springs,Cumberland,Hotspring,72,22 1452 | 38.605,-79.353,Thorn Spring,Charlottesvill,Hotspring,72,22 1453 | 39.471,-77.877,Swan Pond Spring,Baltimore,Hotspring,72,22 1454 | 44.29,-110.504,"Hot Springs,heart Lake Geyser Basi",Ashton,Hotspring,201,94 1455 | 44.691,-110.728,Geyser Springs Group,Ashton,Hotspring,201,94 1456 | 44.554,-110.812,Fountain Group,Ashton,Hotspring,201,94 1457 | 44.543,-110.859,Fairy Springs,Ashton,Hotspring,201,94 1458 | 44.485,-110.852,"Biscuit Basin, Sapphire Pool",Ashton,Hotspring,201,94 1459 | 44.48,-110.85,Cascade Group,Ashton,Hotspring,201,94 1460 | 44.46,-110.844,Black Sand Basin,Ashton,Hotspring,201,94 1461 | 44.459,-110.835,Myriad Group,Ashton,Hotspring,201,94 1462 | 44.307,-110.526,"Hot Springs,heart Lake Geyser Basi",Ashton,Hotspring,201,94 1463 | 44.354,-110.8,Shoshone Geyser Basin,Ashton,Hotspring,203,95 1464 | 44.568,-110.805,Quagmire Group,Ashton,Hotspring,203,95 1465 | 44.537,-110.801,"White Dome Geyser, Surprise Pool",Ashton,Hotspring,203,95 1466 | 44.52,-110.828,Flood Group,Ashton,Hotspring,203,95 1467 | 44.471,-110.843,"Daisy Group, Sentinel Geysers",Ashton,Hotspring,203,95 1468 | 44.466,-110.839,"Middle Group,tortoise Shell,inkwel",Ashton,Hotspring,203,95 1469 | 44.46,-110.828,"Geyser Hill Group, Old Faithful Ge",Ashton,Hotspring,203,95 1470 | 44.908,-110.393,Calcite Springs,Ashton,Hotspring,201,94 1471 | 44.417,-110.57,West Thumb Geyser Basin,Ashton,Hotspring,203,95 1472 | 44.459,-110.817,Southeastern Group,Ashton,Hotspring,198,92 1473 | 44.433,-110.581,Potts Hot Spring Basin,Ashton,Hotspring,203,95 1474 | 44.421,-110.952,Smoke Jumper Hot Springs,Ashton,Hotspring,198,92 1475 | 44.684,-110.753,Monument Geyser Basin,Ashton,Hotspring,197,92 1476 | 44.679,-110.746,Beryl Spring,Ashton,Hotspring,198,92 1477 | 44.544,-110.258,Turbid Springs,Ashton,Hotspring,198,92 1478 | 44.53,-110.297,Steamboat Springs,Ashton,Hotspring,198,92 1479 | 44.518,-110.813,"Hot Springs, Rabbit Creek Group",Ashton,Hotspring,198,92 1480 | 44.514,-110.828,Rabbit Creek Group,Ashton,Hotspring,198,92 1481 | 44.484,-110.873,Mystic Falls Springs,Ashton,Hotspring,198,92 1482 | 44.739,-110.324,Josephs Coat Springs,Ashton,Hotspring,199,93 1483 | 44.75,-110.714,Gas Vent,Ashton,Hotspring,H,H 1484 | 44.282,-110.506,Rustic Geyser,Ashton,Hotspring,199,93 1485 | 44.571,-110.811,Morning Mist Springs,Ashton,Hotspring,205,96 1486 | 44.733,-110.703,Cistern Spring,Ashton,Hotspring,199,93 1487 | 44.697,-110.724,Gibbon Hill Geyser,Ashton,Hotspring,199,93 1488 | 44.693,-110.738,Artists Paintpots,Ashton,Hotspring,199,93 1489 | 44.69,-110.384,Hot Springs on Bog Creek,Ashton,Hotspring,199,93 1490 | 44.526,-110.835,Excelsior Geyser Crater,Ashton,Hotspring,199,93 1491 | 44.418,-110.805,Lone Star Geyser,Ashton,Hotspring,199,93 1492 | 44.309,-110.654,Hot Springs on Lewis Lake,Ashton,Hotspring,199,93 1493 | 44.469,-110.828,Solitary Geyser,Ashton,Hotspring,198,92 1494 | 44.433,-110.813,Hot Springs,Ashton,Hotspring,H,H 1495 | 44.766,-110.3,Hot Springs,Ashton,Hotspring,H,H 1496 | 44.61,-110.438,Hot Springs,Ashton,Hotspring,H,H 1497 | 44.607,-110.617,Hot Springs East of Mary Lake,Ashton,Hotspring,H,H 1498 | 44.601,-110.632,Gas Vent East of Mary Lake,Ashton,Hotspring,H,H 1499 | 44.595,-110.622,Gas Vents Southeast of Mary Lake,Ashton,Hotspring,H,H 1500 | 44.572,-110.691,Hot Springs,Ashton,Hotspring,H,H 1501 | 44.553,-110.301,Beach Springs,Ashton,Hotspring,H,H 1502 | 44.551,-110.85,Springs on Fairy Creek,Ashton,Hotspring,H,H 1503 | 44.616,-110.616,Highland Hot Springs,Ashton,Hotspring,H,H 1504 | 44.438,-110.977,Hot Springs on Continental Divide,Ashton,Hotspring,H,H 1505 | 44.617,-110.432,Mud Geysers,Ashton,Hotspring,H,H 1506 | 44.404,-110.824,Hot Springs on Upper Firehole Rive,Ashton,Hotspring,H,H 1507 | 44.498,-109.193,Buffalo Bill Reservoir Springs,Cody,Hotspring,W,W 1508 | 44.495,-109.222,Buffalo Bill Reservoir Springs,Cody,Hotspring,W,W 1509 | 44.482,-109.204,Buffalo Bill Reservoir Springs,Cody,Hotspring,W,W 1510 | 44.841,-110.167,"Hot, on Lamar River",Ashton,Hotspring,W,W 1511 | 44.734,-110.029,Hot Springs,Ashton,Hotspring,W,W 1512 | 44.708,-110.471,Warm Spring,Ashton,Hotspring,W,W 1513 | 44.701,-110.036,Hot Springs,Ashton,Hotspring,W,W 1514 | 44.508,-110.832,Midway Picnic Ground,Ashton,Hotspring,H,H 1515 | 44.715,-110.555,Gas Vents,Ashton,Hotspring,H,H 1516 | 44.563,-110.834,River Group,Ashton,Hotspring,205,96 1517 | 44.544,-110.788,"Black Warrior Group, Shelf Spring",Ashton,Hotspring,205,96 1518 | 44.115,-110.684,Huckleberry Hot Springs,Ashton,Hotspring,B,B 1519 | 44.842,-110.732,Apollinaris Spring,Ashton,Hotspring,H,H 1520 | 44.825,-110.675,Gas Vents at Horseshoe Hill,Ashton,Hotspring,H,H 1521 | 44.781,-110.738,Steam Vents at Roaring Mountain,Ashton,Hotspring,H,H 1522 | 44.743,-110.242,Hot Spring Basin Group,Ashton,Hotspring,198,92 1523 | 44.752,-110.256,Hot Spring,Ashton,Hotspring,H,H 1524 | 44.612,-110.618,Gas Vent,Ashton,Hotspring,H,H 1525 | 44.741,-110.699,Gas Vent,Ashton,Hotspring,H,H 1526 | 44.566,-110.871,"Flat Cone Spring, Steep Cone",Ashton,Hotspring,205,96 1527 | 44.711,-110.468,Hot Springs,Ashton,Hotspring,H,H 1528 | 44.708,-110.461,Forest Springs,Ashton,Hotspring,H,H 1529 | 44.672,-110.236,Hot Springs,Ashton,Hotspring,H,H 1530 | 44.667,-110.282,Hot Springs,Ashton,Hotspring,H,H 1531 | 44.656,-110.572,Violet Springs,Ashton,Hotspring,H,H 1532 | 44.642,-110.238,Hot Spring,Ashton,Hotspring,H,H 1533 | 44.634,-110.234,The Mudkettles,Ashton,Hotspring,H,H 1534 | 44.634,-110.226,The Mushpots,Ashton,Hotspring,H,H 1535 | 44.532,-110.874,"Imperial Geyser, Spray Geyser",Ashton,Hotspring,192,89 1536 | 42.545,-106.725,Alcova Hot Springs,Casper,Hotspring,129,54 1537 | 42.75,-109.616,Steele Hot Springs,Lander,Hotspring,102,39 1538 | 43.37,-110.445,Granite Hot Spring,Driggs,Hotspring,106,41 1539 | 43.008,-108.835,Washakie Mineral Hot Springs,Thermopolis,Hotspring,111,44 1540 | 43.907,-110.198,North Buffalo Fork Springs,Driggs,Hotspring,113,45 1541 | 43.365,-110.443,Granite Falls Hot Springs,Driggs,Hotspring,112,45 1542 | 42.817,-110.997,Johnson Springs,Preston,Hotspring,115,46 1543 | 44.723,-110.358,Hot Spring on Moss Creek,Ashton,Hotspring,115,46 1544 | 44.681,-110.326,Hot Springs on Upper Sour Creek,Ashton,Hotspring,194,90 1545 | 41.45,-106.804,Saratoga Hot Springs,Rawlins,Hotspring,129,54 1546 | 44.671,-110.786,Secret Valley Hot Springs,Ashton,Hotspring,95,35 1547 | 44.625,-110.433,Mud Volcano,Ashton,Hotspring,131,55 1548 | 43.654,-108.194,Thermopolis Hot Springs,Thermopolis,Hotspring,133,56 1549 | 44.985,-110.689,Hot River,Ashton,Hotspring,136,58 1550 | 44.588,-110.341,Ebro Springs,Ashton,Hotspring,136,58 1551 | 44.55,-110.805,Fountain Paint Pot,Ashton,Hotspring,136,58 1552 | 44.169,-110.583,Snake Hot Springs,Ashton,Hotspring,136,58 1553 | 44.157,-110.699,Crawfish Creek Hot Springs,Ashton,Hotspring,136,58 1554 | 44.165,-110.723,Crawfish Creek Hot Springs,Ashton,Hotspring,138,59 1555 | 44.711,-110.741,Chocolate Pots,Ashton,Hotspring,124,51 1556 | 43.56,-109.732,Geyser (Warm Spring Creek Springs),Thermopolis,Hotspring,84,29 1557 | 43.489,-109.605,Jakeys Fork Spring,Thermopolis,Hotspring,68,20 1558 | 44.749,-108.188,Little Sheep Mountain Spring,Cody,Hotspring,68,20 1559 | 42.249,-104.781,Warm Springs (Immigrants Washtub),Torrington,Hotspring,70,21 1560 | 44.608,-108.138,Sheep Mountain Springs,Cody,Hotspring,70,21 1561 | 43.583,-108.213,Wind River Canyon Spring,Thermopolis,Hotspring,72,22 1562 | 42.702,-107.105,Horse Creek Springs,Casper,Hotspring,75,24 1563 | 44.511,-109.156,Needle Hot Springs,Cody,Hotspring,75,24 1564 | 43.52,-109.669,Little Warm Spring,Thermopolis,Hotspring,77,25 1565 | 43.3,-110.775,Astoria Mineral Hot Springs,Driggs,Hotspring,99,37 1566 | 43.543,-110.741,Abercrombie Warm Springs,Driggs,Hotspring,81,27 1567 | 44.513,-109.115,De Maris Springs,Cody,Hotspring,97,36 1568 | 42.665,-105.394,Douglas Hot Springs,Torrington,Hotspring,86,30 1569 | 43.471,-110.835,Boyles Hill Springs,Driggs,Hotspring,86,30 1570 | 43.282,-110.019,Kendall Warm Spring,Driggs,Hotspring,86,30 1571 | 44.662,-110.768,Iron Spring,Ashton,Hotspring,86,30 1572 | 42.492,-108.172,Sweetwater Station Warm Springs,Lander,Hotspring,90,32 1573 | 44.742,-110.579,Wolf Lake Springs,Ashton,Hotspring,91,33 1574 | 44.513,-109.129,Shoshone Hot Springs,Cody,Hotspring,95,35 1575 | 42.828,-110.999,Auburn Hot Springs,Preston,Hotspring,144,62 1576 | 43.639,-110.615,Kelly Warm Spring,Driggs,Hotspring,81,27 1577 | 44.532,-110.796,Five Sisters Springs,Ashton,Hotspring,192,89 1578 | 44.582,-110.314,Vermilion Springs,Ashton,Hotspring,140,60 1579 | 44.521,-110.275,Butte Springs,Ashton,Hotspring,187,86 1580 | 44.478,-110.867,Hillside Springs,Ashton,Hotspring,187,86 1581 | 44.752,-110.418,Hot Springs at Sevenmile Hole,Ashton,Hotspring,189,87 1582 | 44.401,-110.936,Hot Springs on Continental Divide,Ashton,Hotspring,189,87 1583 | 44.769,-110.269,Rainbow Springs,Ashton,Hotspring,190,88 1584 | 44.628,-110.433,Sulphur Caldron,Ashton,Hotspring,190,88 1585 | 44.702,-110.767,Sylvan Springs,Ashton,Hotspring,192,89 1586 | 44.529,-110.791,White Creek Group,Ashton,Hotspring,185,85 1587 | 44.564,-110.869,Queens Laundry,Ashton,Hotspring,192,89 1588 | 44.697,-110.375,Hot Springs on Bog Creek,Ashton,Hotspring,185,85 1589 | 44.285,-110.9,Bechler River Hot Springs,Ashton,Hotspring,194,90 1590 | 44.797,-110.725,Amphitheater Springs,Ashton,Hotspring,196,91 1591 | 44.766,-110.429,Washburn Hot Springs,Ashton,Hotspring,196,91 1592 | 44.756,-110.308,Coffee Pot Hot Springs,Ashton,Hotspring,196,91 1593 | 44.591,-110.321,Hot Springs at Sulphur Hills,Ashton,Hotspring,196,91 1594 | 44.556,-110.832,River Group,Ashton,Hotspring,196,91 1595 | 44.422,-110.574,West Thumb Geyser Basin,Ashton,Hotspring,196,91 1596 | 44.786,-110.74,Semi-Centennial Geyser,Ashton,Hotspring,198,92 1597 | 44.653,-110.482,Sulphur Springs,Ashton,Hotspring,194,89 1598 | 44.41,-110.953,Summit Lake Hot Springs,Ashton,Hotspring,162,72 1599 | 44.761,-110.73,Bijah Spring,Ashton,Hotspring,198,92 1600 | 44.781,-110.699,Whiterock Springs,Ashton,Hotspring,144,62 1601 | 44.739,-110.258,Hot Spring Basin Group,Ashton,Hotspring,153,67 1602 | 44.754,-110.403,Sevenmile Hole,Ashton,Hotspring,154,68 1603 | 44.276,-110.636,Hot Springs on Lewis Lake,Ashton,Hotspring,154,68 1604 | 44.598,-110.236,Hot Springs In Pelican Valley,Ashton,Hotspring,156,69 1605 | 44.142,-110.656,South Entrance Hot Springs,Ashton,Hotspring,156,69 1606 | 44.753,-110.724,"Roadside Springs, Frying Pan Sprin",Ashton,Hotspring,158,70 1607 | 44.733,-110.712,Horseshoe Spring,Ashton,Hotspring,187,86 1608 | 43.958,-110.696,Jackson Lake Hot Springs,Driggs,Hotspring,162,72 1609 | 44.187,-110.726,Hot Springs,Ashton,Hotspring,142,61 1610 | 44.967,-110.708,Mammoth Hot Springs,Ashton,Hotspring,163,73 1611 | 44.475,-110.843,Morning Glory Pool,Ashton,Hotspring,163,73 1612 | 44.204,-110.486,Hot Springs on Upper Snake River,Ashton,Hotspring,167,75 1613 | 44.299,-110.517,"Heart Lake Geyser Basin, Middle Gr",Ashton,Hotspring,174,79 1614 | 44.671,-110.29,Ponuntpa Springs Group,Ashton,Hotspring,180,82 1615 | 44.244,-111.022,Boundary Creek Hot Springs,Ashton,Hotspring,181,83 1616 | 44.414,-110.817,"Lone Star Geyser Basin, Footbridge",Ashton,Hotspring,183,84 1617 | 44.722,-110.701,Echinus Geyser,Ashton,Hotspring,185,85 1618 | 44.461,-110.854,Emerald Pool,Ashton,Hotspring,158,70 1619 | ;;;; 1620 | run; -------------------------------------------------------------------------------- /src/app/app-routing.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core' 2 | import { Routes, RouterModule } from '@angular/router' 3 | import { HomePageComponent } from './home-page/home-page.component' 4 | import { DataComponent } from './data/data.component' 5 | import { UploaderComponent } from './uploader/uploader.component' 6 | 7 | const routes: Routes = [ 8 | { path: '', redirectTo: 'homepage', pathMatch: 'full' }, 9 | { path: 'homepage', component: HomePageComponent }, 10 | { path: 'data', component: DataComponent }, 11 | { path: 'uploader', component: UploaderComponent } 12 | ] 13 | 14 | @NgModule({ 15 | imports: [ 16 | RouterModule.forRoot(routes, { 17 | useHash: true 18 | }) 19 | ], 20 | exports: [RouterModule] 21 | }) 22 | export class AppRoutingModule {} 23 | -------------------------------------------------------------------------------- /src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/app/app.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sasjs/angular-seed-app/0bc10d71dc83d01a4574541b757701c285aa02f2/src/app/app.component.scss -------------------------------------------------------------------------------- /src/app/app.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { TestBed, waitForAsync } from '@angular/core/testing' 2 | import { RouterTestingModule } from '@angular/router/testing' 3 | import { AppComponent } from './app.component' 4 | 5 | describe('AppComponent', () => { 6 | beforeEach(waitForAsync(() => { 7 | TestBed.configureTestingModule({ 8 | imports: [RouterTestingModule], 9 | declarations: [AppComponent] 10 | }).compileComponents() 11 | })) 12 | 13 | it('should create the app', () => { 14 | const fixture = TestBed.createComponent(AppComponent) 15 | const app = fixture.componentInstance 16 | expect(app).toBeTruthy() 17 | }) 18 | 19 | it(`should have as title 'angular-seed-app'`, () => { 20 | const fixture = TestBed.createComponent(AppComponent) 21 | const app = fixture.componentInstance 22 | }) 23 | 24 | it('should render title', () => { 25 | const fixture = TestBed.createComponent(AppComponent) 26 | fixture.detectChanges() 27 | const compiled = fixture.nativeElement 28 | expect(compiled.querySelector('.content span').textContent).toContain( 29 | 'angular-seed-app app is running!' 30 | ) 31 | }) 32 | }) 33 | -------------------------------------------------------------------------------- /src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core' 2 | import { StateService } from './state.service' 3 | import { SasService } from './sas.service' 4 | import { Router } from '@angular/router' 5 | 6 | @Component({ 7 | selector: 'app-root', 8 | templateUrl: './app.component.html', 9 | styleUrls: ['./app.component.scss'] 10 | }) 11 | export class AppComponent implements OnInit { 12 | constructor(private sasService: SasService) { 13 | sasService.fetchStartupData() 14 | } 15 | 16 | ngOnInit() {} 17 | } 18 | -------------------------------------------------------------------------------- /src/app/app.module.ts: -------------------------------------------------------------------------------- 1 | import { BrowserModule } from '@angular/platform-browser' 2 | import { NgModule } from '@angular/core' 3 | import { AppRoutingModule } from './app-routing.module' 4 | import { AppComponent } from './app.component' 5 | import { BrowserAnimationsModule } from '@angular/platform-browser/animations' 6 | import { FormsModule } from '@angular/forms' 7 | import { DataComponent } from './data/data.component' 8 | import { HomePageComponent } from './home-page/home-page.component' 9 | import { UploaderComponent } from './uploader/uploader.component' 10 | import { NgxSasjsModule } from '@sasjs/ngx-sasjs' 11 | import { SasjsUiComponent } from './sasjs-ui/sasjs-ui.component' 12 | 13 | @NgModule({ 14 | declarations: [ 15 | AppComponent, 16 | DataComponent, 17 | HomePageComponent, 18 | UploaderComponent, 19 | SasjsUiComponent 20 | ], 21 | imports: [ 22 | BrowserModule, 23 | AppRoutingModule, 24 | BrowserAnimationsModule, 25 | FormsModule, 26 | NgxSasjsModule 27 | ], 28 | providers: [], 29 | bootstrap: [AppComponent] 30 | }) 31 | export class AppModule {} 32 | -------------------------------------------------------------------------------- /src/app/data/data.component.html: -------------------------------------------------------------------------------- 1 |
2 | Loading... 3 | 4 |
5 | 13 | 14 | 23 | 30 |
31 | 32 | Loading... 33 |

No Data in Response

34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 |
LATITUDELONGITUDENAMEAREATYPEFARENHEITCELSIUS
{{ spring.LATITUDE }}{{ spring.LONGITUDE }}{{ spring.NAME }}{{ spring.AREA }}{{ spring.TYPE }}{{ spring.FARENHEIT }}{{ spring.CELSIUS }}
59 |
60 | -------------------------------------------------------------------------------- /src/app/data/data.component.scss: -------------------------------------------------------------------------------- 1 | .spinner { 2 | margin-top: 15px; 3 | } 4 | 5 | .areas-select-wrapper { 6 | ::ng-deep { 7 | clr-select-container { 8 | margin-top: 0; 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /src/app/data/data.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing' 2 | 3 | import { DataComponent } from './data.component' 4 | 5 | describe('DataComponent', () => { 6 | let component: DataComponent 7 | let fixture: ComponentFixture 8 | 9 | beforeEach(waitForAsync(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [DataComponent] 12 | }).compileComponents() 13 | })) 14 | 15 | beforeEach(() => { 16 | fixture = TestBed.createComponent(DataComponent) 17 | component = fixture.componentInstance 18 | fixture.detectChanges() 19 | }) 20 | 21 | it('should create', () => { 22 | expect(component).toBeTruthy() 23 | }) 24 | }) 25 | -------------------------------------------------------------------------------- /src/app/data/data.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core' 2 | import { StateService } from '../state.service' 3 | import { SasService } from '../sas.service' 4 | 5 | @Component({ 6 | selector: 'app-data', 7 | templateUrl: './data.component.html', 8 | styleUrls: ['./data.component.scss'] 9 | }) 10 | export class DataComponent implements OnInit { 11 | public areas: any[] = [] 12 | public selectedArea: any = undefined 13 | public springs: any[] = [] 14 | public springsLoading: boolean = false 15 | public noData: boolean = false 16 | 17 | public displayedColumns: string[] = [ 18 | 'LATITUDE', 19 | 'LONGITUDE', 20 | 'NAME', 21 | 'AREA', 22 | 'TYPE', 23 | 'FARENHEIT', 24 | 'CELSIUS' 25 | ] 26 | 27 | constructor( 28 | private stateService: StateService, 29 | private sasService: SasService 30 | ) {} 31 | 32 | ngOnInit(): void { 33 | this.stateService.startupData.subscribe((data: any) => { 34 | this.areas = data.areas 35 | // Example to access another table from same response: 36 | // data.secondTable 37 | }) 38 | } 39 | 40 | public submitData() { 41 | this.springsLoading = true //Request started we set variable to `true` 42 | let data = { areas: [{ area: this.selectedArea }] } 43 | 44 | this.sasService.request('common/getdata', data).then((res: any) => { 45 | this.springs = res['springs'] 46 | this.springsLoading = false // Request is finished, success or fail anyway we set variable to false 47 | 48 | if (!res || !res['springs'] || res['spring']?.length < 1) { 49 | this.noData = true 50 | } else { 51 | this.noData = false 52 | } 53 | }) 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/app/helper.service.spec.ts: -------------------------------------------------------------------------------- 1 | import { TestBed } from '@angular/core/testing' 2 | 3 | import { HelperService } from './helper.service' 4 | 5 | describe('HelperService', () => { 6 | let service: HelperService 7 | 8 | beforeEach(() => { 9 | TestBed.configureTestingModule({}) 10 | service = TestBed.inject(HelperService) 11 | }) 12 | 13 | it('should be created', () => { 14 | expect(service).toBeTruthy() 15 | }) 16 | }) 17 | -------------------------------------------------------------------------------- /src/app/helper.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core' 2 | 3 | @Injectable({ 4 | providedIn: 'root' 5 | }) 6 | export class HelperService { 7 | constructor() {} 8 | 9 | downloadTextFile(filename: string, text: string) { 10 | let element = document.createElement('a') 11 | element.setAttribute( 12 | 'href', 13 | 'data:text/plain;charset=utf-8,' + encodeURIComponent(text) 14 | ) 15 | element.setAttribute('download', filename + '.txt') 16 | 17 | element.style.display = 'none' 18 | document.body.appendChild(element) 19 | 20 | element.click() 21 | 22 | document.body.removeChild(element) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/app/home-page/home-page.component.html: -------------------------------------------------------------------------------- 1 |
2 |

Welcome to the SASjs Seed App for Angular!

3 |
4 | App Source Code: 5 | 10 | https://github.com/sasjs/angular-seed-app 11 | 12 |
13 |
14 |
15 | SASjs Source Code: 16 | 21 | https://github.com/sasjs/adapter 22 | 23 |
24 |
25 |
26 | SASjs on NPM: 27 | 32 | https://www.npmjs.com/search?q=%40sasjs 33 | 34 |
35 |
36 | -------------------------------------------------------------------------------- /src/app/home-page/home-page.component.scss: -------------------------------------------------------------------------------- 1 | .home-page { 2 | padding: 16px; 3 | height: calc(100vh - 97px); 4 | display: flex; 5 | justify-content: center; 6 | align-items: center; 7 | flex-direction: column; 8 | } 9 | -------------------------------------------------------------------------------- /src/app/home-page/home-page.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing' 2 | 3 | import { HomePageComponent } from './home-page.component' 4 | 5 | describe('HomePageComponent', () => { 6 | let component: HomePageComponent 7 | let fixture: ComponentFixture 8 | 9 | beforeEach(waitForAsync(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [HomePageComponent] 12 | }).compileComponents() 13 | })) 14 | 15 | beforeEach(() => { 16 | fixture = TestBed.createComponent(HomePageComponent) 17 | component = fixture.componentInstance 18 | fixture.detectChanges() 19 | }) 20 | 21 | it('should create', () => { 22 | expect(component).toBeTruthy() 23 | }) 24 | }) 25 | -------------------------------------------------------------------------------- /src/app/home-page/home-page.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core' 2 | 3 | @Component({ 4 | selector: 'app-home-page', 5 | templateUrl: './home-page.component.html', 6 | styleUrls: ['./home-page.component.scss'] 7 | }) 8 | export class HomePageComponent implements OnInit { 9 | constructor() {} 10 | 11 | ngOnInit(): void {} 12 | } 13 | -------------------------------------------------------------------------------- /src/app/sas.service.spec.ts: -------------------------------------------------------------------------------- 1 | import { TestBed } from '@angular/core/testing' 2 | 3 | import { SasService } from './sas.service' 4 | 5 | describe('SasService', () => { 6 | let service: SasService 7 | 8 | beforeEach(() => { 9 | TestBed.configureTestingModule({}) 10 | service = TestBed.inject(SasService) 11 | }) 12 | 13 | it('should be created', () => { 14 | expect(service).toBeTruthy() 15 | }) 16 | }) 17 | -------------------------------------------------------------------------------- /src/app/sas.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core' 2 | 3 | import SASjs, { UploadFile } from '@sasjs/adapter' 4 | import { StateService } from './state.service' 5 | 6 | @Injectable({ 7 | providedIn: 'root' 8 | }) 9 | export class SasService { 10 | private adapter: SASjs 11 | 12 | constructor(private stateService: StateService) { 13 | let sasjsConfigInput = (window as any).sasjsConfigInput || {} 14 | 15 | this.adapter = new SASjs(sasjsConfigInput) 16 | } 17 | 18 | public fetchStartupData() { 19 | this.request('common/appinit', null).then((response: any) => { 20 | console.log(response) 21 | this.stateService.setStartupData(response) 22 | }) 23 | } 24 | 25 | public request(url: string, data: any, config?: any) { 26 | url = 'services/' + url 27 | 28 | return new Promise((resolve, reject) => { 29 | this.adapter 30 | .request(url, data, config, () => { 31 | this.stateService.setIsLoggedIn(false) 32 | }) 33 | .then( 34 | (res: any) => { 35 | if (res.login === false) { 36 | this.stateService.setIsLoggedIn(false) 37 | this.stateService.username.next('') 38 | reject(false) 39 | } 40 | 41 | if ( 42 | this.stateService.username.getValue().length < 1 && 43 | res.MF_GETUSER 44 | ) { 45 | this.stateService.username.next(res.MF_GETUSER) 46 | } 47 | 48 | if (res.status === 404) { 49 | reject({ MESSAGE: res.body || 'SAS responded with an error' }) 50 | } 51 | 52 | resolve(res) 53 | }, 54 | (err: any) => { 55 | reject(err) 56 | } 57 | ) 58 | }) 59 | } 60 | 61 | public async login(username: string, password: string) { 62 | return this.adapter 63 | .logIn(username, password) 64 | .then( 65 | (res: { isLoggedIn: boolean; userName: string }) => { 66 | console.log(res) 67 | this.stateService.setIsLoggedIn(res.isLoggedIn) 68 | 69 | this.stateService.username.next(res.userName) 70 | 71 | return res.isLoggedIn 72 | }, 73 | (err: any) => { 74 | console.error(err) 75 | this.stateService.setIsLoggedIn(false) 76 | return false 77 | } 78 | ) 79 | .catch((e: any) => { 80 | if (e === 403) { 81 | console.error('Invalid host') 82 | } 83 | return false 84 | }) 85 | } 86 | 87 | public uploadFile(sasService: string, files: UploadFile[], params?: any) { 88 | return this.adapter.uploadFile(sasService, files, params) 89 | } 90 | 91 | public logout() { 92 | this.adapter.logOut().then(() => { 93 | this.stateService.setIsLoggedIn(false) 94 | this.stateService.username.next('') 95 | }) 96 | } 97 | 98 | public getSasjsConfig() { 99 | return this.adapter.getSasjsConfig() 100 | } 101 | 102 | public getSasRequests() { 103 | return this.adapter.getSasRequests() 104 | } 105 | 106 | public setDebugState(state: boolean) { 107 | this.adapter.setDebugState(state) 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /src/app/sasjs-ui/sasjs-ui.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 10 | 11 | 12 | 17 | 23 |
24 |
25 | -------------------------------------------------------------------------------- /src/app/sasjs-ui/sasjs-ui.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing' 2 | 3 | import { SasjsUiComponent } from './sasjs-ui.component' 4 | 5 | describe('SasjsUiComponent', () => { 6 | let component: SasjsUiComponent 7 | let fixture: ComponentFixture 8 | 9 | beforeEach(async () => { 10 | await TestBed.configureTestingModule({ 11 | declarations: [SasjsUiComponent] 12 | }).compileComponents() 13 | 14 | fixture = TestBed.createComponent(SasjsUiComponent) 15 | component = fixture.componentInstance 16 | fixture.detectChanges() 17 | }) 18 | 19 | it('should create', () => { 20 | expect(component).toBeTruthy() 21 | }) 22 | }) 23 | -------------------------------------------------------------------------------- /src/app/sasjs-ui/sasjs-ui.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit, ViewEncapsulation } from '@angular/core' 2 | import { Router } from '@angular/router' 3 | import { SASjsConfig, SASjsRequest } from '@sasjs/adapter' 4 | import { NavLink, UserDropdownItem } from '@sasjs/ngx-sasjs' 5 | import { SasService } from '../sas.service' 6 | import { StateService } from '../state.service' 7 | 8 | @Component({ 9 | selector: 'app-sasjs-ui', 10 | templateUrl: './sasjs-ui.component.html', 11 | styleUrls: ['./sasjs-ui.component.scss'] 12 | }) 13 | export class SasjsUiComponent implements OnInit { 14 | public isLoggedIn: boolean = true 15 | public requestModal: boolean = false 16 | public sasjsConfig: SASjsConfig = new SASjsConfig() 17 | public sasjsRequests: SASjsRequest[] = [] 18 | public username: string = '' 19 | public loginLoading: boolean = false 20 | public logo: string = 21 | 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFUAAABVCAYAAAA49ahaAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF3mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMDItMTZUMDk6Mjk6MDhaIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0wMi0xNlQxMDowMTowMloiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDItMTZUMTA6MDE6MDJaIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg4NzQ1M2JkLWRjZWEtNGZkYi1hZWY5LTJjOTcwYzBmYTQ3OCIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjAyYzZhMWNiLTY1MzYtMWU0ZC04MWE2LTY0ODk5MzRjNWM4YSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjc2ZjNhNzIwLTU4MWQtNDU0YS1hYmIyLTE4OTg4NjgyYzkwZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NzZmM2E3MjAtNTgxZC00NTRhLWFiYjItMTg5ODg2ODJjOTBlIiBzdEV2dDp3aGVuPSIyMDIwLTAyLTE2VDA5OjI5OjA4WiIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjg4NzQ1M2JkLWRjZWEtNGZkYi1hZWY5LTJjOTcwYzBmYTQ3OCIgc3RFdnQ6d2hlbj0iMjAyMC0wMi0xNlQxMDowMTowMloiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgU8a6AAAAmVSURBVHic7ZxbrFxVGcd/38w5pxeLVGg1tSQUbCIEHjRGIybiBfACKF5qohZNQEmjGEJCNEajDyWxmuiDhhDevMR6aTQlXtoQk6ImQowKqbRoVQIoF6laK5RyLjPz92GtdfY3++yZM6ez98xQ9j/ZWfusy15r//e31ndZa45Joka5aIx7AKcjalIrQE1qBahJrQA1qRWgJrUC1KRWgJrUClCTWgFqUitATWoFqEmtADWpFaAmtQJMDdPYzMoax0rRAPKdy12nhLLCoEOROgYYgdB2j/LGMuUjwfOJ1Kakjpm1ASTNAC8lvMPTZnYM6KS6jJFYG0bkRzj9F0mStAW4FngbcC4wDRwH/gj80Mz2xnrN9AEGRWm7IJJO+RoRmm6sH5P0D/XHtySdGes3ez92KYbhoouXCSfVE7rLEbcQr1a8FiTNufLdkhr5ZyyHFwKpi+aepC84wmYldXpIqSd2e2w+clIn1U5dXOslXQnsjPnzwKo+7WaAuXj/npi2WQGxZWBSSW2YWUfSGuDzMW+OQJpYaqN6pLJXSDo7Pa+aYRZjEkk1MgP+LcAb4v20Kx/0OWPxTiaRVMjszVfHtM3gBKUP8gjwn1zeSDCppCYCn47pcu5nKmuTrbk/NTNFK2CkjsAkkiqycf0ceILgNXV6tggfoUNG3n5gN4CZNRixpE6qSWWSLI7vGknPRDOpFdO8SdV25tSfJG2NbVfkhpdlUk0qqdBtp253RLZzhCYnQJIOS7o4tllxXKMsUidx+id0yDT+PcBRl5+wQFgamsDdwFVmdkjSlJm1RjbSHCaNVCMQNEUgNEnbOcAZuboLZKTfAbzbzB6RND1OQmEyQn+JSBEUjdfUCzFtA2vjfdLm08BJ4NNmdjtAJHSBMWOcpPqA86JkSXoJsBE4C1hHGON7XbtOzHsKuN7M9sX8QQj1DsFQuwT9MC5SU3w0xUhfD1wBvBY4D9gAvIjglnpf37uot3lCyaS6FxqED6LYZyPGg0snduSkygWPJb0ZuAV4K9n0Xg4pOPLnmM4QAi29YLHPVuxzFTBvZknhebe4FIxUUUWt3JZkkm4FfgFcTUZoh7AU5C+v8RMBqc08QTiK3qUhCTNrSVov6SvAb4BfSrrePa9cHkZop07F/hqSvllgZ7bd1QudWF+SfhzXX49pgiQn5ZfecZOk/QXP+0QsN2K4sYxrVKT6F7zdvdR8TNvxvpeBnyc24UFJX5f0plx/3nG4TtLf3XNbkp6Nf98raV366M8nUr3L+RlHSJK4eRWjV3S/qKwl6TZJ5/mOJX3Q1fEfbTamByW9LFafHoYLf1W+m6poO0p6B/ATwhRtkVkASVneRwignABuAjYT1tJecdFk13YIygrgUYJndYTgLOwAziasu0n7E/tfC+w1s/fFvKakcqJZw3yRAZDW0Y2SHnAS49fOhyXtkHSWG1NaIpZbYxO8/5/HvLJZ4TEr6Z2J0GG58FeVJpWRGfWfBS6mW/KMoP0/aWZ/iy+VDPh/xXZeuvphiiC5CzFNs0Bkdu5J4DBwLD7/B2a2P5YN0sfAqJLUKWBB0uuAZL4kf92AO4HtZnZSwdRqOJ897S0NMh0WDXqyYz9d2h/4PvAN4EFgzszmXFnpdmpVpDbIPJzrgPWEjbtmLDsAfCQSusrM5nGuKsGrgkBYPxuyX/lfYz97zOxAjzFW4qpWRWoT6Eg6n+B++v5+C3zYzE7E6T7n2rQlbQIuiHn9dk4ToS3gIUIs4GHgEHA/8ICZHXX1p8ikMim5ajDMgtwHM/HZl+WUw92SXh7L8h90OuZ/wNUvUj4dl39M0jZJ6xQOrBWhyYD7/mUpqqpITVp/s6SfSXpM0pcUDe0CQr2xvscRWmSrdlz+zQV9p+hXkxW6n5NOKsoM/tXqNpeKpCZJ9hslnYiEFZlBPv+wpPWuvVdSp4SySK1M+8ftYTOzWWA23jcKjjc2yKJMnyKE/JJz0A/7zOx4vM8HXcaKSqNUZpYiQM3ofS1RDklyJV1FdzC6lxeVBOGgqzdR/15jFKG/tB9f9OJT0YWdAm4kKKsUyiuq7/P+GdMZRnwAbTmMe+MvSePVQHIZG7myfP0k7dtiOge0FE6iNHu0GynGSWqTzEFIZ0n7SSlkmh1gh6QDkj4k6cwYyW9HBTpWyR3nmf9pght7KXAXsJqgcLzyLDLQ0xrqiTsE7AV2m9kReGGe+V801CXtjSaSj6umYHIvpGM++VjsvyV9VdKG+OzTy04tQJq6ntAbc0RJS43+xyX9RcGBOFlA8HMF5N4n6cLYx8iPp1cx/b0n4wMWPpqEpG3Ad4A1ZNPeHyU/CHwN+DUhbLeGELh+FWH39VLC76jSs5Ntm44L3QtcGW3ZKboDNoUYhoslDypRUpeVCkkbJH1O2ZZGkjIvoXvkvLAez7lQ0k6FILeX9vSLFUm6xTVZVgFMnKQqeEzpoMJWYBPwYoICWk0I/20lRK0uis2ShCYpbgLfA66NHtlMVDYpWmWuXep3C3AzcANhiyRJ7QzwO+AyM3uGAaR1oiRVUSFI2irpuwq7l8+q91aIjzR1nLTepfDjCdQ76gSB3Gm59VLS+yUdz0n/rKRLYpVBZtHEKKpEaEPSvh4kevLmHNltZcvAYUnnDEBoHmscKSnC5X9rdYP7EH2XgLJILSOgkgb6GuDyeP8cQVnI1fGGewoSpz2kp4CPmtljCoHrfsd48ph190di6ndqX+nKmwygsIZFmVGqi8jOi66O6SDewRHg42b2B7kzT6eIFA/w3tq5MZWktmWKoLIgzLCk+gjRZpffIhD8OPBt4EnCNF1LCO1NEyTsIUII7wkFRddldg0Iv3v6qBtXmhWXKGxF/8rMTvYYe7kYck1dHLxCZF/qNo1uGnAMQwWXybZitig74uMV5azCEaE7Jb3Ltevqs6w1tUxSd8YXSF7P/Yo/ESdbFvJIW8nDRpb8dsyXlaGtpTsIRyWlWdU1U8siddgold/tfDKmSRvvMrP/KWjyFtkH8Bf0jrWuBB0yk2kXYckh9pFf4n4P/NeNv3SUYfynreULCC7lRuBWM/tiqsaIIvPqPlB8BfB2wnb3GQSL5B7gDjM7qnCSupNrX8o4yiB1kTRJlwPrzexHsco4/pfJkj4lrY57ZenvJYTG/FIGUGU8ddBzUFUg7QKkU4EJaYko/NBlkVr2bmo6BZJ/mVGj4/pPlkW1p1IchpLUGsUY98bfaYma1ApQk1oBalIrQE1qBahJrQA1qRWgJrUC1KRWgJrUClCTWgFqUivA/wFN68Swq76GyQAAAABJRU5ErkJggg==' 22 | 23 | public navLinks: NavLink[] = [ 24 | { label: 'Homepage', routerLink: '/homepage' }, 25 | { label: 'Data', routerLink: '/data' }, 26 | { label: 'File upload', routerLink: '/uploader' } 27 | ] 28 | public userDropdownItems: UserDropdownItem[] = [ 29 | { label: 'SAS Logs', clickCallback: () => this.openSasLogs() }, 30 | { label: 'Documentation', clickCallback: () => this.openDocs() }, 31 | { label: 'Log out', clickCallback: () => this.logout() } 32 | ] 33 | 34 | constructor( 35 | private stateService: StateService, 36 | private sasService: SasService, 37 | private router: Router 38 | ) { 39 | sasService.fetchStartupData() 40 | } 41 | 42 | ngOnInit() { 43 | this.getSasjsConfig() 44 | 45 | this.stateService.isUserLoggedIn.subscribe((isLoggedIn: boolean) => { 46 | this.isLoggedIn = isLoggedIn 47 | }) 48 | 49 | this.stateService.username.subscribe((username: string) => { 50 | this.username = username 51 | }) 52 | } 53 | 54 | public openSasLogs() { 55 | this.requestModal = true 56 | } 57 | 58 | public openChange(open: boolean) { 59 | if (open) this.sasjsRequests = this.sasService.getSasRequests() 60 | } 61 | 62 | public openDocs() { 63 | window.location.replace(`${window.location.pathname}/docs`) 64 | } 65 | 66 | public debugChanged() { 67 | if (this.sasjsConfig) { 68 | this.sasService.setDebugState(this.sasjsConfig.debug) 69 | } 70 | } 71 | 72 | public getSasjsConfig() { 73 | this.sasjsConfig = this.sasService.getSasjsConfig() 74 | } 75 | 76 | public login(credentials: { username: string; password: string }) { 77 | this.loginLoading = true 78 | 79 | this.sasService.login(credentials.username, credentials.password).then( 80 | (success: any) => { 81 | this.loginLoading = false 82 | 83 | if (!success) { 84 | alert('Wrong username or password, please try again.') 85 | } 86 | }, 87 | (err: any) => { 88 | this.loginLoading = false 89 | } 90 | ) 91 | } 92 | 93 | public logout() { 94 | this.sasService.logout() 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /src/app/state.service.spec.ts: -------------------------------------------------------------------------------- 1 | import { TestBed } from '@angular/core/testing' 2 | 3 | import { StateService } from './state.service' 4 | 5 | describe('StateService', () => { 6 | let service: StateService 7 | 8 | beforeEach(() => { 9 | TestBed.configureTestingModule({}) 10 | service = TestBed.inject(StateService) 11 | }) 12 | 13 | it('should be created', () => { 14 | expect(service).toBeTruthy() 15 | }) 16 | }) 17 | -------------------------------------------------------------------------------- /src/app/state.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core' 2 | import { BehaviorSubject } from 'rxjs' 3 | 4 | export interface AppState { 5 | isUserLoggedIn: boolean 6 | startupData: any 7 | } 8 | 9 | @Injectable({ 10 | providedIn: 'root' 11 | }) 12 | export class StateService { 13 | private isUserLoggedIn$ = new BehaviorSubject(true) 14 | public isUserLoggedIn = this.isUserLoggedIn$.asObservable() 15 | 16 | private startupData$ = new BehaviorSubject([]) 17 | public startupData = this.startupData$.asObservable() 18 | 19 | public username = new BehaviorSubject('') 20 | 21 | public setIsLoggedIn(value: boolean) { 22 | this.isUserLoggedIn$.next(value) 23 | } 24 | 25 | public setStartupData(data: any) { 26 | this.startupData$.next(data) 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/app/uploader/uploader.component.html: -------------------------------------------------------------------------------- 1 |
2 |

3 | Choose file to be uploaded to SAS 4 |

5 |
6 | 7 |
8 | 9 |
10 | 11 |
12 |
13 | 21 |
22 | Required 23 |
24 |
25 | 26 |
27 | 34 |
35 | 36 | 37 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /src/app/uploader/uploader.component.scss: -------------------------------------------------------------------------------- 1 | .wrapper { 2 | margin: 0 auto; 3 | width: 330px; 4 | display: flex; 5 | flex-direction: column; 6 | align-items: center; 7 | } 8 | 9 | .uploader { 10 | width: 100%; 11 | display: flex; 12 | justify-content: center; 13 | 14 | margin-top: 10px; 15 | 16 | input { 17 | width: 230px; 18 | } 19 | } -------------------------------------------------------------------------------- /src/app/uploader/uploader.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing' 2 | 3 | import { UploaderComponent } from './uploader.component' 4 | 5 | describe('UploaderComponent', () => { 6 | let component: UploaderComponent 7 | let fixture: ComponentFixture 8 | 9 | beforeEach(async(() => { 10 | TestBed.configureTestingModule({ 11 | declarations: [UploaderComponent] 12 | }).compileComponents() 13 | })) 14 | 15 | beforeEach(() => { 16 | fixture = TestBed.createComponent(UploaderComponent) 17 | component = fixture.componentInstance 18 | fixture.detectChanges() 19 | }) 20 | 21 | it('should create', () => { 22 | expect(component).toBeTruthy() 23 | }) 24 | }) 25 | -------------------------------------------------------------------------------- /src/app/uploader/uploader.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core' 2 | import { UploadFile } from '@sasjs/adapter' 3 | import { SasService } from '../sas.service' 4 | 5 | @Component({ 6 | selector: 'app-uploader', 7 | templateUrl: './uploader.component.html', 8 | styleUrls: ['./uploader.component.scss'] 9 | }) 10 | export class UploaderComponent implements OnInit { 11 | public selectedFiles: any[] = [] 12 | public uploadUrl: string = 'services/files/upload' 13 | public uploadPath: string = '' 14 | public responseModalMessage: string | null = null 15 | public uploadLoading: boolean = false 16 | 17 | constructor(private sasService: SasService) {} 18 | 19 | ngOnInit(): void {} 20 | 21 | submit() { 22 | console.log('change') 23 | 24 | if (this.selectedFiles.length < 1) return 25 | 26 | this.uploadFiles() 27 | } 28 | 29 | onFileChange(event: any) { 30 | this.selectedFiles = event.target.files 31 | } 32 | 33 | uploadFiles() { 34 | this.uploadLoading = true 35 | 36 | let filesToUpload: UploadFile[] = [] 37 | 38 | for (let file of this.selectedFiles) { 39 | filesToUpload.push({ 40 | file: file, 41 | fileName: file.name 42 | }) 43 | } 44 | console.log('this.uploadPath', this.uploadPath) 45 | this.sasService 46 | .uploadFile(this.uploadUrl, filesToUpload, { path: this.uploadPath }) 47 | .then( 48 | (res: any) => { 49 | console.log('res', res) 50 | ;(this.responseModalMessage = res), (this.uploadLoading = false) 51 | }, 52 | (err: any) => { 53 | console.error(err) 54 | ;(this.responseModalMessage = err), (this.uploadLoading = false) 55 | } 56 | ) 57 | } 58 | 59 | typeof(item: any) { 60 | return typeof item 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sasjs/angular-seed-app/0bc10d71dc83d01a4574541b757701c285aa02f2/src/assets/.gitkeep -------------------------------------------------------------------------------- /src/assets/angular-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sasjs/angular-seed-app/0bc10d71dc83d01a4574541b757701c285aa02f2/src/assets/angular-logo.png -------------------------------------------------------------------------------- /src/assets/logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sasjs/angular-seed-app/0bc10d71dc83d01a4574541b757701c285aa02f2/src/assets/logo-white.png -------------------------------------------------------------------------------- /src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | } 4 | -------------------------------------------------------------------------------- /src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // This file can be replaced during build by using the `fileReplacements` array. 2 | // `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. 3 | // The list of file replacements can be found in `angular.json`. 4 | 5 | export const environment = { 6 | production: false 7 | } 8 | 9 | /* 10 | * For easier debugging in development mode, you can import the following file 11 | * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. 12 | * 13 | * This import should be commented out in production mode because it will have a negative impact 14 | * on performance if an error is thrown. 15 | */ 16 | // import 'zone.js/plugins/zone-error'; // Included with Angular CLI. 17 | -------------------------------------------------------------------------------- /src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sasjs/angular-seed-app/0bc10d71dc83d01a4574541b757701c285aa02f2/src/favicon.ico -------------------------------------------------------------------------------- /src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SASjs Angular Seed App 6 | 7 | 8 | 9 | 10 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic' 2 | 3 | import { AppModule } from './app/app.module' 4 | 5 | platformBrowserDynamic() 6 | .bootstrapModule(AppModule) 7 | .catch((err) => console.error(err)) 8 | -------------------------------------------------------------------------------- /src/polyfills.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * This file includes polyfills needed by Angular and is loaded before the app. 3 | * You can add your own extra polyfills to this file. 4 | * 5 | * This file is divided into 2 sections: 6 | * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. 7 | * 2. Application imports. Files imported after ZoneJS that should be loaded before your main 8 | * file. 9 | * 10 | * The current setup is for so-called "evergreen" browsers; the last versions of browsers that 11 | * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), 12 | * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. 13 | * 14 | * Learn more in https://angular.io/guide/browser-support 15 | */ 16 | 17 | /*************************************************************************************************** 18 | * BROWSER POLYFILLS 19 | */ 20 | 21 | /** IE10 and IE11 requires the following for NgClass support on SVG elements */ 22 | // import 'classlist.js'; // Run `npm install --save classlist.js`. 23 | 24 | /** 25 | * Web Animations `@angular/platform-browser/animations` 26 | * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. 27 | * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). 28 | */ 29 | // import 'web-animations-js'; // Run `npm install --save web-animations-js`. 30 | 31 | /** 32 | * By default, zone.js will patch all possible macroTask and DomEvents 33 | * user can disable parts of macroTask/DomEvents patch by setting following flags 34 | * because those flags need to be set before `zone.js` being loaded, and webpack 35 | * will put import in the top of bundle, so user need to create a separate file 36 | * in this directory (for example: zone-flags.ts), and put the following flags 37 | * into that file, and then add the following code before importing zone.js. 38 | * import './zone-flags'; 39 | * 40 | * The flags allowed in zone-flags.ts are listed here. 41 | * 42 | * The following flags will work for all browsers. 43 | * 44 | * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame 45 | * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick 46 | * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames 47 | * 48 | * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js 49 | * with the following flag, it will bypass `zone.js` patch for IE/Edge 50 | * 51 | * (window as any).__Zone_enable_cross_context_check = true; 52 | * 53 | */ 54 | 55 | /*************************************************************************************************** 56 | * Zone JS is required by default for Angular itself. 57 | */ 58 | import 'zone.js' // Included with Angular CLI. 59 | 60 | /*************************************************************************************************** 61 | * APPLICATION IMPORTS 62 | */ 63 | -------------------------------------------------------------------------------- /src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, 4 | body { 5 | height: 100%; 6 | } 7 | body { 8 | margin: 0; 9 | font-family: Roboto, 'Helvetica Neue', sans-serif; 10 | } 11 | 12 | .code { 13 | font-family: Monaco, Courier, monospace; 14 | border: 1px solid #d9d9d9; 15 | padding: 5px; 16 | border-radius: 3px; 17 | background-color: #4a3f3f; 18 | color: #f79205; 19 | } 20 | 21 | .menu-divider { 22 | margin: 0 10px !important; 23 | } 24 | 25 | .data-page { 26 | width: 100%; 27 | display: flex; 28 | flex-direction: column; 29 | align-items: center; 30 | padding-top: 20px; 31 | 32 | .areas-select-wrapper { 33 | display: flex; 34 | align-items: center; 35 | 36 | ::ng-deep clr-select-container { 37 | margin: 0; 38 | 39 | select { 40 | min-width: 200px; 41 | } 42 | } 43 | 44 | button { 45 | margin-left: 10px; 46 | } 47 | } 48 | 49 | table { 50 | width: 80%; 51 | margin-top: 40px; 52 | } 53 | } -------------------------------------------------------------------------------- /tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./out-tsc/app", 5 | "types": [] 6 | }, 7 | "files": [ 8 | "src/main.ts", 9 | "src/polyfills.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compileOnSave": false, 3 | "compilerOptions": { 4 | "rootDir": "./", 5 | "baseUrl": "", 6 | "outDir": "./dist/out-tsc", 7 | "sourceMap": true, 8 | "declaration": false, 9 | "downlevelIteration": true, 10 | "experimentalDecorators": true, 11 | "module": "ES2020", 12 | "moduleResolution": "node", 13 | "importHelpers": true, 14 | "strict": true, 15 | "target": "ES2022", 16 | "allowJs": true, 17 | "typeRoots": [ 18 | "node_modules/@types" 19 | ], 20 | "lib": [ 21 | "es2018", 22 | "dom" 23 | ], 24 | "allowSyntheticDefaultImports": true, 25 | "useDefineForClassFields": false 26 | }, 27 | "angularCompilerOptions": { 28 | "fullTemplateTypeCheck": true, 29 | "strictInjectionParameters": true 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./out-tsc/spec", 5 | "types": [ 6 | "jasmine" 7 | ] 8 | }, 9 | "files": [ 10 | "src/polyfills.ts" 11 | ], 12 | "include": [ 13 | "src/**/*.spec.ts", 14 | "src/**/*.d.ts" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tslint:recommended", 3 | "rules": { 4 | "align": { 5 | "options": [ 6 | "parameters", 7 | "statements" 8 | ] 9 | }, 10 | "array-type": false, 11 | "arrow-parens": false, 12 | "arrow-return-shorthand": true, 13 | "deprecation": { 14 | "severity": "warning" 15 | }, 16 | "component-class-suffix": true, 17 | "contextual-lifecycle": true, 18 | "curly": true, 19 | "directive-class-suffix": true, 20 | "directive-selector": [true, "attribute", "app", "camelCase"], 21 | "component-selector": [ 22 | true, 23 | "element", 24 | "app", 25 | "kebab-case" 26 | ], 27 | "eofline": true, 28 | "import-blacklist": [ 29 | true, 30 | "rxjs/Rx" 31 | ], 32 | "import-spacing": true, 33 | "indent": { 34 | "options": [ 35 | "spaces" 36 | ] 37 | }, 38 | "interface-name": false, 39 | "max-classes-per-file": false, 40 | "max-line-length": [true, 140], 41 | "member-access": false, 42 | "member-ordering": [ 43 | true, 44 | { 45 | "order": ["static-field", "instance-field", "static-method", "instance-method"] 46 | } 47 | ], 48 | "no-consecutive-blank-lines": false, 49 | "no-console": [true, "debug", "info", "time", "timeEnd", "trace"], 50 | "no-empty": false, 51 | "no-inferrable-types": [true, "ignore-params"], 52 | "no-non-null-assertion": true, 53 | "no-redundant-jsdoc": true, 54 | "no-switch-case-fall-through": true, 55 | "no-var-requires": false, 56 | "object-literal-key-quotes": [true, "as-needed"], 57 | "object-literal-sort-keys": false, 58 | "ordered-imports": false, 59 | "quotemark": [true, "single"], 60 | "trailing-comma": false, 61 | "no-conflicting-lifecycle": true, 62 | "no-host-metadata-property": true, 63 | "no-input-rename": true, 64 | "no-inputs-metadata-property": true, 65 | "no-output-native": true, 66 | "no-output-on-prefix": true, 67 | "no-output-rename": true, 68 | "semicolon": { 69 | "options": [ 70 | "always" 71 | ] 72 | }, 73 | "space-before-function-paren": { 74 | "options": { 75 | "anonymous": "never", 76 | "asyncArrow": "always", 77 | "constructor": "never", 78 | "method": "never", 79 | "named": "never" 80 | } 81 | }, 82 | "no-outputs-metadata-property": true, 83 | "template-banana-in-box": true, 84 | "template-no-negated-async": true, 85 | "typedef-whitespace": { 86 | "options": [ 87 | { 88 | "call-signature": "nospace", 89 | "index-signature": "nospace", 90 | "parameter": "nospace", 91 | "property-declaration": "nospace", 92 | "variable-declaration": "nospace" 93 | }, 94 | { 95 | "call-signature": "onespace", 96 | "index-signature": "onespace", 97 | "parameter": "onespace", 98 | "property-declaration": "onespace", 99 | "variable-declaration": "onespace" 100 | } 101 | ] 102 | }, 103 | "use-lifecycle-interface": true, 104 | "use-pipe-transform-interface": true, 105 | "variable-name": { 106 | "options": [ 107 | "ban-keywords", 108 | "check-format", 109 | "allow-pascal-case" 110 | ] 111 | }, 112 | "whitespace": { 113 | "options": [ 114 | "check-branch", 115 | "check-decl", 116 | "check-operator", 117 | "check-separator", 118 | "check-type", 119 | "check-typecast" 120 | ] 121 | } 122 | }, 123 | "rulesDirectory": ["codelyzer"] 124 | } 125 | --------------------------------------------------------------------------------