open-index/open-npm huggingface dataset:
npm package: @ng2select/bootstrap
Description: <!--   Title: ng2select   Description: Angular 2 bootstrap select directive module   Author: ng2select   -->
Author: ng2select
Latest version: 0.2.9

<!--
  Title: ng2select
  Description: Angular 2 bootstrap select directive module
  Author: ng2select
  -->

[![Build Status](https://travis-ci.org/ng2select/bootstrap.svg?branch=master)](https://travis-ci.org/ng2select/bootstrap)

## beta

general-purpose angular2 bootstrap select/multiselect directive module

http://ng2select.github.io/bootstrap/

 
## bootstrap-single-select

```HTML

            <ix-bootstrap-select (change)="onChange($event)" [(ngModel)]="ngModel">
                <li *ngFor="let option of options | async" [value]="option.id" [title]="option.name">
                    <img [src]="option.gravatarSrc" height="20" width="20" />
                    <span>{{option.name}}</span>
                </li>
            </ix-bootstrap-select>

            <span class="red">{{ngModel | json}}</span>

            <ix-bootstrap-select (change)="onChange($event)" [(ngModel)]="ngModel">
                <li *ngFor="let option of options | async" [value]="option.id" [title]="option.name">
                    <span>{{option.name}}</span>
                </li>
            </ix-bootstrap-select>

            <span class="red">{{ngModel | json}}</span>


```

## bootstrap-multiselect

```HTML

            <ix-bootstrap-select (change)="onChange($event)" [(ngModel)]="ngModelAry" multiple>
                <li *ngFor="let option of options | async" [value]="option.id" [title]="option.name">
                    <img [src]="option.gravatarSrc" height="20" width="20" />
                    <span>{{option.name}}</span>
                </li>
            </ix-bootstrap-select>

            <span class="red">{{ngModelAry | json}}</span>

            <ix-bootstrap-select (change)="onChange($event)" [(ngModel)]="ngModelAry" multiple>
                <li *ngFor="let option of options | async" [value]="option.id" [title]="option.name">
                    <span>{{option.name}}</span>
                </li>
            </ix-bootstrap-select>

            <span class="red">{{ngModelAry | json}}</span>

```

https://angular.io
npm package: @ng2select/combo
Description: <!--   Title: ng2select   Description: Angular 2 bootstrap select directive module   Author: ng2select   -->
Author: ng2select
Latest version: 0.2.4

<!--
  Title: ng2select
  Description: Angular 2 bootstrap select directive module
  Author: ng2select
  -->

[![Build Status](https://travis-ci.org/ng2select/bootstrap.svg?branch=master)](https://travis-ci.org/ng2select/bootstrap)

## beta

general-purpose angular2 combo-select directive module

http://ng2select.github.io/bootstrap/

_powered by:_
https://silviomoreto.github.io/bootstrap-select/

## combo-select

```HTML

<ix-combo-select (change)="onChange($event)" [(ngModel)]="ngModel">
    <li *ngFor="let option of options | async" [value]="option.id" [title]="option.name">
        <img [src]="option.gravatarSrc" height="20" width="20" />
        <span>{{option.name}}</span>
    </li>
</ix-combo-select>

<span class="red">{{ngModel | json}}</span>

<ix-combo-select (change)="onChange($event)" [(ngModel)]="ngModel">
    <li *ngFor="let option of options | async" [value]="option.id" [title]="option.name">
        <img [src]="option.gravatarSrc" height="20" width="20" />
        <span>{{option.name}}</span>
    </li>
</ix-combo-select>

<span class="red">{{ngModel | json}}</span>

```

https://angular.io
npm package: @ng2select/core
Description: <!--   Title: ng2select   Description: Angular 2 bootstrap select directive module   Author: ng2select   -->
Author: ng2select
Latest version: 0.2.9

<!--
  Title: ng2select
  Description: Angular 2 bootstrap select directive module
  Author: ng2select
  -->

[![Build Status](https://travis-ci.org/ng2select/bootstrap.svg?branch=master)](https://travis-ci.org/ng2select/bootstrap)

## beta

core angular2 select-builder module

http://ng2select.github.io/bootstrap/

## select-builder-component

```HTML

<ix-select-builder (toggle)="toggle($event)" [open]="open" class="btn-group bootstrap-select show-tick" [ngClass]="{'open': open, 'dropup': isDropup()}" (keydown)="onKeydown($event)">

    <ix-display>
        <input type="text" class="filter-option pull-left col-sm-10" (blur)="onBlur($event)" (change)="onComboInputChange($event)" (focus)="onFocus($event)" (keydown)="onInputKeydown($event)" [(ngModel)]="inputTitle" />

        <span (click)="toggle(!open)" class="btn btn-default col-sm-2">
            <span class="bs-caret"><span class="caret"></span></span>
        </span>
    </ix-display>

    <div class="dropdown-menu" [class.open]="open">

      <ul class="dropdown-menu inner" style="max-height: 104px; overflow-y: auto;">
        <ng-content></ng-content>
      </ul>

    </div>

</ix-select-builder>

```

https://angular.io
npm package: @ng2select/jquery
Description: <!--   Title: ng2select   Description: Angular 2 bootstrap select directive module   Author: ng2select   -->
Author: ng2select
Latest version: 0.2.2

<!--
  Title: ng2select
  Description: Angular 2 bootstrap select directive module
  Author: ng2select
  -->

[![Build Status](https://travis-ci.org/ng2select/bootstrap.svg?branch=master)](https://travis-ci.org/ng2select/bootstrap)

## beta

general-purpose angular2 jquery-select directive module

http://ng2select.github.io/bootstrap/

_powered by:_
https://silviomoreto.github.io/bootstrap-select/

## NG2_SELECT_DIRECTIVES

```HTML

<select class="show-tick" [(ngModel)]="ngModel" multiple data-actions-box="true" data-style="btn-success">
  <option *ngFor="let user of users | async" [value]="user.id">
    {{ user.name }}
  </option>
</select>

```

https://angular.io
npm package: @ng2v/ng2v-components
Description: ng2v-components powered by ng-bootstrap
Author: Rajkeshwar Prasad
Latest version: 1.1.1

# Ng2v Components - [Angular](http://angular.io/) directives specific to [Bootstrap 4](http://v4-alpha.getbootstrap.com/)

Welcome to the customized ng-bootstrap version of the [ng2v-components](https://rajkeshwar.github.io) library.
We are using TypeScript and targeting the Bootstrap 4 CSS framework.

As with Bootstrap 4, this library is a work in progress. Please check out our list of
[issues](https://github.com/ng2v/ng2v-components/issues) to see all the things we are implementing.
Feel free to make comments there.

## Demo

View all the directives in action at https://rajkeshwar.github.io

## Dependencies
* [Angular](https://angular.io) (tested with 4.0.3)

## Installation
npm install --save @ng2v/ng2v-components
```
Once installed you need to import our main module:
```js
import {Ng2vModule} from '@ng2v/ng2v-components';
```
The only remaining part is to list the imported module in your application module. The exact method will be slightly
different for the root (top-level) module for which you should end up with the code similar to (notice `Ng2vModule.forRoot()`):
```js
import {Ng2vModule} from '@ng2v/ng2v-components';

@NgModule({
  declarations: [AppComponent, ...],
  imports: [Ng2vModule.forRoot(), ...],  
  bootstrap: [AppComponent]
})
export class AppModule {
}
```

Other modules in your application can simply import `Ng2vModule`:

```js
import {Ng2vModule} from '@ng2v/ng2v-components';

@NgModule({
  declarations: [OtherComponent, ...],
  imports: [Ng2vModule, ...], 
})
export class OtherModule {
}
```

### SystemJS
If you are using SystemJS, you should also adjust your configuration to point to the UMD bundle.

In your systemjs config file, `map` needs to tell the System loader where to look for `ng2v-components`:
```js
map: {
  '@ng2v/ng2v-components': 'node_modules/@ng2v/ng2v-components/bundles/ng2v-components.js',
}
```

### To clean and build components source
```
  gulp clean:build
  gulp ng2v:build
```

### To clean and build demo files
```
  gulp clean:demo
  gulp build:demo
```

### To publish components to npm repo
Navigate to dist directory and type 
```
   npm publish
```

#### To push the demo example to github pages
Navigate to demo/dist and type 
```
  gulp demo-push
```
npm package: @ng4/codemirror
Description: Angular4 Codemirror component
Author: Vadim
Latest version: 0.0.2

# Angular4 - Codemirror component
[![npm version](https://badge.fury.io/js/%40ng4%2Fcodemirror.svg)](https://www.npmjs.com/package/@ng4/codemirror)
[![Build Status](https://travis-ci.org/Vadimon/ng4-codemirror.svg?branch=master)](https://travis-ci.org/Vadimon/ng4-codemirror.svg?branch=master)

### Установка
`npm install @ng4/codemirror --save`

### Зависимости
```json
{
  "codemirror": "^5.22.2",
  "@angular/common": "^4.0.0",
  "@angular/compiler": "^4.0.0",
  "@angular/core": "^4.0.0",
  "@angular/forms": "^4.0.0"
}
```

### Пример
```typescript
import {CodemirrorModule} from '@ng4/codemirror';

@NgModule({
  imports:      [
    CodemirrorModule.forRoot()
  ]
})
export class AppModule { }
```

```typescript
import {Component} from '@angular/core';

@Component({
  selector: 'sample',
  template: `
    <codemirror [(ngModel)]="code" 
        [config]="{lineNumbers: true}"
        (focus)="onFocus()"
        (blur)="onBlur()">
    </codemirror>
  `
})
export class Sample{
  constructor(){
    this.code = `// Некоторый код...`;
  }
  
  onBlur() { }
  onFocus() { }
}
```

### Конфигурация
`config`: Объект конфигурации для <a href="http://codemirror.net/doc/manual.html#config">CodeMirror</a>

MIT License
npm package: @ng4746/aside
Description: [![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url]
Author: Vadim
Latest version: 0.0.2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Angular7 Aside

[![NPM Version][npm-image]][npm-url]
[![NPM Downloads][downloads-image]][downloads-url]


Install
```bash
npm i @ng4746/aside @angular/animations -S
```

app.module.ts
```ts
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AsideModule } from 'aside';

@NgModule({
  imports: [
    AsideModule,
    BrowserAnimationsModule
  ]
})
```

Add html:
```html
<ng-aside #NgAside (cancel)="onCancel()"
           (submit)="onSave()"
           [title]="'Title'"
           [cancelButtonTitle]="'Discard'"
           [submitButtonTitle]="'Send'"
           [closeOnEscape]="false"
           [showOverlay]="false"
           [showDefaultFooter]="true"
           [showDefaultHeader]="true">
           
</ng-aside>

<button (click)="NgAside.show()">Show Sidebar</button>
```

You can disable default header and footer of panel
```html
[showDefaultFooter]="false"
[showDefaultHeader]="false"
```

Add styles.scss:

```scss
@import "~@ng4746/aside/styles/simple";
```


| Inputs             |                           |
| ------------------ | ------------------------- |
| position           | _Type: "right"  "left"_   |
|                    | Default value: right      |
| showOverlay        | _Type: boolean_           |
|                    | Default value: _true_     |
| closeOnEscape      | _Type: boolean_           |
|                    | Default value: _true_     |
| showDefaultFooter  | _Type: boolean_           |
|                    | Default value: _true_     |
| showDefaultHeader  | _Type: boolean_           |
|                    | Default value: _true_     |
| title              | _Type: string_            |
| cancelButtonTitle  | _Type: string_            |
| submitButtonTitle  | _Type: string_            |


| Outputs            |                           |
| ------------------ | ------------------------- |
| cancel             | Emits an event   |
| submit             | Emits an event   |

## MIT License

[npm-url]: https://www.npmjs.com/package/@ng4746/aside
[npm-image]: https://img.shields.io/npm/v/@ng4746/aside.svg

[downloads-image]: https://img.shields.io/npm/dm/@ng4746/aside.svg
[downloads-url]: https://npmjs.org/package/@ng4746/aside
npm package: @ng4746/ng-floating-action-button
Description: Angular7 floating action button
Author: Vadim
Latest version: 1.0.3
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

[![NPM Version][npm-image]][npm-url]
[![NPM Downloads][downloads-image]][downloads-url]

### Install:

```bash
npm install @ng4746/ng-floating-action-button --save
```


Add needed package to NgModule imports:

```cmd
import { NgFloatingActionButtonModule } from '@ng4746/ng-floating-action-button';

@NgModule({
  ...
  imports: [NgFloatingActionButtonModule,...]
  ...
})
```


Add component to your page:

```html
<fab-floating-action [options]="{direction: 'left'}">
  <ng-template fabIcon>
    <i class="material-icons">menu</i>
  </ng-template>
  <ng-template fabActionButton>
    <li>
      <a class="btn-fab">
        <i class="material-icons">cloud_download</i>
      </a>
    </li>
    <li>
      <a class="btn-fab">
        <i class="material-icons">edit</i>
      </a>
    </li>
    <li>
      <a class="btn-fab">
        <i class="material-icons">attachment</i>
      </a>
    </li>
    <li>
      <a class="btn-fab">
        <i class="material-icons">insert_emoticon</i>
      </a>
    </li>
  </ng-template>
</fab-floating-action>
```

## MIT License

[npm-url]: https://www.npmjs.com/package/@ng4746/ng-floating-action-button
[npm-image]: https://img.shields.io/npm/v/@ng4746/ng-floating-action-button.svg

[downloads-image]: https://img.shields.io/npm/dm/@ng4746/ng-floating-action-button.svg
[downloads-url]: https://npmjs.org/package/@ng4746/ng-floating-action-button
npm package: @ng4746/notice
Description: [![NPM Version][npm-image]][npm-url] [![NPM Downloads][downloads-image]][downloads-url]
Author: Vadim
Latest version: 0.0.3
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

[![NPM Version][npm-image]][npm-url]
[![NPM Downloads][downloads-image]][downloads-url]

### Install from npm:

```bash
npm install @ng4746/notice --save
```

Add needed package to NgModule imports:

```cmd
import { NoticeModule } from '@ng4746/notice';

@NgModule({
  ...
  imports: [
    NoticeModule.withConfig({
      global: {
        newOnTop: true,
        maxAtPosition: 6,
        maxOnScreen: 8,
        filterDuplicates: false
      },
      toast: {
        type: 'info'
      }}
    )
    ...
  ]
  ...
})
```


Add app.component.html:

```html
  <notice-section class="material"></notice-section>
```

Add styles.scss:

```scss
.material {
  @import "~@ng4746/notice/styles/material";
}
.simple {
  @import "~@ng4746/notice/styles/simple";
}
.dark {
  @import "~@ng4746/notice/styles/dark";
}

.snotify-icon {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: center;
}
```

## Credit
Inspired by [ng-snotify](https://github.com/artemsky/ng-snotify).


## MIT License


[npm-url]: https://www.npmjs.com/package/@ng4746/notice
[npm-image]: https://img.shields.io/npm/v/@ng4746/notice.svg

[downloads-image]: https://img.shields.io/npm/dm/@ng4746/notice.svg
[downloads-url]: https://npmjs.org/package/@ng4746/notice
npm package: @ngageoint/geopackage-csv-js
Description: GeoJSON to GeoPackage converter
Author: NGA
Latest version: 4.1.1

## @ngageoint/geopackage-csv-js &mdash; Convert your CSV to a GeoPackage

This utility will convert between CSV and GeoPackage using the NGA GeoPackage JS library.

### Installation ###

[![NPM](https://img.shields.io/npm/v/@ngageoint/geopackage-csv-js.svg)](https://www.npmjs.com/package/@ngageoint/geopackage-csv-js)

```sh
$ npm install @ngageoint/geopackage-csv-js
```

### Usage

#### Command Line

```sh
./cli /path/to/file/to/convert.csv /path/to/file/to/create.gpkg
```

#### Javascript
```javascript
const { CSVToGeoPackage } = require('@ngageoint/geopackage-csv-js');
const csvFile = './test.csv';
const geoPackageFile = './test.gpkg';
const tableName = 'features';

// Convert CSV to GeoPackage feature table
const converter = new CSVToGeoPackage();
converter.convert({ csv: csvFile, geoPackage: geoPackageFile, tableName: tableName }).then(() => {
  console.log('File conversion complete');
  console.log('Converted %s to %s', geoJSONFile, geoPackageFile);
});

// Extract CSV from GeoPackage feature table
converter.extract(geoPackageFile, tableName).then(csv => {
  console.log('Extracted CSV.');
})
```

#### GeoPackage JS Library ####

The [GeoPackage Libraries](http://ngageoint.github.io/GeoPackage/) were developed at the [National Geospatial-Intelligence Agency (NGA)](http://www.nga.mil/) in collaboration with [BIT Systems](http://www.bit-sys.com/). The government has "unlimited rights" and is releasing this software to increase the impact of government investments by providing developers with the opportunity to take things in new directions. The software use, modification, and distribution rights are stipulated within the [MIT license](http://choosealicense.com/licenses/mit/).

### Pull Requests ###
If you'd like to contribute to this project, please make a pull request. We'll review the pull request and discuss the changes. All pull request contributions to this project will be released under the MIT license.

Software source code previously released under an open source license and then modified by NGA staff is considered a "joint work" (see 17 USC § 101); it is partially copyrighted, partially public domain, and as a whole is protected by the copyrights of the non-government authors and must be released according to the terms of the original open source license.


### Changelog


##### 4.1.0
- Update to GeoPackage JS 4.1.0.
npm package: @ngageoint/geopackage-geojson-js
Description: GeoJSON to GeoPackage converter
Author: NGA
Latest version: 4.1.3

## @ngageoint/geopackage-geojson-js &mdash; Convert your GeoJSON to a GeoPackage

This utility will convert between GeoJSON and GeoPackage using the NGA GeoPackage JS library.

### Installation ###

[![NPM](https://img.shields.io/npm/v/@ngageoint/geopackage-geojson-js.svg)](https://www.npmjs.com/package/@ngageoint/geopackage-geojson-js)

```sh
$ npm install @ngageoint/geopackage-geojson-js
```

### Usage

#### Command Line

```sh
./cli /path/to/file/to/convert.json /path/to/file/to/create.gpkg
```

#### Javascript
```javascript
const { GeoJSONToGeoPackage } = require('@ngageoint/geopackage-geojson-js');
const geoJSONFile = './test.json';
const geoPackageFile = './test.gpkg';
const tableName = 'features';

// Convert GeoJSON to GeoPackage feature table
const converter = new GeoJSONToGeoPackage();
converter.convert({ geoJson: geoJSONFile, geoPackage: geoPackageFile, tableName: tableName }).then(() => {
  console.log('File conversion complete');
  console.log('Converted %s to %s', geoJSONFile, geoPackageFile);
});

// Extract GeoJSON from GeoPackage feature table
converter.extract(geoPackageFile, tableName).then(geoJSON => {
  console.log('Extracted GeoJSON - %s features.', geoJSON.features.length);
})
```

#### GeoPackage JS Library ####

The [GeoPackage Libraries](http://ngageoint.github.io/GeoPackage/) were developed at the [National Geospatial-Intelligence Agency (NGA)](http://www.nga.mil/) in collaboration with [BIT Systems](http://www.bit-sys.com/). The government has "unlimited rights" and is releasing this software to increase the impact of government investments by providing developers with the opportunity to take things in new directions. The software use, modification, and distribution rights are stipulated within the [MIT license](http://choosealicense.com/licenses/mit/).

### Pull Requests ###
If you'd like to contribute to this project, please make a pull request. We'll review the pull request and discuss the changes. All pull request contributions to this project will be released under the MIT license.

Software source code previously released under an open source license and then modified by NGA staff is considered a "joint work" (see 17 USC § 101); it is partially copyrighted, partially public domain, and as a whole is protected by the copyrights of the non-government authors and must be released according to the terms of the original open source license.


### Changelog


##### 4.1.0
- Update to GeoPackage JS 4.1.0.
npm package: @ngageoint/geopackage-kml-js
Description: KML to GeoPackage converter
Author: NGA
Latest version: 4.1.0

## KML and KMZ files to Geopackage files

Using a Xml streaming library to read the kml file and convert the hierarchal data into relational data that GeoPackages can store.

### Installation ###

[![NPM](https://img.shields.io/npm/v/@ngageoint/geopackage-kml-js.svg)](https://www.npmjs.com/package/@ngageoint/geopackage-kml-js)

```sh
$ npm install @ngageoint/geopackage-kml-js
```

### Usage

```sh
./cli /path/to/file/to/convert.kml /path/to/file/to/create.gpkg
```

---
### Currently Supports
- Placemark tags with and without coordinates
  Stored as features in a feature table with any additional tags stored in a column of the table.
    - Multigeometry tags
    - Polygon tags
        - inner and outer boundaries.
    - LineString tags
    - Point tags
- Most of Icon, Polygon and Line Style tags
    - color converted to rgba
- GroundOverlay tags
    - Image converision from EPSG: 4326 to EPSG: 3857 Web-mercator
        - Image manipulation preformed by [Jimp](https://github.com/oliver-moran/jimp).
        - Coordinate converision from [Proj4](https://github.com/proj4js/proj4js).
    - Creates a tile set at appropriate from the zoomlevels.
        - Starting at the zoomlevel where the GroundOverlay is covered by one tile.
        - Ending where the image resolution matches that of the tile.
        - This is done in steps of 2.
- Default Stylings of Google Earth.
- gx:altitudeMode
- ExtendedData
---
### Does not support but plan on supporting
- [ ] Network Links
- [ ] ScreenOverlays
- [ ] Folder and Document structure
- [ ] PhotoOverlays
- [ ] StyleMaps
    - currently only captures normal style
- [ ] Region
- [x] gx:x, gx:y, gx:h and gx:w

---
### Does not support and no plans to support currently
- lookAt tags
    - Current it is stored as a JSON string in a column of the feature table
- Most of gx extensions
- Models tags
- Camera
- colorMode
- gx:LatLonQuad
- Google Sky
- ListStyle
- NetworkLinkControl
npm package: @ngageoint/geopackage-mbtiles-js
Description: MBTiles to GeoPackage converter
Author: NGA
Latest version: 4.1.0

## @ngageoint/geopackage-mbtiles-js &mdash; Convert your MBTiles file (imagery) to a GeoPackage

This utility will convert between an MBTiles file (containing imagery) and GeoPackage using the NGA GeoPackage JS library.

### Installation ###

[![NPM](https://img.shields.io/npm/v/@ngageoint/geopackage-mbtiles-js.svg)](https://www.npmjs.com/package/@ngageoint/geopackage-mbtiles-js)

```sh
$ npm install @ngageoint/geopackage-mbtiles-js
```

### Usage

#### Command Line

```sh
./cli /path/to/file/to/convert.json /path/to/file/to/create.gpkg
```

#### Javascript
```javascript
const { MBTilesToGeoPackage } = require('@ngageoint/geopackage-mbtiles-js');
const mbTilesFile = './test.mbtiles';
const geoPackageFile = './test.gpkg';
const tableName = 'features';

// Convert MBTiles (Imagery) to GeoPackage tile table
const converter = new MBTilesToGeoPackage();
converter.convert({ mbtiles: mbTilesFile, geoPackage: geoPackageFile, tableName: tableName }).then(() => {
  console.log('File conversion complete');
  console.log('Converted %s to %s', mbTilesFile, geoPackageFile);
});
```

#### GeoPackage JS Library ####

The [GeoPackage Libraries](http://ngageoint.github.io/GeoPackage/) were developed at the [National Geospatial-Intelligence Agency (NGA)](http://www.nga.mil/) in collaboration with [BIT Systems](http://www.bit-sys.com/). The government has "unlimited rights" and is releasing this software to increase the impact of government investments by providing developers with the opportunity to take things in new directions. The software use, modification, and distribution rights are stipulated within the [MIT license](http://choosealicense.com/licenses/mit/).

### Pull Requests ###
If you'd like to contribute to this project, please make a pull request. We'll review the pull request and discuss the changes. All pull request contributions to this project will be released under the MIT license.

Software source code previously released under an open source license and then modified by NGA staff is considered a "joint work" (see 17 USC § 101); it is partially copyrighted, partially public domain, and as a whole is protected by the copyrights of the non-government authors and must be released according to the terms of the original open source license.


### Changelog


##### 4.1.0
- Update to GeoPackage JS 4.1.0.
npm package: @ngageoint/geopackage-pbf-js
Description: PBF to GeoPackage converter
Author: NGA
Latest version: 4.1.3

## @ngageoint/geopackage-pbf-js &mdash; Convert your PBF to a GeoPackage

This utility will convert between PBF and GeoPackage using the NGA GeoPackage JS library.

### Installation ###

[![NPM](https://img.shields.io/npm/v/@ngageoint/geopackage-pbf-js.svg)](https://www.npmjs.com/package/@ngageoint/geopackage-pbf-js)

```sh
$ npm install @ngageoint/geopackage-pbf-js
```

### Usage

#### Command Line

```sh
./cli /path/to/file/to/convert.pbf /path/to/file/to/create.gpkg
```

#### Javascript
```javascript
const { PBFToGeoPackage } = require('@ngageoint/geopackage-pbf-js');
const pbfFile = './test.pbf';
const geoPackageFile = './test.gpkg';
const tableName = 'features';

// Convert PBF to GeoPackage feature table
const converter = new PBFToGeoPackage();
converter.convert({ pbf: pbfFile, geoPackage: geoPackageFile, tableName: tableName }).then(() => {
  console.log('File conversion complete');
  console.log('Converted %s to %s', geoJSONFile, geoPackageFile);
});
```

#### GeoPackage JS Library ####

The [GeoPackage Libraries](http://ngageoint.github.io/GeoPackage/) were developed at the [National Geospatial-Intelligence Agency (NGA)](http://www.nga.mil/) in collaboration with [BIT Systems](http://www.bit-sys.com/). The government has "unlimited rights" and is releasing this software to increase the impact of government investments by providing developers with the opportunity to take things in new directions. The software use, modification, and distribution rights are stipulated within the [MIT license](http://choosealicense.com/licenses/mit/).

### Pull Requests ###
If you'd like to contribute to this project, please make a pull request. We'll review the pull request and discuss the changes. All pull request contributions to this project will be released under the MIT license.

Software source code previously released under an open source license and then modified by NGA staff is considered a "joint work" (see 17 USC § 101); it is partially copyrighted, partially public domain, and as a whole is protected by the copyrights of the non-government authors and must be released according to the terms of the original open source license.


### Changelog


##### 4.1.0
- Update to GeoPackage JS 4.1.0.
npm package: @ngageoint/geopackage-shapefile-js
Description: Shapefile to GeoPackage converter
Author: NGA
Latest version: 4.1.0

## @ngageoint/geopackage-shapefile-js &mdash; Convert your Shapefile to a GeoPackage

This utility will convert between Shapefile and GeoPackage using the NGA GeoPackage JS library.

### Installation ###

[![NPM](https://img.shields.io/npm/v/@ngageoint/geopackage-shapefile-js.svg)](https://www.npmjs.com/package/@ngageoint/geopackage-shapefile-js)

```sh
$ npm install @ngageoint/geopackage-shapefile-js
```

### Usage

#### Command Line

```sh
./cli /path/to/file/to/convert.zip /path/to/file/to/create.gpkg
```

#### Javascript
```javascript
const { ShapefileToGeoPackage } = require('@ngageoint/geopackage-shapefile-js');
const shapeFile = './test.zip';
const geoPackageFile = './test.gpkg';
const tableName = 'features';

// Convert Shapefile to GeoPackage feature table
const converter = new ShapefileToGeoPackage();
converter.convert({ shapefile: shapeFile, geoPackage: geoPackageFile, tableName: tableName }).then(() => {
  console.log('File conversion complete');
  console.log('Converted %s to %s', shapeFile, geoPackageFile);
});
```

#### GeoPackage JS Library ####

The [GeoPackage Libraries](http://ngageoint.github.io/GeoPackage/) were developed at the [National Geospatial-Intelligence Agency (NGA)](http://www.nga.mil/) in collaboration with [BIT Systems](http://www.bit-sys.com/). The government has "unlimited rights" and is releasing this software to increase the impact of government investments by providing developers with the opportunity to take things in new directions. The software use, modification, and distribution rights are stipulated within the [MIT license](http://choosealicense.com/licenses/mit/).

### Pull Requests ###
If you'd like to contribute to this project, please make a pull request. We'll review the pull request and discuss the changes. All pull request contributions to this project will be released under the MIT license.

Software source code previously released under an open source license and then modified by NGA staff is considered a "joint work" (see 17 USC § 101); it is partially copyrighted, partially public domain, and as a whole is protected by the copyrights of the non-government authors and must be released according to the terms of the original open source license.


### Changelog


##### 4.1.0
- Update to GeoPackage JS 4.1.0.
npm package: @ngageoint/geopackage-xyz-js
Description: XYZ to GeoPackage converter
Author: NGA
Latest version: 4.1.1

## @ngageoint/geopackage-xyz-js &mdash; Convert your XYZ to a GeoPackage

This utility will convert between XYZ and GeoPackage using the NGA GeoPackage JS library.

### Installation ###

[![NPM](https://img.shields.io/npm/v/@ngageoint/geopackage-xyz-js.svg)](https://www.npmjs.com/package/@ngageoint/geopackage-xyz-js)

```sh
$ npm install @ngageoint/geopackage-xyz-js
```

### Usage

#### Command Line

```sh
./cli /path/to/file/to/convert.json /path/to/file/to/create.gpkg
```

#### Javascript
```javascript
const { XYZToGeoPackage } = require('@ngageoint/ geopackage-xyz-js');
const fs = require('fs');
const xyzZipFile = './test.zip';
const geoPackageFile = './test.gpkg';
const tableName = 'xyz';

// Convert XYZ to GeoPackage feature table
const converter = new XYZToGeoPackage();
converter.convert({ xyzZip: xyzZipFile, geoPackage: geoPackageFile, tableName: tableName }).then(() => {
  console.log('File conversion complete');
  console.log('Converted %s to %s', xyzZipFile, geoPackageFile);
});

converter.extract(geoPackageFile, tableName).then((zip) => {
  console.log('Extraction complete');
  fs.writeFileSync('extracted.zip', zip);
});
```

#### GeoPackage JS Library ####

The [GeoPackage Libraries](http://ngageoint.github.io/GeoPackage/) were developed at the [National Geospatial-Intelligence Agency (NGA)](http://www.nga.mil/) in collaboration with [BIT Systems](http://www.bit-sys.com/). The government has "unlimited rights" and is releasing this software to increase the impact of government investments by providing developers with the opportunity to take things in new directions. The software use, modification, and distribution rights are stipulated within the [MIT license](http://choosealicense.com/licenses/mit/).

### Pull Requests ###
If you'd like to contribute to this project, please make a pull request. We'll review the pull request and discuss the changes. All pull request contributions to this project will be released under the MIT license.

Software source code previously released under an open source license and then modified by NGA staff is considered a "joint work" (see 17 USC § 101); it is partially copyrighted, partially public domain, and as a whole is protected by the copyrights of the non-government authors and must be released according to the terms of the original open source license.


### Changelog


##### 4.1.0
- Update to GeoPackage JS 4.1.0.
npm package: @ngageoint/grid-js
Description: Grid Javascript
Author: NGA
Latest version: 2.1.0

# Grid Javascript

![Build & Test](https://github.com/ngageoint/grid-js/actions/workflows/build-test.yml/badge.svg)
[![NPM](https://img.shields.io/npm/v/@ngageoint/grid-js.svg)](https://www.npmjs.com/package/@ngageoint/grid-js)
[![Coverage Status](https://coveralls.io/repos/github/ngageoint/grid-js/badge.svg)](https://coveralls.io/github/ngageoint/grid-js)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)

#### Grid Lib ####

The Grid Library was developed at the [National Geospatial-Intelligence Agency (NGA)](http://www.nga.mil/) in collaboration with [BIT Systems](https://www.caci.com/bit-systems/). The government has "unlimited rights" and is releasing this software to increase the impact of government investments by providing developers with the opportunity to take things in new directions. The software use, modification, and distribution rights are stipulated within the [MIT license](http://choosealicense.com/licenses/mit/).

### Pull Requests ###
If you'd like to contribute to this project, please make a pull request. We'll review the pull request and discuss the changes. All pull request contributions to this project will be released under the MIT license.

Software source code previously released under an open source license and then modified by NGA staff is considered a "joint work" (see 17 USC § 101); it is partially copyrighted, partially public domain, and as a whole is protected by the copyrights of the non-government authors and must be released according to the terms of the original open source license.

### About ###

Grid is a Javascript library providing common geospatial reference system grid functionality.

#### Military Grid Reference System ####

[MGRS](https://github.com/ngageoint/mgrs-js) is a Java library providing Military Grid Reference System functionality, a geocoordinate standard used by NATO militaries for locating points on Earth.

#### Global Area Reference System ####

[GARS](https://github.com/ngageoint/gars-js) is a Java library providing Global Area Reference System functionality, a standardized geospatial reference system for areas.

### Remote Dependencies ###

* [Simple Features](https://github.com/ngageoint/simple-features-js) (The MIT License (MIT)) - Simple Features Lib
* [Color](https://github.com/ngageoint/color-js) (The MIT License (MIT)) - Color Lib
npm package: @ngageoint/mage.nga-msi
Description: The NGA-MSI package is a Mage server plugin that provides feeds from National Geospatial-Intelligence Agency's Maritime Safety Information API.
Author: National Geospatial-Intelligence Agency
Latest version: 1.0.6

# NGA Maritime Safety Information Service Mage Plugin

## Links
The region/subregion scheme that man MSI data collections reference seem to be
defined in the [_American Practical Navigator_](https://msi.nga.mil/Publications/APN)
publication, page 72.

Get the list of maritime navigation subregions and their geometries:
https://noaa.maps.arcgis.com/home/item.html?id=b8453ecc62674519b0bb5cddedaa80e2&sublayer=0&view=list&sortOrder=desc&sortField=defaultFSOrder#overview

https://services6.arcgis.com/MpOjf90wsc96wTq1/arcgis/rest/services/Subregions/FeatureServer/0/query?where=1+%3D+1&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&resultType=none&distance=0.0&units=esriSRUnit_Meter&returnGeodetic=false&outFields=*&returnGeometry=true&returnCentroid=false&featureEncoding=esriDefault&multipatchOption=xyFootprint&maxAllowableOffset=&geometryPrecision=&outSR=&datumTransformation=&applyVCSProjection=false&returnIdsOnly=false&returnUniqueIdsOnly=false&returnCountOnly=false&returnExtentOnly=false&returnQueryGeometry=false&returnDistinctValues=false&cacheHint=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&having=&resultOffset=&resultRecordCount=&returnZ=false&returnM=false&returnExceededLimitFeatures=true&quantizationParameters=&sqlFormat=none&f=pgeojson&token=

## ASAM Topic

### Notes
1. Date range parameters do not work if the request only specifies one end of
   the range.
npm package: @ngageoint/ol-format-node
Description: OpenLayers ol.format in a standalone node module.
Author: Christopher Caldwell
Latest version: 1.0.6

# ol-format-node
OpenLayers ol.format in a standalone node module.

This is a port of Open Layers v6.5.1 that only considers parsing/projection capabilities.
Goal is to utilize this library's format module to convert between various formats in a node server-side application.

OpenLayers BSD-2 License Requirements Below:

Copyright Notices:
* Copyright 2005-present, OpenLayers Contributors All rights reserved.

Disclaimer: 

* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
npm package: @ngageoint/opensphere-coverage-loader
Description: Webpack loader to instrument code coverage
Author: Kir Belevich
Latest version: 1.0.0

# OpenSphere Code Coverage Loader

Instrument JS files with [istanbul-lib-instrument](https://github.com/istanbuljs/istanbuljs/tree/master/packages/istanbul-lib-instrument) for subsequent code coverage reporting.

This project is forked from [istanbul-instrumenter-loader](https://github.com/webpack-contrib/istanbul-instrumenter-loader) to provide additional maintenance in support of [OpenSphere](https://github.com/ngageoint/opensphere).

## Install

```bash
npm i -D istanbul-instrumenter-loader
```

## Usage

Add the loader to the webpack config:

```js
module: {
  rules: [
    {
      test: /\.js$/,
      use: {
        loader: '@ngageoint/opensphere-coverage-loader',
        options: {esModules: true}
      },
      include: path.resolve('src')
    }
  ]
}
```

Then configure [karma-coverage-istanbul-reporter](https://github.com/mattlewis92/karma-coverage-istanbul-reporter) as your test coverage reporter.

## Options

The loader supports all options supported by `istanbul-lib-instrument`

|Name|Type|Default|Description|
|:--:|:--:|:-----:|:----------|
|**`debug`**|`{Boolean}`|`false`|Turn on debugging mode|
|**`compact`**|`{Boolean}`|`true`|Generate compact code|
|**`autoWrap`**|`{Boolean}`|`false`|Set to `true` to allow return statements outside of functions|
|**`esModules`**|`{Boolean}`|`false`|Set to `true` to instrument ES2015 Modules|
|**`coverageVariable`**|`{String}`|`__coverage__`|Name of global coverage variable|
|**`preserveComments`**|`{Boolean}`|`false`|Preserve comments in `output`|
|**`produceSourceMap`**|`{Boolean}`|`false`|Set to `true` to produce a source map for the instrumented code|
|**`sourceMapUrlCallback`**|`{Function}`|`null`|A callback function that is called when a source map URL is found in the original code. This function is called with the source filename and the source map URL|