Tag: shapefile

坐标时区

由于标题推断我需要根据一对坐标找到时区(或者可能只是UTC偏移)。 我一直在寻找不同的解决方案,并且有一些Web服务,但我需要能够脱机访问应用程序。 由于时区并非完全基于经度,因此看起来并不容易…… 我虽然要查询一个ESRI shapefile,但我已经包含了世界上所有的国家和它们的时区,但它看起来有点复杂。 如果这应该是解决方案,您知道任何提供此function的.NET库吗?

实现用于检测自相交多边形的powershell算法

我最初实现了Hoey-Shamos算法,但是它太复杂了以至于未来的可维护性(我没有说明),并且没有正确报告,所以我将使用优化的powershell算法。 我的问题是:如何优化此代码才能使用? 就目前而言,我的代码包含一个嵌套的for循环,两次迭代相同的列表。 编辑:将线条转换为HashSet并使用两个foreach循环…扫描10,000个约45秒。 这还不够。 foreach (Line2D g in lines) { foreach (Line2D h in lines) { if (g.intersectsLine(h)) { return false; } } } // end ‘lines’ for each loop 如果我强制我的“intersectsLine()”方法返回false(出于测试目的),扫描10,000条记录仍然需要8秒(我有700,000条记录)。 这太长了,所以我需要优化这段代码。 在尝试将其与所有其他行进行比较后,我尝试从列表中删除行,但是存在准确性问题(不知道为什么)并且速度增加几乎不可察觉。 这是我的intersectsLine方法。 我在这里找到了另一种方法,但看起来所有的方法调用和诸如此类的东西都会变慢。 计算斜率对我来说似乎并不像是需要太多的计算(如果我错了,请纠正我?) public bool intersectsLine(Line2D comparedLine) { //tweakLine(comparedLine); if (this.Equals(comparedLine) || P2.Equals(comparedLine.P1) || P1.Equals(comparedLine.P2)) { return false; } double firstLineSlopeX, […]