我想要做的是使用python生成静态图像(例如png)并使用openstreetmap tile作为背景.
Mathplotlib和Basemap几乎就是我想要的.问题是能够使用OSM图块作为背景.我对http://stevendkay.wordpress.com/2010/02/24/plotting-points-on-an-openstreetmap-export/中建议的方法感到不满意
我找到的最接近的是这个答案,但是使用R,而不是python 使用OpenStreetMap从data.frame绘制点
我错过了任何明显而简单的解决方案吗?
谢谢你的帮助
编辑:这个问题提出了许多工具,但似乎没有一个符合我的需求如何使用Python显示OSM图块?
我对提升::精神深感钦佩,不理解它永远的挫折;)
我有太贪婪的字符串的问题,因此它不匹配.下面是一个不解析的最小示例,因为txt规则会结束.
关于我想做什么的更多信息:目标是解析一些伪SQL并跳过空格.在一个声明中
select foo.id, bar.id from foo, baz
Run Code Online (Sandbox Code Playgroud)
我需要将其from视为特殊关键字.规则是这样的
"select" >> txt % ',' >> "from" >> txt % ','
Run Code Online (Sandbox Code Playgroud)
但它显然不起作用 bar.id from foo看作一个项目.
#include <boost/spirit/include/qi.hpp>
#include <iostream>
namespace qi = boost::spirit::qi;
int main(int, char**) {
auto txt = +(qi::char_("a-zA-Z_"));
auto rule = qi::lit("Hello") >> txt % ',' >> "end";
std::string str = "HelloFoo,Moo,Bazend";
std::string::iterator begin = str.begin();
if (qi::parse(begin, str.end(), rule))
std::cout << "Match !" << std::endl;
else
std::cout << "No match :'(" << std::endl; …Run Code Online (Sandbox Code Playgroud) 让我们想象一下,我想制作一个模板化函数,它返回任何stl容器的第一个元素.一般方式是:
template<typename Container>
Container::value_type first(Container c){
return *(c.begin());
}
Run Code Online (Sandbox Code Playgroud)
这适用于矢量,列表,deques,集等.
但是,对于pair关联容器(std :: map),如果想拥有
return c.begin()->second;
Run Code Online (Sandbox Code Playgroud)
如果我有一对关联容器,我如何测试(在函数中或使用模板特化)?
STL容器似乎没有附加任何特征.是否可以检查它是否有:: key_type?
我想在位图中画一条线,例如从像素 (10, 10) 到像素 (90, 90)。该线必须具有特定的宽度。
\n\n使用活塞图像,我可以绘制单个像素:
\n\nlet mut image = ImageBuffer::<image::Rgb<u8>>::new(100, 100);\nimage.get_pixel_mut(5, 5).data = [255, 255, 255];\nimage.save("output.png");\nRun Code Online (Sandbox Code Playgroud)\n\n但是没有方法可以画一条线。
\n\n我想我必须为此使用piston::graphics,但是我\xe2\x80\x99找不到任何资源如何做到这一点(任何示例都涉及一个提供图形工作上下文的窗口)。
\nT和S意味着什么?public void main(String... abc); 什么...意思?被...称为通用吗?所以我在最近2个小时内一直在敲打这个编译器错误,并认为我会在这里发布代码,看看是否有人可以解释我的错误.
我已经删除了所有不相关的位以留下一个简单的最小程序(如下所示),据我所知,它应该编译并运行.如果我纪念,但我看不出什么是错误的调用testFunc in main然后一切编译并运行正常.然而,通过调用testFunc,我得到以下内容:
$ ./waf -v --run abr-tool
Waf: Entering directory `/home/conor/workspace/msc/AdaptiveIPTV/Software/conor/ns3/ns-3.15/build'
[1665/1822] cxxprogram: build/src/abr-tools/examples/abr-tool.cc.4.o -> build/src/abr-tools/ns3.15-abr-tool-debug
19:04:19 runner ['/usr/bin/g++', '-L/usr/lib', '-lboost_iostreams', '-L/usr/lib', '-lboost_iostreams', '-pthread', 'src/abr-tools/examples/abr-tool.cc.4.o', '-o', '/home/conor/workspace/msc/AdaptiveIPTV/Software/conor/ns3/ns-3.15/build/src/abr-tools/ns3.15-abr-tool-debug', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Wl,--no-as-needed', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-lns3.15-point-to-point-debug', '-lns3.15-internet-debug', '-lns3.15-mpi-debug', '-lns3.15-bridge-debug', '-lns3.15-network-debug', '-lns3.15-core-debug', '-lrt']
src/abr-tools/examples/abr-tool.cc.4.o: In function `main':
/home/conor/workspace/msc/AdaptiveIPTV/Software/conor/ns3/ns-3.15/build/../src/abr-tools/examples/abr-tool.cc:7: undefined reference to `testFunc()'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,下面的代码是作为一个更大的项目的一部分构建的,我知道错误可能来自该构建过程而不是我的代码的问题,但无论哪种方式我都遇到了一些问题在我对这里发生的事情的理解中.我正在学习c ++,并且说实话我觉得自己没有足够的经验甚至只是自己编译这段代码而且能够说"那应该肯定有用,但它没有",这就是为什么我像这样呈现它.
另外几点可能是相关的:
我可以使用来自abr-tools.cc的abr-helper.h中定义的宏,当我将abr-tools.cc放在与abr-helper.h相同的文件夹中时,问题仍然存在,只需使用'#include'abr-helper .H"'.
原始错误是一样的,但对于abr-helper.h中定义的一堆其他东西并在abr-tools.cc中使用
我要感谢大家提供的任何帮助,提前谢谢.
ABR-helper.h:
#ifndef ABR_HELPER_H
#define ABR_HELPER_H
#include <iostream>
void testFunc();
#endif /* ABR_HELPER_H */ …Run Code Online (Sandbox Code Playgroud) c++ ×3
boost-spirit ×1
java ×1
jdk1.5 ×1
matplotlib ×1
python ×1
rust ×1
stl ×1
templates ×1
waf ×1