使用“任意”多边形绘制地图图

问题描述

我创建了一个由相关数据和 Shapely 多边形组成的 GeoPandas DataFrame,这些多边形是根据从网络地图中提取自定义轮廓生成的。

我已经能够用 matplotlib 绘制这个图——通过反转轴进行一些编辑——因为 x 和 y 是相对于原点的,没有别的,但是 plotly 的Choropleth 和其他相关图(最适合这项工作)与某个 locationlocationmode 相关。

如何使用这些多边形创建可悬停且适用于时间滑块的绘图,而不必将其绑定到某个 locationlocationmode?或者是否有不同的模块/应用程序/等可以完全满足这种需求(可悬停和可时间序列)?

多边形和数据框都很大,但在下面您会找到数据框的示例结构,以及爱荷华州的实际多边形。

    ID   metric   geometry
0   Item_1   23   polyGON ((0 0,1 0,1 1,0 1,0 0))
1   Item_2   17   polyGON ((0 0,2 0,2 2,0 2,0 0))
2   Item_3   15   polyGON ((0 0,3 0,3 3,0 3,0 0))

IA_state
polyGON ((668 229,667 230,666 230,665 230,664 230,663 230,662 230,661 230,660 230,659 230,658 230,657 231,656 231,655 231,654 231,653 231,652 231,651 231,650 231,649 231,648 231,647 231,646 231,645 232,644 232,643 232,642 232,641 232,640 232,639 231,638 232,637 232,636 232,635 232,634 232,633 232,632 232,631 232,630 232,629 233,628 233,627 233,626 233,625 233,624 233,623 233,622 233,621 233,620 233,619 233,618 233,617 233,616 233,615 234,614 234,613 234,612 234,611 234,610 234,609 234,608 234,607 234,606 234,605 234,604 234,603 234,602 234,601 234,600 234,599 234,598 234,597 234,596 235,595 235,594 235,593 235,592 235,591 235,590 235,589 235,588 235,587 235,586 235,585 235,584 235,583 235,582 235,581 235,580 235,579 235,578 235,577 235,576 235,575 235,574 235,573 235,572 235,571 235,571 236,571 237,571 238,571 239,572 240,572 241,573 242,573 243,573 244,572 245,572 246,572 247,572 248,571 249,571 250,571 251,570 252,570 253,570 254,571 255,572 256,573 257,573 258,574 259,574 260,574 261,574 262,574 263,575 264,575 265,576 266,576 267,576 268,577 269,577 270,578 271,578 272,579 273,580 274,580 275,580 276,580 277,581 278,581 279,581 280,581 281,581 282,581 283,582 284,583 285,584 286,584 287,585 288,585 289,585 290,585 291,585 292,585 293,586 294,586 295,586 296,586 297,586 298,587 299,587 300,587 301,587 302,587 303,587 304,587 305,587 306,588 307,589 308,590 308,591 308,592 308,593 308,594 308,595 308,596 308,597 308,598 308,599 308,600 307,601 307,602 307,603 307,604 307,605 307,606 307,607 307,608 307,609 307,610 307,611 307,612 307,613 307,614 307,615 307,616 307,617 307,618 307,619 307,620 307,621 306,622 306,623 306,624 306,625 306,626 306,627 306,628 306,629 306,630 306,631 306,632 306,633 306,634 306,635 306,636 305,637 305,638 305,639 306,640 306,641 306,642 306,643 305,644 305,645 305,646 305,647 305,648 305,649 304,650 304,651 304,652 304,653 304,654 304,655 304,656 304,657 304,658 304,659 304,660 303,661 303,662 303,663 303,664 303,665 303,666 303,667 302,668 303,669 303,670 304,671 304,672 305,673 306,673 305,674 304,674 303,675 302,676 302,677 301,678 301,679 300,679 299,679 298,680 297,680 296,681 295,681 294,681 293,681 292,680 291,680 290,679 289,678 288,677 287,677 286,678 285,678 284,678 283,679 282,679 281,680 280,681 280,682 279,683 279,684 279,685 279,686 278,687 278,688 277,689 276,690 276,691 275,691 274,691 273,692 272,692 271,693 270,694 269,694 268,694 267,694 266,694 265,694 264,694 263,693 262,692 262,691 261,690 260,689 259,688 258,688 257,687 256,686 256,685 255,684 254,684 253,683 252,683 251,682 251,681 250,680 250,679 249,678 249,677 249,676 248,675 247,675 246,674 245,674 244,673 243,673 242,672 241,672 240,672 239,672 238,672 237,672 236,672 235,673 234,673 233,672 232,671 231,670 230,670 229,669 229,668 229))

解决方法

对于将来遇到此问题的任何人,我能找到的实现我需要的最佳方法是在 Google 地球中创建我自己的自定义多边形,另存为 KML,然后转换为匀称的多边形。

>