Julia学习笔记:在Julia中使用folium生成地图

此前,在Python中利用folium包,实现了一个交互式地图,在地图特定地点进行标记,并可显示该地点箱量。

自从使用了Julia后,希望能将这个生成交互式地图的功能通过Julia实现。看了Julia支持的OpenStreetMap,发现和自己想要的功能不太一样。Julia中的OpenStreenMapX包,是基于OpenStreetMap的地图数据文件进行操作的,需要下载OpenStreetMap的地图数据文件。

同时,也看到了,Julia可以通过PyCall包,使用folium来实现生成地图的功能。但是,自己还是希望能够使用“纯粹”的Julia,而不是调用Python的功能包来实现。

查看了很久,发现似乎没有别的更好的选择,只好尝试通过PyCall包,引入folium来生成地图。

使用PyCall,要注意设定Python环境,使用 ENV[“PYTHON”]=“Python路径” 这样的设定,自定义Julia将要调用的Python。环境设置后,PyCall包要重新build一下才可以使用。

在Julia中调用Python还是比较方便的。

以使用folium为例,程序起始要有“using PyCall”,以便调用Python。程序中,使用类似 folium = pyimport(“folium”) 的语句,生成名为folium的PyObject。这个folium与Python中“import folium”后类似,可以使用如 folium.Map() 这样的形式调用folium包中的函数。

但在使用中,要注意一些Julia与Python语法不同的细节。我为了方便,将原先Python的代码copy了过来,但有些地方就会报错。比如Python中,两个字符串可以用“+”连接,但到了Julia,就要把“+”改为“*”。还比如,Python中使用“True”,而Julia中对应的是“true”。还有类似数组下标起始不同,根据数值范围循环,数值区间不同等等。

将这些改好后,运行代码,与使用Python时一样的交互式地图就生成了。

你可能感兴趣的:(笔记)