Autocasting 简介 Autocasting 是 ArcGIS API for JavaScript 4.x 的一个新特性, 将 json 对象转换成对应的 ArcGIS API for JavaScript 类型实例, 而不需要导入对应的 js 模块。 在下面的示例代码中, 为 FeatureLayer 创建一个 SimpleRenderer 需要导入 5 个模块: require([ 'esri/Color', 'esri/symbols/SimpleLineSymbol', 'esri/symbols/SimpleMarkerSymbol', 'esr... 阅读全文
PostgreSQL 数据库中的角色 PostgreSQL 使用角色 (role) 来体现用户账户, 和其它数据库系统的用户概念不同: 通常, 如果一个角色能够登录到数据库, 则被视为一个登录角色 (Login Role), 和其它数据库中的用户的等价; 当一个角色包含了其它角色时, 则被视为组角色 (Group Role) ; 创建角色的语句为 create role name [ [ with ] option [ ... ] ]; 可选的 option 有: login password superuser createdb 等 要创建一个... 阅读全文
使用 NHibernate 创建 Asp.Net Core 应用 ASP.NET Core Identity 拥有完整的的用户认证、角色以及授权、开放认证的接口规范, 并且默认使用自家的 EntityFramework 进行了实现。 NHibernate 是 .NET 平台上老牌的对象关系映射 (ORM) 类库, 成熟度很高, 也实现了 ASP.NET Core Identity 的认证支持。 Identity 定义了一套完善的、可扩展的数据表结构, 存储用户、角色、权限等信息, 以及一套完善的用户/角色/权限管理 API 。 根据 NHibernate.AspNetCore... 阅读全文
顶级语句 顶级语句可以删除程序中不必要的代码, 以最简单的 Hello, world! 为例: using System; namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } } 如果使用顶级语句的话, 可以简化为: using System; Console.WriteLine("Hello World!"); 如果不使用 ... 阅读全文
MapBox 的 mapbox-gl-js 最近发布了 2.0 版本, 支持 3D 地形, 对于它的 3D 地形很感兴趣, 于是就研究了一下如何发布它的数据格式以及如何发布它需要的地形数据服务 (Terrain-RGB)。 Mapbox Terrain-RGB 简介 Mapbox Terrain-RGB 包含以 PNG 栅格切片编码的全球数字高程数据, 这些颜色值可以解码为以米为单位的原始高度。 您可以将 Terrain-RGB 数据用于各种视觉和分析应用程序, 从设计地形坡度和山体阴影样式到生成用于视频游戏的 3D 地形网格。 有关Terrain-RGB的一些细节: ... 阅读全文
将 Ubuntu 服务器从 18.04 升级到 20.04 , 在执行 do-release-upgrade 时提示无法检查新版本, 完整的错误信息如下: Checking for a new Ubuntu release Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings There is no development version of an LTS available. To upgrade to... 阅读全文
在 Docker 中运行的 PostgreSQL 数据库突然无法启动, 错误日志类似这样: PANIC,XX000,"could not locate a valid checkpoint record",,,,,,,,,"" LOG,00000,"startup process (PID 24) was terminated by signal 6: Aborted",,,,,,,,,"" LOG,00000,"aborting startup due to startup process failure",,,,,,,,,"" 这种情况多数情况下是在执行事务时, 数据库被强行关... 阅读全文
在 ArcGIS JS API 的开发中, FeatureLayer 可以说是让人又爱又恨, 特别是 ArcGIS JS API 4.x , FeatureLayer 从服务端加载数据的策略不可控制, 或者说默认的数据加载策略不适合所有的场景, 某些场景下, 需要从先加载数据, 然后在客户端创建 FeatureLayer 。 要在客户端创建 FeatureLayer , 根据 FeatureLayer 的文档, 这几个属性必须设置: fields 指定一个 Field 数组来描述 FeatureLayer 的架构, 并且必须包含一个类型为 oid 的字段; source 指... 阅读全文
由于项目安全评测的原因, 需要为 Postgres 数据库启用 ssl 连接, 特记录如下。 使用 openssl 生成 ssl 证书 生成证书需要 openssl 工具, 如果没有安装的话, 可以直接登录进去 Postgres 数据库的容器, 已经内置了 openssl , 而且兼容性也比较好。 生成证书的命令如下: openssl req -new -text -passout pass:abcd -subj /CN=localhost -out server.req -keyout privkey.pem openssl rsa -in privkey.pem -passi... 阅读全文
单文件应用简介 .NET Core 3.x 发布的单文件应用是自解压程序, 解压路径貌似是通过 System.IO.Path.GetTempPath() 来确定的: Windows 系统 %TEMP%\.net\ macOS 系统 /var/folders/s8/q4c00lhx3k384hngtv9pmwv40000gn/T/.net/ Linux 系统 /var/tmp/.net/ .NET Core 3.x 发布的单文件应用偶尔会出现无法运行的错误, 需要删除上面目录中对应的 app 目录, 再运行就可以了; .NET 5.0 发布的自单文件应用可以... 阅读全文
ArcGIS JS API 基于古老的 JavaScript 框架 Dojo 开发, dojo 虽然是曾经的王者, 但是2020年的前端开发, 早已是 Angular、 React 和 Vue 三大框架的天下, JavaScript 的新特性可以说是日新月异, 国内也几乎没有人基于 dojo 进行开发, 因此本文介绍如何使用现代化的脚本 (ES6, ES7, ES2018 等, 以下统称 ES6+, TypeScript) 进行 ArcGIS JS API 开发。 ArcGIS JS API 模块化概述 ArcGIS JS API 提供的基于 dojo 的模块是 Asynchr... 阅读全文
ASP.NET Core 应用默认监听的端口是 5000 , 在调试或者部署的过程中经常需要指定监听的端口来来运行, 本文就这个问题, 进行一个总结, 可以通过下面的方法来指定运行端口。 使用命令行参数 使用命令行参数 --urls 是最常用的方法了, 测试或者开发环境下用的最多。 只需要在运行命令中添加这个参数即可, 如下所示: dotnet run --urls=http://localhost:5001/ 在 appsettings.json 中添加配置 如果倾向于使用配置文件, 可以在 appsettings.json 文件中添加 urls 节点, 如下所示: { ... 阅读全文