标签: tms

一个处理管道,2个相同类型的IO源

在我的GHC Haskell应用程序中使用stm,network-conduit和conduit,我为每个socket自动分叉使用了一个strand runTCPServer.Strands可以通过使用广播TChan与其他线路进行通信.

这展示了我想如何建立管道"链":

在此输入图像描述

所以,我们这里有两个源(每个都绑定到辅助管道),它们产生一个接受并转入的Packet对象,然后发出套接字.对于两个输入的有效(性能是一个问题),我遇到了很大的困难.encoderByteString

如果有人能指出我正确的方向,我将不胜感激.


既然我没有尝试就发布这个问题是不礼貌的,我会把我以前在这里尝试过的东西放进去;

我已经编写/编写了一个函数,它(阻塞)从TMChan(可关闭的通道)生成一个源;

-- | Takes a generic type of STM chan and, given read and close functionality,
--   returns a conduit 'Source' which consumes the elements of the channel.
chanSource 
    :: (MonadIO m, MonadSTM m)
    => a                    -- ^ The channel
    -> (a -> STM (Maybe b)) -- ^ The read function
    -> (a -> STM ())        -- ^ The close/finalizer function
    -> Source m b
chanSource …
Run Code Online (Sandbox Code Playgroud)

networking haskell tms stm conduit

62
推荐指数
1
解决办法
2292
查看次数

如何投影传单中的像素坐标?

我正在尝试基于16384x16384像素的图像创建地图,但我还想使用此给定图像的像素坐标在特定位置添加标记.

我创建了一个tile图层,一个map元素并设置了最大边界,这样我就无法使用以下代码滚动出图像:

    var map = L.map('map', {
        maxZoom: 6,
        minZoom: 2,
        crs: L.CRS.Simple
    }).setView([0, 0], 2);
    var southWest = map.unproject([0,16384], map.getMaxZoom());
    var northEast = map.unproject([16384,0], map.getMaxZoom());
    map.setMaxBounds(new L.LatLngBounds(southWest, northEast));

    L.tileLayer('tiles/{z}/{x}/{y}.png', {
        tms: true
    }).addTo(map);
Run Code Online (Sandbox Code Playgroud)

我想要添加到地图中的点存储在外部文件中作为GeoJSON,它们看起来像这样http://www.de-egge.de/maps/terranigma/terraPoints.js

我使用这段代码加载它们:

var terraPoints = new L.geoJson(points, {
        onEachFeature: function (feature, layer) {
            layer.bindPopup(
                "<b>Ort: </b>" + feature.properties["points[, 1]"] 
            );
        }
    });

    map.addLayer(terraPoints);
Run Code Online (Sandbox Code Playgroud)

但是,当然,他们没有出现,因为参考系统不匹配.点使用像素坐标,但我的地图使用地理坐标.

有没有办法在加载点时"取消项目"?

任何帮助非常感谢,并提前感谢!

javascript tms geojson leaflet

6
推荐指数
1
解决办法
8298
查看次数

当缩放更改时,如何使用OpenLayers中止未完成的地图图块请求?

我有一个带有TMS图层的OpenLayers地图.对于每次缩放更改,我的地图会发出大约56个地图图块请求(取决于地图/屏幕大小).如果用户快速放大或缩小,所有这些地图图块请求都按顺序排队,我的理解是不会异步调用来自OpenLayers的地图图块请求.因此,如果用户快速放大或缩小,则最终会有许多不再需要的地图图块请求,并且在完成所有先前的请求之前,不会加载所需的图块.

有什么方法可以在缩放更改时中止挂起的地图图块请求?如果没有通过OpenLayers,是否有某种方法可以中止对特定URL的所有待处理请求?

ajax abort tms openlayers

5
推荐指数
1
解决办法
1754
查看次数

BruTile 入门

请问有没有关于如何开始使用 BruTile 的文档?

我目前正在使用 SharpMap,我需要预先缓存切片以加快进程

gis tiles tms sharpmap

3
推荐指数
1
解决办法
2392
查看次数

使用 TMS 组件包升级 Indy10 (C++ Builder)

到目前为止,我一直在使用 Indy 10,没有出现任何问题,但最近在安装 TMS 组件包时出现问题后,我正在寻找升级 Indy 的替代方法。TMS 在带有 CB2010 的干净系统上安装良好,但是当我使用以下过程升级 Indy 时,在启动 IDE 时以及 TMS 安装后立即出现错误 - 错误为:The procedure entry point @Idhttp@TidCustomHTTP@GetRequestHeaders$qqrv could not be located in the dynamic link library IndyProtocols140.bpl。显然我这边有一些问题,因为 TMS 确实是在干净安装时安装的,而没有 Indy 升级。

因此,如果我用较新的版本覆盖 Indy 文件,也许它可以正确安装。

以下是我现在使用的 Indy 升级的安装过程(在 TMS 安装之前一直有效):

  1. 启动IDE并删除Indy10 Protocols Design TimeIndy10 Core Design Time打包

  2. 运行此脚本来删除旧的 Indy 文件:

    del /q "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\Indy10\*.*"
    del /q "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\debug\Indy10\*.*"
    del /q "c:\Program Files\Embarcadero\RAD Studio\7.0\include\Indy10\*.*"
    del /q /s "c:\Program Files\Embarcadero\RAD …
    Run Code Online (Sandbox Code Playgroud)

installation c++builder tms indy10

3
推荐指数
1
解决办法
1635
查看次数