我们非常高兴的发布为了一年一度的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. 简单工厂模式(Static Factory Method)

    创建性设计模式--简单工厂模式(Static Factory method) 模式动机 只需要知道参数的名字则可得到相应的对象 软件开发时,有时需要创建一些来自于相同父类的类的实例.可以专门定义一个类 ...

  2. 2022-09-29:在第 1 天,有一个人发现了一个秘密。 给你一个整数 delay ,表示每个人会在发现秘密后的 delay 天之后, 每天 给一个新的人 分享 秘密。 同时给你一个整数 forg

    2022-09-29:在第 1 天,有一个人发现了一个秘密. 给你一个整数 delay ,表示每个人会在发现秘密后的 delay 天之后, 每天 给一个新的人 分享 秘密. 同时给你一个整数 forg ...

  3. 2021-05-05:一个数组中只有两种字符‘G‘和‘B‘,可以让所有的G都放在左侧,所有的B都放在右侧。或者可以让所有的G都放在右侧,所有的B都放在左侧。但是只能在相邻字符之间进行交换操作。返回至少

    2021-05-05:一个数组中只有两种字符'G'和'B',可以让所有的G都放在左侧,所有的B都放在右侧.或者可以让所有的G都放在右侧,所有的B都放在左侧.但是只能在相邻字符之间进行交换操作.返回至少 ...

  4. Python基础 - 逻辑运算符

    Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20: 运算符 逻辑表达式 描述 实例 and x and y 布尔"与" - 如果 x 为 False,x a ...

  5. WC2021及学长分享题目

    部分题目见洛谷题单 动态更新. 标 * 为想做的题. hdhd: CF1214G Feeling Good CF1305F Kuroni and the Punishment AGC016F Game ...

  6. 记一次618军演压测TPS上不去排查及优化

    本文内容主要介绍,618医药供应链质量组一次军演压测发现的问题及排查优化过程.旨在给大家借鉴参考. 背景 本次军演压测背景是,2B业务线及多个业务侧共同和B中台联合军演. 现象 当压测商品卡片接口的时 ...

  7. Rust的类型系统

    Rust的类型系统 类型于20世纪50年代被FORTRAN语言引入,其相关的理论和应用已经发展得非常成熟.现在,类型系统已经成为了各大编程语言的核心基础. 通用基础 所谓类型,就是对表示信息的值进行的 ...

  8. 【QCustomPlot】使用方法(动态库方式)

    说明 使用 QCustomPlot 绘图库辅助开发时整理的学习笔记.同系列文章目录可见 <绘图库 QCustomPlot 学习笔记>目录.本篇介绍 QCustomPlot 的一种使用方法, ...

  9. Mybatis使用级联映射时 , 查询的结果为null

    错误原因 在学习多对一映射处理中的级联方式处理映射关系时 , 发现自己查询的结果有一个为为null 于是就开始对代码进行排查 , debug ,最终发现错误 , 原来是自己映射中的 property ...

  10. mysql concat函数的用法

    mysql中的这个函数非常强大,可以对查出的参数进行拼接,其实这个方法在java中也有api可以进行调用. 那么什么时候进行使用呢?例如,你老大叫你做一个数据库的数据采集,需要整理成文档,那么这个时候 ...