首页 > 其他分享 >GDAL在Unity3D中的使用(一)

GDAL在Unity3D中的使用(一)

时间:2023-08-21 10:36:11浏览次数:46  
标签:Unity3D GDALTest System Collections Gdal 使用 using ds GDAL

1.上官网 选择对应版本  https://www.gisinternals.com/query.html?content=filelist&file=release-1930-x64-gdal-3-6-3-mapserver-8-0-0.zip

选择Stable Releases 然后选择对应得版本

GDAL在Unity3D中的使用(一)_GDAL

点进来后,一般下载第一个

GDAL在Unity3D中的使用(一)_GDAL_02

  1.   把图中dll放到 Unity的Assets文件夹下面我们之前建立的Plugins文件夹下.  

 网上看到说只放这个文件夹下的dll就行  但是我实际测试中不可以,还需要放  bin目录下所有的dll,这样运行才不会报错

GDAL在Unity3D中的使用(一)_Unity3d_03

3.进行测试

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GDALTest : MonoBehaviour
{
    void Start()
    {
        Gdal.AllRegister();
        Dataset ds = Gdal.Open(@"D:\mayawenunity\GDALTest\tin_TinRaste11.tif", Access.GA_ReadOnly);
        int w = ds.RasterXSize;
        int h = ds.RasterYSize;
        print("image width=" + w + ",height=" + h);
    }
}


 4.发现还会有报错(进行坐标系转换的时候),需访问压缩包中的一个数据库

GDAL在Unity3D中的使用(一)_GDAL_04

5.将proj.db放到unity中

GDAL在Unity3D中的使用(一)_GDAL_05

重新测试:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GDALTest : MonoBehaviour
{
    [SerializeField] string PROJSearchPath = Application.streamingAssetsPath + "/Data/proj9";
    void Start()
    {
        Gdal.AllRegister();
         Osr.SetPROJSearchPath(PROJSearchPath);

        Dataset ds = Gdal.Open(@"D:\mayawenunity\GDALTest\tin_TinRaste11.tif", Access.GA_ReadOnly);
        int w = ds.RasterXSize;
        int h = ds.RasterYSize;
        Debug.Log("image width=" + w + ",height=" + h);
    }
}

至此报错全部解决.

标签:Unity3D,GDALTest,System,Collections,Gdal,使用,using,ds,GDAL
From: https://blog.51cto.com/u_16221841/7171313

相关文章

  • 怎样才能搭建好一套受私募机构及操盘员使用的程序化金融量化交易系统?
    私募机构和操盘员在金融市场中扮演着重要的角色,他们的交易决策和操作对于投资者的回报至关重要。随着科技的迅猛发展,越来越多的私募机构和操盘员开始借助程序化金融量化交易系统提高交易效率和风险管理能力。在过去的几年里,也亲身经历了搭建一套受私募机构及操盘员使用的程序化金融......
  • 超过详细XMind2TestCase使用指南
    XMind2TestCase使用指南 1)GitHub地址:https://github.com/zhuifengshen/xmind2testcase2)XMind2TestCase使用指南一、XMind测试用例通用模板1、简单模板示例  2、简单模板示例解析结果3、具体解析规则注意,注意,注意,重要的事情说三遍!!!第六条规则,我们使用标注优先级......
  • 标签大全(纯文字版) 如需搜索使用Ctrl+F
    【公司信息】全部页面可用公司名称------{co('name')}公司地址------{co('address')}邮政编码------{co('postcode')} 联系人------{co('contact')} 联系手机------{co('phone')} 联系电话------{co('tel')} ......
  • 使用VuePress打造的LearnData知识库帮助我更好地学习和传播 - 从笔记到分享
    在当今快节奏的社会中,技术变化日新月异。作为一名技术博客站长,我深切感受到了学习和传播知识的重要性。为了更好地满足读者的需求,我决定采用VuePress搭建一个功能强大且易于维护的知识库平台,名为LearnData。本文将介绍我如何利用VuePress构建LearnData,并展示一些相关的代码示例。......
  • GitHub Deskhub使用
    (适合已经知道git是啥但是还不太熟到同学看~)GitHubdeskhub就是一个图形化的github管理工具啦,比起来命令行使用舒服100倍哈哈哈~链接:https://desktop.github.com/下载后解压,mac解压后拖到application里就ok啦。1.登录GitHub账号2.创建仓库可以选择:a.创建新仓库b.从自己的gith......
  • C# .NET 使用HttpClient,以及自定义Header中存在特殊字符的处理方式
    平常我们在使用HttpClient时,只需要创建加上设置调用接口地址就可以使用了,比如:HttpClienthttpClient=httpClientFactory.CreateClient();httpClient.BaseAddress=newUri(接口地址);httpClient.PostAsync(接口方法,HttpContent);但是,在自定义Header......
  • webpack学习笔记所使用的版本信息
    学习笔记所使用的版本信息学习笔记用到的npm包版本信息[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]......
  • 如何使用U盘安装Ubuntu 14.04
    对于做运维的同学来说U盘装个系统不就是分分钟的事吗,这有什么好说的?U盘安装系统一般就是如下几步:下载系统镜像。通过刻录软件写入U盘。修改BIOS,从U盘引导。喝杯咖啡,愉快的等待安装完成。通常按操上面的步骤如法炮制都是屡试不爽的,可偏偏通过U盘安装Ubuntu却是问题重重,下面我们就来......
  • flask_session的使用
    1安装flask_session模块pipinstallflask-session2导入一个类fromflask_sessionimportRedisSessionInterface3实例化得到对象#3把实例化得到的对象,赋值给app.session_interfaceapp.session_cookie_name='session'fromredisimportRedisconn=Redis(host=......
  • 【Todesk安装与使用】
    (Todesk安装与使用)一、安装前提:控制电脑与被控电脑均需要下载软件安装Todesk官方下载链接:https://www.todesk.com/进入官网后,点击个人免费版下载下载完成后,双击运行点击右下角的自定义选项选择安装位置这里作者安装到了D盘安装完成后,进行登录方式的选择,这里作者使用......