npm package: @opengis/gis
Description: <!-- ![alt text](https://cdn.softpro.ua/data/npm/admin/opengis-admin.png) -->
Author: Softpro
Latest version: 0.2.134

<!-- ![alt text](https://cdn.softpro.ua/data/npm/admin/opengis-admin.png) -->

# @opengis/gis

[![NPM version](https://img.shields.io/npm/v/@opengis/gis?style=plain)](https://www.npmjs.com/package/@opengis/gis)
[![NPM last update](https://img.shields.io/npm/last-update/@opengis/gis?style=plain)]()
[![NPM downloads](https://img.shields.io/npm/dw/@opengis/gis?style=plain)]()
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=plain)](http://standardjs.com/)

Tools for mapping, geodata management, and integration into modern web services.

## Features

**Core Platform Capabilities:**

- **Web-based GIS Platform** – Access and manage geospatial data through a cloud-based environment.
- **User & Admin Management** – Control access and permissions.
- **No-Code Map Builder** – Create and configure web maps without programming skills.
- **Configurable User Interface** – Customize map layout and widgets based on user needs.
- **Admin Panel** – Centrally manage system settings, users, and datasets.

**Visualization & Mapping:** 

- **Interactive Web Maps** – View and explore geographic data online.
- **Map Catalog** – Access and manage a collection of thematic maps.
- **Layer Management** – Control visibility and organization of map layers.
- **Advanced Filtering** – Query and filter data based on attributes.
- **Search Functionality** – Find objects by address, ID, or attributes.
- **CartoCSS Styling** – Customize map appearance with flexible styling rules.

**Raster Management:**

- **Single Raster Support** – Upload, store, and visualize individual raster datasets.
- **Multi-Raster VRT Builder** – Combine multiple raster files into a single virtual raster (VRT).
- **Recursive Raster Processing** – Automatically build VRTs from nested folder structures.
- **Raster Data Visualization** – Display raster layers alongside vector data on maps.
- **Raster Layer Management** – Control visibility and ordering of raster datasets.
- **Scalable Raster Handling** – Efficient processing of large raster collections.

**Data Management:** 

- **Dataset View** – Explore spatial data in a synchronized tabular format.
- **Data Import & Storage** – Upload and store spatial and tabular data.
- **Large Dataset Support** – Efficiently handle datasets with 100,000+ features.
- **Dataset Management** – Upload and manage spatial data (Shapefile, GeoJSON, CSV, etc.).
- **Registers Management** – Create and maintain structured geospatial datasets.

**Integration & Distribution:**

- **API & OGC Standards Support** – Supports WMS, WFS, WMTS services.
- **API Integration** – Connect with external systems and services.
- **Geoportal Access** – Centralized platform for all maps and datasets.
- **Data Export** – Export geospatial data in standard formats.
- **Map Publishing** – Publish and share maps quickly online.

## Install

```bash
npm i @opengis/gis
```

## Usage Portal

```vue
<template>
  <!--$route.params.id-->
  <MapWidget :id="'home'" />
</template>

<script setup lang="ts">
const MapWidget = defineAsyncComponent(() =>
  import("@opengis/gis").then((m) => m.MapWidget),
);
</script>
```

## Usage Admin

```js
// router.config
export default [
  {
    path: "/gis.registers/:id?",
    component: () => import("@opengis/gis").then((m) => m.Register),
  },
  {
    path: "/gis.services/:id?",
    component: () => import("@opengis/gis").then((m) => m.Service),
  },
  {
    path: "/gis.rasters/:id?",
    component: () => import("@opengis/gis").then((m) => m.Raster),
  },
  {
    path: "/gis.cartocss/:id?",
    component: () => import("@opengis/gis").then((m) => m.CartoCSS),
  },
  {
    path: "/gis.maps/:id?",
    component: () => import("@opengis/gis").then((m) => m.MapSettings),
  },
];
```

## Config

```js
// main.ts
app.config.globalProperties.$settings = {
  map: {
    center: [34.71, 48.51],
    zoom: 14,
    basemaps: [
      {
        name: "Оглядова карта",
        url: "https://data.gki.com.ua/api-user/rtile/voyager/ua/{z}/{x}/{y}.png",
      },
      {
        name: "Ортофото 1:10K",
        url: "https://data.gki.com.ua/api-user/rtile/orto10/ua/{z}/{x}/{y}.png",
      },
      {
        name: "Open Street Maps",
        url: "https://tile.openstreetmap.org.ua/styles/osm-bright/{z}/{x}/{y}.png",
      },
      {
        name: "Топографічна карта 1:2000",
        url: "/api/gis-rtile/3830082297432900636/{z}/{x}/{y}.png",
        preview: "/api/gis-rtile/3830082297432900636/17/78138/45286.png",
      },
    ],
  },
};
```

## Documentation

For a detailed understanding of `cms`, its features, and how to use them, refer to our [Documentation](https://gis.opengis.info/).

## Technology stack

<a href="https://fastify.dev/" target="_blank">
<img src="https://img.shields.io/badge/Fastify-323330?style=for-the-badge&logo=fastify" /></a>

<a href="https://vuejs.org/" target="_blank">
<img src="https://img.shields.io/badge/Vue%20js-323330?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D" /></a>

<a href="https://vite.dev/" target="_blank">
<img src="https://img.shields.io/badge/Vite-323330?style=for-the-badge&logo=vite" /></a>

<a href="https://www.postgresql.org/" target="_blank">
<img src="https://img.shields.io/badge/PostgreSQL-323330?style=for-the-badge&logo=postgresql&logoColor=white" /></a>

<a href="https://redis.io/" target="_blank">
<img src="https://img.shields.io/badge/redis-323330.svg?&style=for-the-badge&logo=redis&logoColor=%23DD0031" /></a>

<a href="https://nodejs.org/" target="_blank">
<img src="https://img.shields.io/badge/Node.js-323330?style=for-the-badge&logo=node.js&logoColor=white" /></a>

## Contribute

Feel free to contact us through our website [SOFTPRO.UA](https://softpro.ua) or email <info@softpro.ua>

- Report bugs
- Share your ideas
- Ask questions

## Follow Us

[Official site](https://softpro.ua)

<p>
  <a href="https://www.instagram.com/gissoftpro/" target="_blank"><img src="https://cdn.softpro.ua/data/npm/instagram.png" alt="Softpro Instagram" title="oftpro Instagram"></a>&nbsp;&nbsp;
  <a href="https://www.facebook.com/gissoftpro" target="_blank"><img src="https://cdn.softpro.ua/data/npm/facebook.png" alt="Softpro Facebook" title="Softpro Facebook"></a>&nbsp;&nbsp;
  <a href="https://t.me/softprogis" target="_blank"><img src="https://cdn.softpro.ua/data/npm/telegram.png" alt="Softpro Telegram" title="Softpro Telegram"></a>&nbsp;&nbsp;
  <a href="https://www.linkedin.com/in/softpro-ukraine-a8876b282/recent-activity/all/" target="_blank"><img src="https://cdn.softpro.ua/data/npm/social/linkedin.png" alt="Softpro Linkedin" title="Softpro LinkedIn"></a>&nbsp;&nbsp;
</p>

## License

Copyright © SOFTPRO. All rights reserved.