我有一些Lng和lat的坐标,我把它们组合成一个Linestring。
线串由两个点组成。从一个点starting=origin
和从一个点ending = destination
。
这是Linestring列的代码erg2['Linestring'] = erg2.apply(lambda x: LineString([(x['latitude_origin'], x['longitude_origin']), (x['latitude_destination'], x['longitude_destination'])]), axis = 1)
我正在尝试所有方法来绘制从原点到目的地的Linestring,但没有任何好的结果。
你会帮我很多!
这是带有lng和lat的dataframe erg2
以及组合的Linestrings...我怎么能把它们画在Map上。起点和终点列中的数字是城市的位置ID。
作为一个有经验的程序员,你会怎么做?两个点的散点还是组合的Linestrings??下面我将输入我的dataframe.head()。
通常df有[19600行x8列]
| 起源|目的地|移动|经度原点|纬度原点|
| --------------|--------------|--------------|--------------|--------------|
| 八十八|八十八|二十|13.481016| 52.457055|
| 八十八|八九|0| 13.481016| 52.457055|
| 八十八|一百一十|0| 13.481016| 52.457055|
| 八十八|一一一|0| 13.481016| 52.457055|
| 八十八|一百一十二|0| 13.481016| 52.457055|
| 八十七|八十三|0| 13.479667| 52.479600|
| 经度目的地|纬度目的地|线串|
| --------------|--------------|--------------|
| 13.481016| 52.457055| LINESTRING(52.45705489204205 13.4810161067992...|
| 13.504075| 52.443923| LINESTRING(52.45705489204205 13.4810161067992...|
| 13.613772| 52.533194| LINESTRING(52.45705489204205 13.4810161067992...|
| 13.586891| 52.523562| LINESTRING(52.45705489204205 13.4810161067992...|
| 13.559341| 52.507418| LINESTRING(52.45705489204205 13.4810161067992...|
| 13.481016| 52.457055| LINESTRING(52.45705489204205 13.4810161067992...|
我正在尝试使用来自@RobRaymond的geopandas的示例代码绘制线条
结果显示的线条毫无意义。这是输出:
所有的行都有这个描述在悬停都开始于87-...在我的dataframe中,你可以看到我们有origin 88等。
根据运动绘制线条也很重要。因为零运动不需要被标绘…我真的希望我把问题说清楚了。这真的有点超出了我的头。
2条答案
按热度按时间efzxgjgh1#
简化版
*plotly文档和标签清楚地指出,需要在传递给
px.line_mapbox()
的数组中用None
分隔行。使用numpy以更直接的方式构造这些,无需构造LineString,使用geopnadas或shapelyqlzsbp2j2#
使用来自官方plotly参考的示例和数据,我已经替换了您的问题,并确定了阻止线段绘制的问题。您需要指定一列文本,以指示要设置颜色的组。因此,将颜色设置为数据中的组键列。