我们非常高兴的发布为了一年一度的SIGGRAPH 2023发布关于为PostGIS支持USD格式的新拓展。

新添加了3个函数

ST_AsUSDA(geom geometry, usd_root_name text, usd_geom_name text, width float)
ST_AsUSDC(geom geometry, usd_root_name text, usd_geom_name text, width float)
ST_GeomFromUSD(format int, content bytea)

函数ST_AsUSDA和ST_AsUSDC用于转换PostGIS的geometry为USD数据,可以是文本格式的USDA用于调试,或者是紧凑的二进制USDC格式。所有的参数解释如下。

  • geom, 输入PostGIS几何体
  • usd_root_name text, USD默认Prim的名字,默认为World
  • usd_geom_name text, 生成的USD对象Prim名字,默认为_geometry
  • width, 默认为1.0,对于点Point和线Curve类似的geomtry, 此参数设置其宽度

ST_GeomFromUSD用于转换USD文件到GEOMETRYCOLLECTION,

  • format,设置为1,输入内容为USDA,设置为2,为二进制USDC

代码仓库

  • https://github.com/j-cube/postgis

分支

  • bo-dev-usd

编译和安装的方式等同于PostGIS,一切按照PostGIS文档所描述进行即可。

感谢香港特新科技对本项目的赞助和支持。


We're happy to annouce that the USD format in PostGIS is working for SIGGRAP 2023.

There are 3 major functions were created,

ST_AsUSDA(geom geometry, usd_root_name text, usd_geom_name text, width float)
ST_AsUSDC(geom geometry, usd_root_name text, usd_geom_name text, width float)
ST_GeomFromUSD(format int, content bytea)

The function ST_AsUSDA and ST_AsUSDC are used convert a PostGIS geometry to USD content, either in ASCII(USDA) format or binary Crate format(USDC). Both of them supports all geometry type. Here is the explanation for all arguments.

  • geom, the PostGIS geometry
  • usd_root_name text, default value is "World", generated USD has default prim with same name
  • usd_geom_name text, default value is "_geometry", if a geometry contains sub-geometry, the all geometry object will be created with flatten USD prims with this name
  • width, default value is 1.0, for Point or Curve-like geometry, it sets the USD width at USD geometry

ST_GeomFromUSD is is used to convert a USD content back to a set of geometry wrapped by GEOMETRYCOLLECTION.

  1. format = 1 when content is USDA, format = 2 for USDC

Repository

  • https://github.com/j-cube/postgis

Branch

  • bo-dev-usd

Build and test as PostGIS document described.

Thanks for the support from Jadason Technology Ltd for this project.

发布关于PostGIS对于USD格式的拓展的更多相关文章

  1. GeoServer 发布PostGIS数据库中的栅格数据

    1.导入栅格数据 进入PostgreSQL\bin目录,利用raster2pgsql工具导入栅格数据,具体命令如下所示: <!-- 分块,切片存储到PostGIS数据库中 --> rast ...

  2. USD词汇表(USD Glossary)

    这篇文章是在学习USD的过程中龟速写成的,目的是将USD的核心设计.相关概念的说明.以及配套API整理出来,为后续进行的USD开发工作提供中文资料支持. 实际上也只有充分理解了USD设计中的每一个知识 ...

  3. 使用TypeScript拓展你自己的VS Code!

    0x00 前言 在前几天的美国纽约,微软举行了Connect(); //2015大会.通过这次大会,我们可以很高兴的看到微软的确变得更加开放也更加务实了.当然,会上放出了不少新产品和新功能,其中就包括 ...

  4. Replication的犄角旮旯(八)-- 订阅与发布异构的问题

    <Replication的犄角旮旯>系列导读 Replication的犄角旮旯(一)--变更订阅端表名的应用场景 Replication的犄角旮旯(二)--寻找订阅端丢失的记录 Repli ...

  5. 【Python爬虫实战--2】时间戳转换为指定格式日期

    摘自:http://www.2cto.com/kf/201406/311477.html (1)方法: 方法一: 利用localtime()转换为时间数组,然后格式化为需要的格式,如 timeStam ...

  6. dubbo源码之服务发布与注册

    服务端发布流程: dubbo 是基于 spring 配置来实现服务的发布的,对于dubbo 配置文件中看到的<dubbo:service>等标签都是服务发布的重要配置 ,对于这些提供可配置 ...

  7. 突发奇想之:源码及文档,文档包括源码---xml格式的源码,文档源码合并;注释文档化,文档代码化;

    目前源码和文档一般都是分开的,我在想为什么 源码不就是最好的文档么? 但是一般源码都是文本text的,格式化需要人为统一规范,所以源码中的文档在现实中不是那么的易于实践. 而且 源码 不能包括图片.附 ...

  8. fasta/fastq格式解读

    1)知识简介--------------------------------------------------------1.1)测序质量值 首先在了解fastq,fasta之前,了解一下什么是质量 ...

  9. 精《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #5 使用checkpatch.pl检查补丁的格式

    HACK #5 使用checkpatch.pl检查补丁的格式 本节介绍发布前检查补丁格式的方法.Linux内核是由多个开发者进行开发的.因此,为了保持补丁评估与源代码的可读性,按照统一的规则进行编写是 ...

  10. ArcGIS中地图导出格式比较(转)

    转自:http://blog.sina.com.cn/s/blog_6438c8360101eqfx.html   有人问过这样的问题,用于出挂图的地图格式应该怎么选择?熟悉ArcGIS的用户都知道, ...

随机推荐

  1. 2023-02-18:ffmpeg是c编写的音视频编解码库,请问用go语言如何调用?例子是03输出版本号。

    2023-02-18:ffmpeg是c编写的音视频编解码库,请问用go语言如何调用?例子是03输出版本号. 答案2023-02-18: 用 github.com/moonfdd/ffmpeg-go 这 ...

  2. 2022-11-15:这里有 n 个航班,它们分别从 1 到 n 进行编号。 有一份航班预订表 bookings , 表中第 i 条预订记录 bookings[i] = [firsti, lasti,

    2022-11-15:这里有 n 个航班,它们分别从 1 到 n 进行编号. 有一份航班预订表 bookings , 表中第 i 条预订记录 bookings[i] = [firsti, lasti, ...

  3. Django4全栈进阶之路7 makemigrations和migrate迁移

    Django 4 中使用数据迁移(migration)来管理数据库结构的变化.数据迁移可以创建.修改和删除数据库表.字段.索引等对象,以及填充初始数据. 下面是使用数据迁移的基本步骤: 1.在 app ...

  4. vue全家桶进阶之路38:Vue3 组件内部路由守卫

    在 Vue Router 中,可以为路由和路由组件注册全局的路由守卫,也可以在组件内部注册路由守卫. 组件内部的路由守卫有以下几种: beforeRouteEnter:在路由进入组件前被调用,但是在组 ...

  5. uni-app 创建项目及目录结构

    文件-新建-1.项目 ┌─uniCloud 云空间目录,阿里云为uniCloud-aliyun,腾讯云为uniCloud-tcb(详见uniCloud) │─components 符合vue组件规范的 ...

  6. Node.js出现‘Cannot find module init’ 解决方法

    1. 首先查看当前根目录是否有node_module文件夹,如果有,请删除 2. 输入 npm clean cache 3. 再次输入 node init -y 大功告成

  7. MyBatis 在大数据量下使用流式查询进行数据同步

    通常的数据同步中,如果数据量比较少的话可以直接全量同步,默认情况下,完整的检索结果集会将其存储在内存中.在大多数情况下,这是最有效的操作方式,并且由于 MySQL 网络协议的设计,因此更易于实现.但是 ...

  8. 自己动手写Docker学习笔记

    零.前言 本文为<自己动手写 Docker>的学习,对于各位学习 docker 的同学非常友好,非常建议买一本来学习. 书中有摘录书中的一些知识点,不过限于篇幅,没有全部摘录 (主要也是懒 ...

  9. golang 包管理

  10. K2C V21.4.6.12刷breed教程

    K2C V21.4.6.12刷breed教程(刷机方法源自qiao99) 原贴地址:K2C V21.4.6.12刷breed记录 http://www.right.com.cn/forum/threa ...