Android不基于第三发依赖包解析shp文件(2)

这篇具有很好参考价值的文章主要介绍了Android不基于第三发依赖包解析shp文件(2)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

接着上篇文章继续
2)Point (点)
  一个 Point 由一对双精度坐标组成,存储顺序为 X,Y。
  Android不基于第三发依赖包解析shp文件(2)

/**
     * PointGeometry记录读取
     * */
    static  Geometry renderPointGeometry(byte[] recordContent,GeometryFactory geometryFactory) {
   
        int shapetype2 = ByteBuffer.wrap(recordContent, 0, 4).order(ByteOrder.LITTLE_ENDIAN).getInt();
        double x = ByteBuffer.wrap(recordContent, 4, 8).order(ByteOrder.LITTLE_ENDIAN).getDouble();
        double y = ByteBuffer.wrap(recordContent, 12, 8).order(ByteOrder.LITTLE_ENDIAN).getDouble();
        Coordinate[] Points = new Coordinate[0];
        Points[0]=new Coordinate(x,y);
        CoordinateSequence coordinates=new CoordinateArraySequence(Points);
        return  new Point(coordinates,geometryFactory);
    }

3)MultiPoint (多点)
一个 MultiPoint 描述一组点, 具体如下:
Android不基于第三发依赖包解析shp文件(2)文章来源地址https://www.toymoban.com/news/detail-444852.html

     /**
     * MutilPointGeometry记录读取
     * */
    static  Geometry renderMutilPointGeometry(byte[] recordContent,GeometryFactory geometryFactory) {
   
        int shapetype2 = ByteBuffer.wrap(recordContent, 0, 4).order(ByteOrder.LITTLE_ENDIAN).getInt();
        //记录四至范围
        double[] boundingBox = new double[4];
        for (int i = 0; i < boundingBox.length; i++) {
   
            boundingBox[i] = ByteBuffer.wrap(recordContent, 4 + i * 8, 8).order(ByteOrder.LITTLE_ENDIAN).getDouble();
        }
        int pointNum = ByteBuffer.wrap(recordContent, 36, 4).order(ByteOrder.LITTLE_ENDIAN).getInt();
        byte[] pointByteContent=new byte[recordContent.length-40];
        System.arraycopy(recordContent, 40, pointByteContent,0, (recordContent.length-40));
        Point[] Points = new Point[pointNum];
        for (int j = 0; j < pointNum; j++) {
   
            Coordinate coordinate=new Coordinate();
            if(j<pointNum-1) {
   
                coordinate

到了这里,关于Android不基于第三发依赖包解析shp文件(2)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • shp文件与数据库(创建shp文件)

    前面把shp文件中的内容读取到数据库,接下来就把数据库中的表变成shp文件。 暂时不读取数据库的表,先随机创建一个shp文件。既然是随机的,这就需要使用到faker这个第三方库,代码如下。 运行代码 在桌面的out文件中生成faker_data.shp文件,如下图所示 查看生成shp文件中的

    2024年02月01日
    浏览(31)
  • arcgis使用面shp文件裁剪线shp文件报错

    水系数据裁剪,输出为空: ArcGIS必会的几个工具的应用 --提取、分割、融合、裁剪(矢)、合并、追加、镶嵌、裁剪(栅)、重采样_arcgis分割-CSDN博客 下面的方法都不行: ArcGIS Clip(裁剪)时出现000117错误的解决办法_空多边形不完整-CSDN博客 我打开属性都检查了一遍,都是

    2024年04月14日
    浏览(24)
  • nodejs实现解析chm文件列表,无需转换为PDF文件格式,在线预览chm文件以及目录,不依赖任何网页端插件

    特性: 1、支持任意深度的chm文件解析 2、解析后内容结构转换为tree数据呈现 3、点击树节点可以在html实时查看数据  4、不依赖任何浏览器端插件,兼容性较好

    2024年02月13日
    浏览(39)
  • Android 13.0 在系统app安装第三方app弹出 解析安装包出现问题 的解决方案

    在13.0的系统定制化开发中,对于系统内置app中用代码调用系统安装接口安装app时抛出Permission Denial: that is not exported from UID 1000的异常,查询资料这个异常发现通常是由于Uri权限导致的问题,这就需要看PMS在安装的时候,需要什么权限,然后根据相关的日志分析 相关的安装流程

    2024年02月10日
    浏览(34)
  • go获取文件md5后接着读取file对象EOF的问题记录

    目录 背景 分析 第一步:读取文件,获得file对象 第二步:获取文件md5 第三步:获取到md5后继续使用(读取)file对象,发现一次就读完了(EOF),但实际一次不可能读完 代码如下: 如上代码中,在获得该文件的md5后,file对象此时已指向文件末尾,因此接着读取必然是EOF直接

    2024年01月19日
    浏览(30)
  • 前端 解析压缩包,并且读取Shp生成GeoJson在MapBox上渲染

    这里需要先安装shapefile;jszip;turf npm install shapefile npm install jszip npm install @turf/turf

    2024年01月17日
    浏览(30)
  • 接着聊聊如何从binlog文件恢复误delete的数据,模拟Oracle的闪回功能

    看腻了文章就来听听视频演示吧:https://www.bilibili.com/video/BV1cV411A7iU/ delete忘加where条件(模拟Oracle闪回) 操作基本等同于上篇:再来谈谈如何从binlog文件恢复误update的数据,模拟Oracle的回滚功能 原理 :binlog的ROW模式将记录的delete语句内容转换成insert语句 步骤 : 查找误操作

    2024年02月07日
    浏览(37)
  • shp 地图文件批量添加字段

    # -- coding:utf-8 -- import geopandas as gpd import os from osgeo import ogr # shp 文件批量添加字段 def addfeilds(filepath):     for filename in os.listdir(filepath):         print(filename)         if filename.endswith(\\\".shp\\\"):             try:                 driver = ogr.GetDriverByName(\\\'ESRI Shapefile\\\')              

    2024年02月08日
    浏览(39)
  • python使用第三方库PyPDF2、PDFMiner或pdfplumber来解析PDF文件

    使用第三方库PyPDF2、PDFMiner或pdfplumber来解析PDF文件可以实现PDF文件的内容提取、搜索和修改等功能。下面是使用PDFMiner来解析PDF文件的安装说明和代码示例: PDFMiner 下面是一些PDFMiner的常见操作: 1.安装PDFMiner库:在Python环境中,可以使用pip命令安装PDFMiner库。 2.导入PDFMiner库

    2024年02月09日
    浏览(43)
  • 深入解析C#中的第三方库NPOI:Excel和Word文件处理的利器

    一、引言 在.NET开发中,操作Office文档(特别是Excel和Word)是一项常见的需求。然而,在服务器端或无Microsoft Office环境的场景下,直接使用Office Interop可能会面临挑战。为了解决这个问题,开源库NPOI应运而生,它提供了无需安装Office即可创建、读取和修改Excel (.xls, .xlsx) 和

    2024年03月18日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包