问题标签 [gis]

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 回答
1055 浏览

gis - ArcGIS:标签仅以 10,000,000 比例呈现

我正在使用带有 Oracle 10.2g 数据库的 ArcGIS Server 9.3。我创建了一个包含我的要素类的 MXD,并将其配置为将其中一个属性显示为标签 - 要素类和标签都设置为在所有比例下都可见。

在 ArcMap 中,标签仅以 1:10,000,000 的比例显示 - 一旦我放大它们就会消失。

我正在以“非标准”方式做两件事:

  1. 要素类是通过 ArcCatalog 的地理数据库设计器插件导入模式来创建的 - 导入后我注册为版本,并将编辑移动到基础

  2. 我正在使用 sql 插入数据 - 如下所示:

因此,当在 ArcMap 中可视化时,我看到的点没问题,但只有在我放大到全范围时才会渲染标签。图层和标签设置为以所有比例显示。

有没有人在做类似的事情,或者你能建议任何修复吗?

0 投票
4 回答
7272 浏览

algorithm - 自由格式文本的通用地址解析器

我们有一个显示地图数据的程序(想想谷歌地图,但为我们的客户提供了更多的交互性和自定义图层)。

我们允许通过一组组合框进行导航,这些组合框用一堆数据预填充某些字段(即:国家:加拿大,填写省字段。选择安大略省,并填写县/地区列表。选择县/地区,一个城市被填写,等等......)。

虽然这保证了准确的地址,但如果用户不知道街道地址或城市的位置(即,厨房在哪个县/地区?),他们会很痛苦。

因此,我们正在考虑尝试使用自由格式的文本字段进行地址解析器。

用户可以输入类似这样的内容(类似于谷歌地图、必应地图等):22 Main St, Kitchener, On

我们可以将其划分为多个部分并查找数据并找到他们正在寻找的点(或建议替代方案)。

问题在于我们如何正确划分信息?我们如何分解这些部分并找到可能的匹配项?我猜我们不能保证用户会以我们一直期望的格式输入数据(显然)。如果我们没有找到完全匹配(或找到多个完全匹配......例如,在不同县具有相同街道名称的两个城市),对此的跟进将是如何呈现数据。

我们在地图数据(主要是 mapinfo 选项卡格式)中有大量可用数据。所以我们可以快速扫描街道名称、城市、州等。但我不确定解决这个问题的最佳方法。当然,使用谷歌地图会很好,但是我们的大多数客户都处于封闭的网络中,通常不允许外部访问,并且大多数人不愿意依赖谷歌地图(因为它不包含他们需要的那么多信息,例如自定义地图图层)。显然,他们可以去谷歌找到正确的位置,然后转移到我们的软件,但这会很耗时,而且过程的速度可能非常重要。

0 投票
2 回答
725 浏览

java - GIS/地图显示组件

对于快速演示者,我正在寻找可以显示地理数据的 SWT 或 Swing 组件。不幸的是,我与互联网断开连接,所以谷歌地图将无济于事。

总体思路是用“地图视图”组装一个小型 Eclipse RCP 应用程序,连接到自定义 Web 服务,提供地理数据(轨迹)并在视图上显示所有内容。我快速浏览了uDig,但目前无法确定 uDig 是否能够显示更新的曲目。

矢量地图(形状)就足够了,我不需要栅格化地图数据。

0 投票
15 回答
214259 浏览

mysql - 查找两个纬度/经度点之间距离的最快方法

我目前在 mysql 数据库中只有不到一百万个位置,所有位置都包含经度和纬度信息。

我试图通过查询找到一个点与许多其他点之间的距离。它没有我想要的那么快,尤其是每秒点击 100 次以上。

除了 mysql 之外,是否有更快的查询或可能更快的系统?我正在使用这个查询:

注意:提供的距离以英里为单位。如果您需要公里,请使用6371而不是3959.

0 投票
2 回答
33091 浏览

sql - 使用 PostgreSQL 的多边形点的 SQL 查询

我有以下简单的表格:

然后我尝试用多边形插入一行:

并遇到此错误:

列“poly”属于多边形类型,但表达式属于几何类型

这是蹩脚的。所以我的第一个问题是:

  1. 我真的必须投吗?

无论如何,铸造后它可以工作。现在我正在尝试做一个简单的 ST_Contains 查询:

这给出了错误:

我应该做些什么?

以下作品:

但这可能是因为这两个参数都是几何类型的。针对表数据的实际查询不起作用。

回答:

多伊!问题是我创建的数据库不是基于postgis模板数据库(因此没有相关的功能和几何列表等)。最后,我可以说一下,PostGIS 要求您向数据库添加数百个函数、行和几个表的方式只是为了让您获得 GIS 支持,这完全是蹩脚的。它使模式的备份变得更加复杂并且非常容易出错(如果您忽略调用 AddGeometryColumn 而只是自己添加一个几何列,那么天堂是禁止的)。

0 投票
3 回答
715 浏览

optimization - (简单?)折线图的标签放置

我正在绘制高程剖面,显示沿路径的高程增益/损失,类似于下面的:

带有手工放置标签的示例海拔剖面 http://img38.imageshack.us/img38/4079/profilewithgoodlabels.png

这基本上是一个折线图,x 轴为起点,y 轴为高程。

我想在沿途的有趣点提供带有点高程的精美标签,就像我手动添加到示例图像中的那些。我正在寻找有关如何最好地放置这些标签的想法,以便:

  • 它们不相互重叠
  • 它们不与轮廓本身重叠,或者至少以一种看起来很干净的方式发生(例如,在陡峭的山谷中间可能有必要)
  • 它们不会延伸到限制整体形象的盒子之外

为了实现这些目标,我认为我可以(至少):

  • 翻转文本(参见示例)
  • 为领导者选择合适的长度
  • 为领导者选择合适的角度(但出于审美原因,可能需要尽量减少变化)
  • 在拥挤区域中为不太重要的地方放置点高程
  • 拥挤地区的缩写名称(PlaceName我的环境中的 s 已经以非常好的方式支持缩写,因此从“South Twin Mountain”切换到“S Twin Mtn”很容易)
  • 在拥挤的区域完全删除不太重要的注释

但我不知道如何最好地构造这个算法。这似乎是一个优化问题?(尽量减少与注释相关的臭味,并为我试图避免的每件事提供一个数值惩罚?)但是由于有很多离散变量需要优化,我并不真正关心“最佳”解决方案(只是一个好的,最好是稳定的)我不知道该怎么做。

通常如何处理图形中的此类问题?动态规划?分支和绑定?优化的想法是否有根据?是否有任何我可能想要查看的有用的 .NET 库?

(我不想把它完全交给一个通用的绘图库,因为它是整个产品的一个关键特性,而且我计划了一些更多的自定义特性,这些特性可能很难塞进一个通用的绘图库中)

0 投票
2 回答
4844 浏览

c# - 如何编辑 mif/mid gis 数据格式?

我正在开发一个使用 mif/mid 数据格式来显示 GIS 数据的应用程序 (.net 2.0)。我需要找到一种方法来使用某种编辑器(在应用程序之外)编辑这些文件。我用谷歌搜索了很多,但找不到任何合适的东西(地图制作器工作但没有显示中间文件中的标签)。我看到以下解决方案(按优先顺序):

  1. 找到一些允许正确编辑 mif/mid 格式的编辑器。哪一个?
  2. 找到一些允许编辑其他格式并具有转换实用程序的编辑器来转换为这种格式并返回到 mif/mid。哪一个?
  3. 找到一些允许编辑其他格式并具有转换实用程序一次转换为这种格式的编辑器。在这种情况下,我将不得不编写自己的解析器。我不喜欢这个主意:)。

免费编辑是首选。

谢谢!

UPD 1我忘了提到我需要加载 Unicode 中间文件或至少指定代码页。这就是为什么,例如,OpenJump 的插件不起作用(我猜)

UPD 2这似乎是一个真正的麻烦。大多数工具要么根本不执行 mif,要么以只读模式执行。任何有MIF 读写经验的人?

UPD 3在此更新中,我将跟踪解决此问题的所有尝试:

  1. OpenJump - 插件无法加载非 ascii 代码。Unicode 加载失败

  2. QGIS - 成功加载 MIF 文件,但未能保存 - 无法保存功能。我不确定,但看起来它不支持 MIF 的写入模式。我试图将选择保存为形状文件。后来我无法使用 OGR 层转换器对其进行转换 - 因访问冲突而失败。

  3. MapInfo Professional 10无法加载我的 MIF 文件,但存在访问冲突。
  4. GV sig不支持 MIF 格式。
  5. UDIG不支持 MIF 格式。
  6. WinGrass没有在我的电脑上启动。

待定...

0 投票
7 回答
8489 浏览

gis - GIS 应用程序开发指南

我应该为我的理学硕士创建一个 GIS 应用程序,我想知道什么是最好的免费和(最好)开源开发技术?使用什么编程语言来开发这样的应用程序?

已知的选择是: 数据库:PostgreSQL (PostGIS)(建议其他)

编程语言:PHP、Python、Java、...(建议其他)

框架:GeoDjango(如果使用 Python 或 Jython),(建议其他)

客户端 UI:JavaScript (OpenLayers)、Flex、(建议其他)

服务器:Mapserver、Geoserver、Mapfish、(建议其他)

其他注意事项:Hibernate Spatial,支持移动 GIS,(建议其他)

0 投票
4 回答
15288 浏览

mysql - 使用 mysql 查看纬度/经度是否在多边形内

我已经创建了下表

并插入了许多行,例如:

现在我想搜索所有数据并返回纬度/经度落在任何多边形中的条目。

使用mysql如何做到这一点?或者是否有人知道任何可以为我指明正确方向的链接?

0 投票
3 回答
5486 浏览

gis - 有谁知道任何好的开源 Geodjango 应用程序可以挖掘?

我希望在业余时间构建一个小型 GIS,并且一直在研究 Geodjango。

我一直在尝试寻找开源 Geodjango 项目的示例来查看,但我运气不佳,所以我在这里。我已经阅读了我能找到的大多数教程,但它们似乎都停在了同一点上,我很想研究一些更复杂的真实代码。

任何人都知道我是否/在哪里可以找到一些?任何东西都足够了,但是使用 Google Earth API 而不是 Open Layers 的东西将是理想的。