tin-sea-geo-macros

Crates.iotin-sea-geo-macros
lib.rstin-sea-geo-macros
version0.1.2
created_at2025-10-13 00:30:34.172355+00
updated_at2025-10-13 00:30:34.172355+00
descriptionA Rust procedural macro library that provides convenient geographic information processing capabilities for SeaORM.
homepagehttps://github.com/JiabinTang/tin-sea-geo-macros
repositoryhttps://github.com/JiabinTang/tin-sea-geo-macros
max_upload_size
id1879869
size13,559
唐加彬 (JiabinTang)

documentation

README

tin-sea-geo-macros

为 SeaORM 提供地理信息处理功能的 Rust 过程宏库。

安装

[dependencies]
tin-sea-geo-macros = "0.1.0"

功能

  • 自动添加几何字段
  • 自动添加中心点字段
  • 支持坐标系转换

使用方法

添加几何字段

use tin_sea_geo_macros::with_geometry;

#[with_geometry]
struct Building {
    id: i32,
    name: String,
    // 自动添加: geometry: String
}

添加中心点字段

use tin_sea_geo_macros::with_centroid;

#[with_centroid]
struct Location {
    id: i32,
    address: String,
    // 自动添加: centroid: String
}

同时添加两个字段

use tin_sea_geo_macros::with_geo;

#[with_geo]
struct District {
    id: i32,
    name: String,
    // 自动添加: geometry: String 和 centroid: String
}

参数说明

  • transform: 是否进行坐标转换(默认: true
  • srid: 目标坐标系 SRID(默认: 4326
  • db_field: 数据库几何字段名(默认: "geom"
  • field: 生成的字段名

许可证

MIT

Commit count: 0

cargo fmt