gpt4 book ai didi

geometry - 如何从 NpgsqlDataReader 检索 NpgsqlTypes.PostgisGeometry 类型字段的几何坐标?

转载 作者:行者123 更新时间:2023-12-02 21:46:42 25 4
gpt4 key购买 nike

.NET 4.5、C#、Npgsql 3.1.0

我有一个检索 Postgis 几何字段的查询 - 我能看到执行此操作的唯一方法是:

public class pgRasterChart
{
...
public NpgsqlTypes.PostgisGeometry GEOMETRY;
...
}
...
NpgsqlDataReader reader = command.ExecuteReader();
try
{
while (reader.Read())
{
pgRasterChart chart = new pgRasterChart();
chart.GEOMETRY = (PostgisGeometry) reader.GetValue(21);
...

这个功能可以,但我需要获取 GEOMETRY 字段的坐标,但我找不到这样做的方法?我想使用坐标在 OpenLayers map 上显示结果。

非常感谢收到的任何答复。这是我的第一篇文章,如果礼仪笨拙或问题不清楚,我深表歉意。

最佳答案

提供另一个答案,因为上面的 PostGisTypes 文档链接现已损坏。

PostGisGeometry 是一个抽象基类,不包含任何比 SRID 更现有的内容。相反,您希望将数据读取器获得的对象转换为适当的类型(以下任何类型):

  • PostGisLineString
  • PostGisMultiLineString
  • PostGisMultiPoint
  • PostGisMultiPolygon
  • PostGisPoint
  • PostGisPolygon

这些类有获取坐标的方法。

例如:

...
NpgsqlDataReader reader = command.ExecuteReader();
try
{
while (reader.Read())
{
var geom = (PostgisLineString) reader.GetValue(0);
var firstCoordinate = geom[0]; // Coordinate in linestring at index 0
var X = firstCoordinate.X;
var Y = firstCoordinate.Y;
...

关于geometry - 如何从 NpgsqlDataReader 检索 NpgsqlTypes.PostgisGeometry 类型字段的几何坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36357348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com