小编rap*_*ael的帖子

你如何编写python模块的argparse部分的测试?

我有一个使用argparse库的Python模块.如何为代码库的该部分编写测试?

python unit-testing argparse

137
推荐指数
7
解决办法
4万
查看次数

Mapbox GL JS与Mapbox.js

来自Mapbox词汇表Mapbox.js

Mapbox.js是一个JavaScript库,允许您将交互式地图添加到您的网站.它是Leaflet的插件,它是一个可以免费使用的开源库.

Mapbox GL JS

Mapbox GL JS是一个使用Mapbox GL渲染交互式地图的JavaScript库.它是一个可以免费使用的开源库.您可以将Mapbox样式或使用Mapbox Studio创建的自定义样式添加到Mapbox GL JS应用程序中.

并从这个答案

Mapbox样式适用于Mapbox GL以及原生iOS和Android SDK.您不能将它们与经典的Mapbox JS一起使用.Mapbox JS支持光栅图块,你无法设置样式.他们只是图像.Mapbox GL和原生SDK(可以)使用矢量切片,并且可以设置样式.

我相信我可以用来mapbox.js代替leaflet cssjs来源,但我可以这样做mapbox-gl.js吗?
两个库之间还存在哪些差异?

javascript mapbox mapbox-gl-js

61
推荐指数
4
解决办法
2万
查看次数

Leaflet.draw mapping:如何在没有工具栏的情况下启动绘图功能?

对于任何有传单或leaflet.draw插件的人:

我想在不使用工具栏的情况下开始绘制多边形leaflet.draw.我已经设法找到允许编辑的属性,而不使用工具栏(layer.editing.enable();)通过在线搜索(它不在主文档中).我似乎无法找到如何在没有工具栏按钮的情况下开始绘制多边形.任何帮助将非常感激!

谢谢 :)

javascript gis leaflet leaflet.draw

37
推荐指数
4
解决办法
2万
查看次数

Leaflet.Draw矩形的坐标

是否有可能在mouseClick上获取矩形的坐标,所以我有矩形的所有角?

javascript leaflet leaflet.draw

13
推荐指数
2
解决办法
2万
查看次数

使用scale_x_datetime和时间数据设置限制

我想为x轴设置边界,以获得仅具有时间(无日期)的时间序列数据图.我的极限是:

lims <- strptime(c("03:00","16:00"), format = "%H:%M")
Run Code Online (Sandbox Code Playgroud)

我的ggplot打印很好,但是当我添加它时 scale_x_datetime

scale_x_datetime(limits = lims)
Run Code Online (Sandbox Code Playgroud)

我明白了 Error: Invalid input: time_trans works with objects of class POSIXct only

完全可重复的示例如何使用R创建时间散点图?

dates <- as.POSIXct(as.Date("2011/01/01") + sample(0:365, 100, replace=TRUE))
times <- as.POSIXct(runif(100, 0, 24*60*60), origin="2011/01/01")
df <- data.frame(
  dates = dates,
  times = times
)

lims <- strptime(c("04:00","16:00"), format = "%H:%M")

library(scales)
library(ggplot2)

ggplot(df, aes(x=dates, y=times)) + 
  geom_point() + 
  scale_y_datetime(limits = lims, breaks=date_breaks("4 hour"), labels=date_format("%H:%M")) + 
  theme(axis.text.x=element_text(angle=90))
Run Code Online (Sandbox Code Playgroud)

r time-series ggplot2

13
推荐指数
1
解决办法
2万
查看次数

如何配置GitHub桌面/ Windows以使用代理?

在Windows中使用git的新手.我下载了GitHub桌面应用程序并且可以连接我的帐户,但由于主机未解析而导致推送/拉取失败.在工作场所问我,我得到以下建议,在git shell中键入此命令.

git config --global http.proxy http://username:password@proxy.workplace.com:8080
Run Code Online (Sandbox Code Playgroud)

做这个:

  1. 以纯文本格式存储我的密码?
  2. 以纯文本格式发送我的密码?

不是GitHub for Desktop生成并使用SSH密钥(我第一次连接帐户时收到了电子邮件通知)?如何配置GitHub Desktop以使用此代理?

proxy github-for-windows github-desktop

11
推荐指数
2
解决办法
1万
查看次数

从地图中删除多边形

要求:使用Leaflet js maps api,当客户点击标记时,应在Marker下方绘制一个Rectangle,并根据标记居中.然后单击另一个标记应删除以前的矩形,并在新单击的标记下方绘制另一个矩形.

问题:我使用下面的代码绘制一个多边形,我可以看到一个矩形.它在标记上绘制矩形.然后通过单击另一个标记,将绘制一个新的矩形.但旧的矩形也仍然存在.

问题:我应该如何实现该行为,以便在单击新标记时,旧的矩形将从地图中删除?

 //polygon

var latBlockSize = 0.002;
var lngBlockSize = 0.002;
var route = [
      new L.LatLng(parseFloat(customer.MailingAddress.Lat) + latBlockSize, parseFloat(customer.MailingAddress.Lng) - lngBlockSize),
      new L.LatLng(parseFloat(customer.MailingAddress.Lat) + latBlockSize, parseFloat(customer.MailingAddress.Lng) + lngBlockSize),
      new L.LatLng(parseFloat(customer.MailingAddress.Lat) - latBlockSize, parseFloat(customer.MailingAddress.Lng) + lngBlockSize),
      new L.LatLng(parseFloat(customer.MailingAddress.Lat) - latBlockSize, parseFloat(customer.MailingAddress.Lng) - lngBlockSize)
   ];

window.polygon = new L.Polygon(route);

window.map.addLayer(window.polygon);
Run Code Online (Sandbox Code Playgroud)

javascript leaflet

9
推荐指数
1
解决办法
1万
查看次数

如何在不使用Leaflet.draw UI的情况下单击按钮并启动新多边形

我正在努力的是如何在不使用Leaflet.draw UI的情况下单击按钮并启动新的多边形.例如

$('#draw_poly').click(function() {  


});
Run Code Online (Sandbox Code Playgroud)

我能够将现有的多边形置于编辑模式没问题.

$('.edit_polygon').click(function() {  
    var name = $(this).text();
    geojson_layer.eachLayer(function (layer) {
        if (name == layer.feature.properties.name){                   
            layer.editing.enable();  
        }                    
    });
    return false;
}); 
Run Code Online (Sandbox Code Playgroud)

感谢Jacob Toye的帮助.我做了一个小小的演示.

<!DOCTYPE html>
<html>
<head>
    <title>Button click</title>
    <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.css" />
    <link rel="stylesheet" href="Leaflet.draw/dist/leaflet.draw.css" />
    <script src="http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.js"></script>
    <script src="Leaflet.draw/dist/leaflet.draw.js"></script>
</head>
<body>
    <div><button id="draw_poly" onclick="drawPolygon()" >Draw Polgyon</button></div>
    <div id="map" style="width: 800px; height: 600px; border: 1px solid #ccc"></div>
    <script>        
        var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png',
        cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18}),
        map = new L.Map('map', {layers: [cloudmade], center: …
Run Code Online (Sandbox Code Playgroud)

javascript leaflet leaflet.draw

8
推荐指数
1
解决办法
9481
查看次数

Markdown Jekyll:插入填充容器的iframe

如何在jekyll降价博客中包含视频向我解释了如何在帖子中插入iframe.但是,我正在使用iframe作为传单地图.与如何在jekyll的单个帖子中显示传单地图不同我将地图代码存储在一个单独的位置html文件中,并在我的帖子中显示iframe中的地图.我在github上托管这个,所以我不能使用jekyll插件.

我可以显示地图,但我不明白如何确保iframe以响应浏览器窗口大小调整的方式填充博客容器.有没有办法只在博客文章的代码中指定这个,或者我必须创建自己的CSS样式,如这篇博文

iframe jekyll leaflet

8
推荐指数
1
解决办法
2582
查看次数

如何将JSON数组数组转换为列和行

我正在从JSON中的API中提取数据,其格式类似于下面的示例数据.基本上每个"行"都是一个值数组.API文档提前定义列及其类型.所以我知道col1是一个varchar,而col2是一个int.

CREATE TEMP TABLE dat (data json);
INSERT INTO dat
VALUES ('{"COLUMNS":["col1","col2"],"DATA":[["a","1"],["b","2"]]}');
Run Code Online (Sandbox Code Playgroud)

我想在PostgreSQL 9.3中对此进行转换,以便最终得到:

col1 | col2
------------
  a  |  1
  b  |  2
Run Code Online (Sandbox Code Playgroud)

使用json_array_elements我可以到达:

SELECT json_array_elements(data->'DATA') 
FROM dat

json_array_elements
json
---------
["a","1"]
["b","2"]
Run Code Online (Sandbox Code Playgroud)

但后来我无法弄清楚如何将JSON数组转换为PostgreSQL数组,以便我可以执行类似的操作 unnest(ARRAY['a','1'])

arrays json postgresql-9.3

8
推荐指数
1
解决办法
6269
查看次数