问题标签 [wkt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
410 浏览

javascript - openlayers 从 WKT 创建标记(带有图标的功能)

我有一个点对象 WKT。像这样:POINT (25.04568 48.221548)。我的项目文件夹中还有一个图标。

我的目标是在地图上显示一个代表功能的图标。它可以只是一个普通的 OpenLayers 功能(如果是,那么我如何定义它应该代表和图标)还是我需要创建一个 OpenLayers 标记(以某种方式从 WKT 创建 LonLat)?

0 投票
4 回答
2657 浏览

mysql - MySQL 的 POINT() 函数记录在哪里?

似乎除了使用 WKT 和 GeomFromText 函数之外,MySQL 还支持另一种创建几何的方法。该函数POINT()文档中的示例中使用,但我找不到该函数本身的文档记录位置。

这个非常简单,但我想知道是否还有其他可以使用的函数,而不是解析 WKT 字符串。

0 投票
1 回答
4800 浏览

java - 验证 WKT 格式的几何图形

我是 GIS 领域的新手,我需要在 java 中验证 WKT 格式的几何图形,以检查简单多边形是否为闭环,即顶点的起点和终点应该相同。我目前正在使用 oracle 空间(com.oracle.sdoapi)的 jGeometry 类,获取第一个和最后一个顶点并进行比较。另外,我正在使用 getType() 方法来检查它是否是简单的多边形。以下是正在使用的一段代码:

是否有任何简单的方法可以做到这一点,或者是否有任何可用的 API?如果它已经完成并且易于使用,我不想重新发明轮子。谢谢!

0 投票
5 回答
2430 浏览

javascript - 如何将 WKT 转换为 SVG

我有一些众所周知的文本 (WKT) 用于表示几何对象,例如 Point、MultiPoint、LineString、Polygon、MultiPolygon 等。我有一个总共有 40000 个点的多面体。

我发现这个插件可以将 SVG 转换为 WKT。是否有任何将 WKT 转换为 SVG 的 JavaScript 或 PHP 插件?

0 投票
1 回答
1030 浏览

c++ - 如何使用 Boost::Geometry 解析 wkt Geometrycollection?

我是 boost::geometry 的新手,在文档或此处找不到任何示例。我在每一行都有一个带有 wkt GEOMETRYCOLLECTION 的文本文件。每个集合都包含一个或多个 MULTIPOINTS。解析 MULTIPOINTS 没问题:

但我需要解析这样的东西:

任何想法如何做到这一点?

0 投票
1 回答
3156 浏览

c# - 正则表达式解析/将 WKT(众所周知的文本)拆分为键值对

几个小时以来我一直在努力解决这个问题,但我显然缺乏基本的正则表达式知识来做我想做的事。

我有一个 WKT(众所周知的文本,请参阅http://en.wikipedia.org/wiki/Well-known_text)字符串,如下所示:

我想将此字符串解析为键/值对。所以,举个例子:

SPHEROID["Bessel 1841",6377397.155,299.1528128000009,AUTHORITY["EPSG","7004"]]会成为:

关键SPHEROID

价值"Bessel 1841",6377397.155,299.1528128000009,AUTHORITY["EPSG","7004"]

通过匹配\[(.*?)\]我得到所有的值(见http://rubular.com/r/6SxMbRMufJ),但我失去了钥匙。如何创建一个正则表达式,其中第一组是键,第二组是值?

另外,有没有办法拆分嵌套值(如key[key[value]]]),或者我必须在每场比赛中使用递归?

0 投票
1 回答
975 浏览

solr - Solr 4.5:到路由的距离:排序或过滤

使用 Solr 4.5 和用例是我需要按到给定路线的距离对结果进行排序。使用包含 1 个地理坐标作为 rpt 字段geo(兴趣点的位置)的文档。

这是我的目标的说明:http: //i.imgur.com/lGgMEal.jpg。我想计算从文档到给定路线的最短距离并将其用作提升组件。

当前的尝试是{!score=recipDistance}在模式中使用函数edismax并在 WKT 中将路线描述作为 LineString 发送。这是现在发送的查询:

并以 URI 形式:

我对这种方法的问题是:

  • 距离似乎是从形状(路线)的中心计算的。这意味着我们获得的距离不是到线路,而是到现场。有了这个查询Pt(x=60.027965,y=11.512795)
  • 距离计算的结果似乎是错误的。索引中有 4 个文档,它们按以下顺序排列:

    • (1) 59.7333、7.61283
    • (2) 59.6236、10.7263
    • (3) 59.6238、10.7385
    • (4) 64.12379、22.14029

    当订单应该是:

    • (3) 59.6238、10.7385
    • (2) 59.6236、10.7263
    • (1) 59.7333、7.61283
    • (4) 64.12379、22.14029

您可以在此处查看带有 boost calc 调试的完整结果:pastebin.com/5tvCb0Cf

另一种可行的解决方案可能是按到路线的距离过滤文档(例如:http: //i.imgur.com/EJu8Kcg.jpg)。这可以通过使用似乎在 jTS 和 spatial4j 中都支持的缓冲线来完成。唯一的问题是我如何发送缓冲行作为Intersect函数的输入(像这样:)geo:"Intersects(LINESTRING (59.79619 11.38690, 60.25974 11.63869) d=1)"

这里的解决方案是创建一个自定义搜索组件,该组件将接受作为 LineString 的路由,并将进一步作为 Polygon 或 MuliPolygon 转发查询,但除非必要,否则我宁愿避免开发自定义组件。

我的问题是:

  • 在 Solr 4.5 中是否有可能获得到 LineString 的距离,而不是到形状的中心?
  • 我们可以发送一个缓冲的行作为Intersect函数的输入吗(像这样:)geo:"Intersects(LINESTRING (59.79619 11.38690, 60.25974 11.63869) d=1)"

PS:索引中的字段说明:

字段类型定义:

0 投票
1 回答
4568 浏览

python - shapely.geos.ReadingError:由于读取输入时出现错误而无法创建几何图形

当我尝试对以下输入使用 shapely.wkt.loads 时,出现标题错误:

为您省去滚动浏览所有内容的麻烦,它采用 WKT 格式。这是我正在阅读的大约 100 个多边形之一,也是唯一一个抛出此错误的多边形。需要明确的是,当我打电话时:

我得到错误:shapely.geos.ReadingError: Could not create geometry because of errors while reading input.

我什至遇到了将其解析为常规 shapely.geometry.Polygon 格式的麻烦。然后,它工作正常。但我宁愿不要用烦人的字符串解析(以及丑陋的尝试/除外)来混乱代码。而且,当然,shapely/wky.py 文件绝对没有告诉我任何信息……如果有人知道发生了什么/如何解决它,我将不胜感激。谢谢!

0 投票
2 回答
2050 浏览

python - Python将WKT多边形转换为逐行点

如何在 csv 文件中获得如下内容:

UID(如 101,102 等)表示每个多边形的唯一标识符。

0 投票
3 回答
1320 浏览

python - 在 Python 中使用正则表达式来确定几何的类型

我有许多 WKT(众所周知的文本)形式的 MULTIPOLYGONS,如下所示:

给定几何形状,我需要一个程序来为我确定这些类型。我尝试在 python 中使用正则表达式。由于几何之间的唯一区别是括号,因此我尝试将它们用作模式,但它不起作用。我尝试识别带有一个孔的单个多面体是这样的:

为什么它不能使用括号作为模式,什么是可能的解决方案?