npm 包 @davvo/shp-write 使用教程

简介

@davvo/shp-write 是一个用于将地理信息数据(GeoJSON)转换成 ESRI shapefile 格式文件的 npm 包。它可以在前端或后端使用,提供了非常简洁的 API 方法,使用起来非常方便。

安装

通过 npm 进行安装:

--- ------- ---------------- ------

使用方法

@davvo/shp-write 的使用非常简单,下面简单介绍如何使用它将 GeoJSON 数据转换成 shapefile 格式文件。

导入包

我们首先需要导入 @davvo/shp-write 包:

----- -------- - ----------------------------

创建 shapefile 文件

我们需要创建并打开一个空的 shapefile 文件,然后通过 shpwrite.polygons() 方法将对应的 GeoJSON 对象写入文件:

----- -- - --------------
----- ------- - ------ -- ------- --
----- --- - --------------------------------------------------- -
    -------------- -   -- --------- ---
        - ----- ------- ----- ---- ----- -- -
    -
---

------------------   -- -- --------- --

-------------------------------- -- -
    -----------------
        ----- ----------------------- -- -- --------- --
    -- ---------------------------------------------------  -- -- --------
---

------------------  -- -- --------- --

创建 zip 文件

文件创建完毕后,可以使用 jszip 包将其打包成 .zip 文件:

----- ----- - -----------------
----- ----- - --- --------

---------------------- -----------------------------
---------------------- -----------------------------
---------------------- -----------------------------

------------------------------- ------------- ------------------
    ---------------------------------------
    ------------- -------- -- -
        --------------------- ----------- 
    ---

示例

下面是一个简单的示例,用于将样例 GeoJSON 转换成 shapefile 格式文件:

----- -- - --------------
----- -------- - ----------------------------
----- ----- - -----------------

----- ------- - -
    ------- --------------------
    ----------- -
        -
            ------- ----------
            ------------- -
                ------- ---
            --
            ----------- -
                ------- ----------
                -------------- -
                    -
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        -
                    -
                -
            -
        --
        -
            ------- ----------
            ------------- -
                ------- ---
            --
            ----------- -
                ------- ----------
                -------------- -
                    -
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        --
                        -
                            -----------
                            ---------
                        -
                    -
                -
            -
        -
    -
--

----- --- - --------------------------------------------------- -
    -------------- -
        - ----- ------- ----- ---- ----- -- -
    -
---

------------------

-------------------------------- -- -
    -----------------
        ----- -----------------------
    -- ---------------------------------------------------
---

------------------

----- ----- - --- --------
---------------------- -----------------------------
---------------------- -----------------------------
---------------------- -----------------------------

------------------------------- ------------- ------------------
    ---------------------------------------
    ------------- -------- -- -
        --------------------- ----------- 
    ---

总结

@davvo/shp-write 是一个非常好的将 GeoJSON 转换成 shapefile 格式文件的 npm 包。它的 API 方法简单明了,使用起来非常方便。本文给出了详细的使用示例和指导,建议读者自己动手尝试使用该包进行实际开发。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005571081e8991b448d3faa


猜你喜欢

  • npm 包 electron-hotkey 使用教程

    简介 electron-hotkey 是 Electron 框架的一个 npm 包,它提供了一个快速而方便的方法来设置和响应热键事件。这个 npm 包的使用对于 Electron 程序员来说非常重要,...

    2 年前
  • npm 包 cpp-struct-js 使用教程

    简介 cpp-struct-js 是一个 npm 包,提供了一种在 JavaScript 中解析二进制数据的方法。该包主要基于 C/C++ 的 struct 数据结构,支持将二进制数据解析成 Java...

    2 年前
  • npm 包 micro-hoofs 使用教程

    简介 micro-hoofs 是一个开源的轻量级 node.js 框架,它提供了基础的路由、中间件等功能,使得我们可以更加简单快捷地开发 Web 应用。它使用了 Express 和 fastify 作...

    2 年前
  • npm 包 osm-p2p-dump 使用教程

    什么是 osm-p2p-dump osm-p2p-dump 是一个用 Node.js 编写的 npm 包,它提供了一种方便地从 OpenStreetMap 数据库中导出数据的方法。

    2 年前
  • npm包points-in-triangle使用教程

    介绍 Points-in-triangle是一个可以用于判断一个点是否在三角形内的npm包。它是基于射线投射法来实现的,它会将这个点和三角形的三个顶点分别连线,然后从这个点往外发射一条线段,如果与三角...

    2 年前
  • npm 包 csv-util 使用教程

    在前端开发中,经常需要处理 CSV 文件。npm 上有很多处理 CSV 的工具,其中一个比较实用的工具是 csv-util。本文将介绍如何使用 csv-util 来处理 CSV 文件。

    2 年前
  • npm 包 node-objs 使用教程

    在前端开发中,我们经常需要处理 JavaScript 对象。而 node-objs 这个 npm 包的出现,极大地方便了 JavaScript 对象的处理。 node-objs 主要有以下几个特点: ...

    2 年前
  • npm包ansi2html-ts的使用教程

    在前端开发的过程中,我们可能会使用命令行工具来进行代码调试和版本控制等操作。而在终端中输出的控制台日志信息往往比较难以阅读和理解,这时就需要用到一些工具将这些信息转换为更加直观和易于理解的形式。

    2 年前
  • npm 包 foundation-sites-extended 使用教程

    前言 Foundation 是一款流行的 Web 前端框架,拥有许多功能强大的组件和工具。尽管 Foundation 本身已经非常好,但是 foundation-sites-extended 包可以提...

    2 年前
  • npm 包 unique_num 使用教程

    简介 Npm 是世界上最大的软件包管理工具。它允许用户从一个中央存储库中下载和安装 Node.js 的软件包。在 Node.js 中,我们可以使用 npm 来管理项目依赖和发布我们自己的软件包。

    2 年前
  • npm 包 karma-typescript-plugin 使用教程

    前言 在前端开发中,我们经常需要使用 TypeScript 来编写代码以提高代码的可读性和可维护性。Karma 是一个 JavaScript 测试框架,它可以集成多种浏览器,方便我们在不同浏览器下测试...

    2 年前
  • npm 包 yaynab-vue-tables-2 使用教程

    在前端开发中,表格是一个不可或缺的组件。而 vue.js 是目前很多项目中使用的前端框架,针对 vue.js 的表格组件也存在很多。其中,我们推荐使用 npm 包 yaynab-vue-tables-...

    2 年前
  • npm 包 zoompix 使用教程

    什么是 zoompix? zoompix 是一个基于 JavaScript 的 npm 包,用于在网页中实现图片的缩放和拖拽功能。它支持移动端和 PC 端,并具有简单易用、轻量级和高性能的特点。

    2 年前
  • npm 包 base-x-bytearray 使用教程

    base-x-bytearray 是一个用于将字节数组转换为任意进制字符串的 npm 包。这个包非常适合前端开发人员进行数据类型转换。本文将介绍如何使用这个包,并且会提供一些示例代码来帮助初学者更好地...

    2 年前
  • npm包koa-couchbase-error使用教程

    概述 koa-couchbase-error是一个与koa结合使用的npm包,它可以帮助我们处理Couchbase数据库的错误信息。本文将对koa-couchbase-error的使用方法进行详细介绍...

    2 年前
  • npm 包 less-hsluv 使用教程

    简介 less-hsluv 是一个基于 HSLuv 色彩空间的颜色函数库。HSLuv 是一个人类友好的颜色空间,相比于 RGB 和 HSL,HSLuv 保留了人眼对色彩的感知方式,更容易进行调色。

    2 年前
  • npm 包 inject-decorator 使用教程

    什么是 inject-decorator? inject-decorator 是一个适用于前端开发的 npm 包,主要用于给 React 组件或者类的属性或者方法注入外部函数或者类的实例,并且支持对注...

    2 年前
  • NPM 包 Observable-Function 使用教程

    在前端开发中,我们常常需要处理异步数据流。Observable-Function 是一个强大的 JavaScript 库,可以帮助我们轻松管理和处理异步数据流。在本篇文章中,我将为您详细讲解 Obse...

    2 年前
  • npm 包 ng2-ef-inputs 使用教程

    ng2-ef-inputs 是一个 Angular 2+ 应用中的表单输入组件。它提供了多种形式的输入,并允许你自定义的输入格式。本篇文章将介绍如何使用该 npm 包。

    2 年前
  • npm 包 bm-vue-calendar 使用教程

    bm-vue-calendar 是一个基于 Vue.js 的日历组件库。它提供了一系列的日历组件,可以帮助开发者快速搭建日历应用。在这篇文章中,我们将详细介绍如何使用 bm-vue-calendar。

    2 年前

相关推荐

    暂无文章