pycityagent 2.0.0a43__cp39-cp39-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. pycityagent/__init__.py +23 -0
  2. pycityagent/agent.py +833 -0
  3. pycityagent/cli/wrapper.py +44 -0
  4. pycityagent/economy/__init__.py +5 -0
  5. pycityagent/economy/econ_client.py +355 -0
  6. pycityagent/environment/__init__.py +7 -0
  7. pycityagent/environment/interact/__init__.py +0 -0
  8. pycityagent/environment/interact/interact.py +198 -0
  9. pycityagent/environment/message/__init__.py +0 -0
  10. pycityagent/environment/sence/__init__.py +0 -0
  11. pycityagent/environment/sence/static.py +416 -0
  12. pycityagent/environment/sidecar/__init__.py +8 -0
  13. pycityagent/environment/sidecar/sidecarv2.py +109 -0
  14. pycityagent/environment/sim/__init__.py +29 -0
  15. pycityagent/environment/sim/aoi_service.py +39 -0
  16. pycityagent/environment/sim/client.py +126 -0
  17. pycityagent/environment/sim/clock_service.py +44 -0
  18. pycityagent/environment/sim/economy_services.py +192 -0
  19. pycityagent/environment/sim/lane_service.py +111 -0
  20. pycityagent/environment/sim/light_service.py +122 -0
  21. pycityagent/environment/sim/person_service.py +295 -0
  22. pycityagent/environment/sim/road_service.py +39 -0
  23. pycityagent/environment/sim/sim_env.py +145 -0
  24. pycityagent/environment/sim/social_service.py +59 -0
  25. pycityagent/environment/simulator.py +331 -0
  26. pycityagent/environment/utils/__init__.py +14 -0
  27. pycityagent/environment/utils/base64.py +16 -0
  28. pycityagent/environment/utils/const.py +244 -0
  29. pycityagent/environment/utils/geojson.py +24 -0
  30. pycityagent/environment/utils/grpc.py +57 -0
  31. pycityagent/environment/utils/map_utils.py +157 -0
  32. pycityagent/environment/utils/port.py +11 -0
  33. pycityagent/environment/utils/protobuf.py +41 -0
  34. pycityagent/llm/__init__.py +11 -0
  35. pycityagent/llm/embeddings.py +231 -0
  36. pycityagent/llm/llm.py +377 -0
  37. pycityagent/llm/llmconfig.py +13 -0
  38. pycityagent/llm/utils.py +6 -0
  39. pycityagent/memory/__init__.py +13 -0
  40. pycityagent/memory/const.py +43 -0
  41. pycityagent/memory/faiss_query.py +302 -0
  42. pycityagent/memory/memory.py +448 -0
  43. pycityagent/memory/memory_base.py +170 -0
  44. pycityagent/memory/profile.py +165 -0
  45. pycityagent/memory/self_define.py +165 -0
  46. pycityagent/memory/state.py +173 -0
  47. pycityagent/memory/utils.py +28 -0
  48. pycityagent/message/__init__.py +3 -0
  49. pycityagent/message/messager.py +88 -0
  50. pycityagent/metrics/__init__.py +6 -0
  51. pycityagent/metrics/mlflow_client.py +147 -0
  52. pycityagent/metrics/utils/const.py +0 -0
  53. pycityagent/pycityagent-sim +0 -0
  54. pycityagent/pycityagent-ui +0 -0
  55. pycityagent/simulation/__init__.py +8 -0
  56. pycityagent/simulation/agentgroup.py +580 -0
  57. pycityagent/simulation/simulation.py +634 -0
  58. pycityagent/simulation/storage/pg.py +184 -0
  59. pycityagent/survey/__init__.py +4 -0
  60. pycityagent/survey/manager.py +54 -0
  61. pycityagent/survey/models.py +120 -0
  62. pycityagent/utils/__init__.py +11 -0
  63. pycityagent/utils/avro_schema.py +109 -0
  64. pycityagent/utils/decorators.py +99 -0
  65. pycityagent/utils/parsers/__init__.py +13 -0
  66. pycityagent/utils/parsers/code_block_parser.py +37 -0
  67. pycityagent/utils/parsers/json_parser.py +86 -0
  68. pycityagent/utils/parsers/parser_base.py +60 -0
  69. pycityagent/utils/pg_query.py +92 -0
  70. pycityagent/utils/survey_util.py +53 -0
  71. pycityagent/workflow/__init__.py +26 -0
  72. pycityagent/workflow/block.py +211 -0
  73. pycityagent/workflow/prompt.py +79 -0
  74. pycityagent/workflow/tool.py +240 -0
  75. pycityagent/workflow/trigger.py +163 -0
  76. pycityagent-2.0.0a43.dist-info/LICENSE +21 -0
  77. pycityagent-2.0.0a43.dist-info/METADATA +235 -0
  78. pycityagent-2.0.0a43.dist-info/RECORD +81 -0
  79. pycityagent-2.0.0a43.dist-info/WHEEL +5 -0
  80. pycityagent-2.0.0a43.dist-info/entry_points.txt +3 -0
  81. pycityagent-2.0.0a43.dist-info/top_level.txt +3 -0
@@ -0,0 +1,416 @@
1
+ """
2
+ 静态数据支持; Static Resources: Poi Type association; Type prefix.
3
+ """
4
+
5
+ POI_TYPE_DICT = {
6
+ "100000": "\u7f8e\u98df",
7
+ "101000": "\u7f8e\u98df:\u4e2d\u9910\u5385",
8
+ "101010": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u5317\u4eac\u83dc",
9
+ "101011": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u5b89\u5fbd\u83dc",
10
+ "101012": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u5c71\u897f\u83dc",
11
+ "101013": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u798f\u5efa\u83dc",
12
+ "101014": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u6cb3\u5357\u83dc",
13
+ "101015": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u9c81\u83dc",
14
+ "101016": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u5ddd\u83dc",
15
+ "101017": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u6e58\u83dc",
16
+ "101018": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u6e56\u5317\u83dc",
17
+ "101019": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u6dee\u626c\u83dc",
18
+ "101020": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u6d59\u6c5f\u83dc",
19
+ "101021": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u4e0a\u6d77\u83dc",
20
+ "101022": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u5357\u4eac\u83dc",
21
+ "101023": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u82cf\u5dde\u83dc",
22
+ "101024": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u7ca4\u83dc",
23
+ "101025": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u4e1c\u5317\u83dc",
24
+ "101027": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u65b0\u7586\u83dc",
25
+ "101028": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u897f\u5317\u83dc",
26
+ "101029": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u4e91\u8d35\u83dc",
27
+ "101030": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u6c11\u65cf\u83dc",
28
+ "101031": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u53f0\u6e7e\u83dc",
29
+ "101032": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u5929\u6d25\u83dc",
30
+ "101033": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u6c5f\u82cf\u83dc",
31
+ "101034": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u9152\u697c",
32
+ "101099": "\u7f8e\u98df:\u4e2d\u9910\u5385:\u5176\u5b83\u4e2d\u9910\u5385",
33
+ "101100": "\u7f8e\u98df:\u519c\u5bb6\u83dc",
34
+ "101200": "\u7f8e\u98df:\u5b98\u5e9c\u83dc",
35
+ "101300": "\u7f8e\u98df:\u5bb6\u5e38\u83dc",
36
+ "101400": "\u7f8e\u98df:\u79c1\u5bb6\u83dc",
37
+ "101500": "\u7f8e\u98df:\u70e7\u70e4",
38
+ "101600": "\u7f8e\u98df:\u706b\u9505",
39
+ "101700": "\u7f8e\u98df:\u6d77\u9c9c",
40
+ "101800": "\u7f8e\u98df:\u7279\u8272\u4e2d\u9910",
41
+ "101900": "\u7f8e\u98df:\u7d20\u98df",
42
+ "102000": "\u7f8e\u98df:\u5c0f\u5403\u5feb\u9910",
43
+ "102100": "\u7f8e\u98df:\u6e05\u771f",
44
+ "102200": "\u7f8e\u98df:\u65e5\u97e9\u83dc",
45
+ "102210": "\u7f8e\u98df:\u65e5\u97e9\u83dc:\u65e5\u672c\u6599\u7406",
46
+ "102211": "\u7f8e\u98df:\u65e5\u97e9\u83dc:\u97e9\u56fd\u6599\u7406",
47
+ "102299": "\u7f8e\u98df:\u65e5\u97e9\u83dc:\u5176\u5b83\u65e5\u97e9\u83dc",
48
+ "102300": "\u7f8e\u98df:\u4e1c\u5357\u4e9a\u83dc",
49
+ "102310": "\u7f8e\u98df:\u4e1c\u5357\u4e9a\u83dc:\u5370\u5ea6\u83dc",
50
+ "102311": "\u7f8e\u98df:\u4e1c\u5357\u4e9a\u83dc:\u661f\u9a6c\u83dc",
51
+ "102312": "\u7f8e\u98df:\u4e1c\u5357\u4e9a\u83dc:\u6cf0\u56fd\u83dc",
52
+ "102313": "\u7f8e\u98df:\u4e1c\u5357\u4e9a\u83dc:\u8d8a\u5357\u83dc",
53
+ "102399": "\u7f8e\u98df:\u4e1c\u5357\u4e9a\u83dc:\u5176\u5b83\u4e1c\u5357\u4e9a\u83dc",
54
+ "102400": "\u7f8e\u98df:\u897f\u9910",
55
+ "102410": "\u7f8e\u98df:\u897f\u9910:\u7f8e\u56fd\u83dc",
56
+ "102411": "\u7f8e\u98df:\u897f\u9910:\u8461\u56fd\u83dc",
57
+ "102412": "\u7f8e\u98df:\u897f\u9910:\u4fc4\u7f57\u65af\u83dc",
58
+ "102413": "\u7f8e\u98df:\u897f\u9910:\u5730\u4e2d\u6d77\u83dc",
59
+ "102414": "\u7f8e\u98df:\u897f\u9910:\u610f\u5927\u5229\u83dc",
60
+ "102415": "\u7f8e\u98df:\u897f\u9910:\u5df4\u897f\u83dc",
61
+ "102416": "\u7f8e\u98df:\u897f\u9910:\u62c9\u7f8e\u70e7\u70e4",
62
+ "102417": "\u7f8e\u98df:\u897f\u9910:\u6bd4\u8428",
63
+ "102418": "\u7f8e\u98df:\u897f\u9910:\u6cd5\u56fd\u83dc",
64
+ "102419": "\u7f8e\u98df:\u897f\u9910:\u725b\u6392",
65
+ "102420": "\u7f8e\u98df:\u897f\u9910:\u82f1\u56fd\u83dc",
66
+ "102421": "\u7f8e\u98df:\u897f\u9910:\u5fb7\u56fd\u83dc",
67
+ "102423": "\u7f8e\u98df:\u897f\u9910:\u58a8\u897f\u54e5\u83dc",
68
+ "102499": "\u7f8e\u98df:\u897f\u9910:\u5176\u5b83\u897f\u9910",
69
+ "102500": "\u7f8e\u98df:\u81ea\u52a9\u9910",
70
+ "102600": "\u7f8e\u98df:\u9762\u5305\u751c\u70b9",
71
+ "102700": "\u7f8e\u98df:\u8336\u9910\u5385",
72
+ "102800": "\u7f8e\u98df:\u51b7\u996e\u5e97",
73
+ "109900": "\u7f8e\u98df:\u5176\u5b83\u7f8e\u98df",
74
+ "110000": "\u516c\u53f8\u4f01\u4e1a",
75
+ "111000": "\u516c\u53f8\u4f01\u4e1a:\u516c\u53f8\u4f01\u4e1a",
76
+ "111100": "\u516c\u53f8\u4f01\u4e1a:\u519c\u6797\u7267\u6e14\u57fa\u5730",
77
+ "111200": "\u516c\u53f8\u4f01\u4e1a:\u4f01\u4e1a/\u5de5\u5382",
78
+ "119900": "\u516c\u53f8\u4f01\u4e1a:\u5176\u5b83\u516c\u53f8\u4f01\u4e1a",
79
+ "120000": "\u673a\u6784\u56e2\u4f53",
80
+ "121000": "\u673a\u6784\u56e2\u4f53:\u516c\u68c0\u6cd5\u673a\u6784",
81
+ "121100": "\u673a\u6784\u56e2\u4f53:\u5916\u56fd\u673a\u6784",
82
+ "121200": "\u673a\u6784\u56e2\u4f53:\u5de5\u5546\u7a0e\u52a1\u673a\u6784",
83
+ "121400": "\u673a\u6784\u56e2\u4f53:\u653f\u5e9c\u673a\u5173",
84
+ "121500": "\u673a\u6784\u56e2\u4f53:\u6c11\u4e3b\u515a\u6d3e",
85
+ "121600": "\u673a\u6784\u56e2\u4f53:\u793e\u4f1a\u56e2\u4f53",
86
+ "121700": "\u673a\u6784\u56e2\u4f53:\u4f20\u5a92\u673a\u6784",
87
+ "121800": "\u673a\u6784\u56e2\u4f53:\u6587\u827a\u56e2\u4f53",
88
+ "121900": "\u673a\u6784\u56e2\u4f53:\u79d1\u7814\u673a\u6784",
89
+ "128000": "\u673a\u6784\u56e2\u4f53:\u673a\u6784\u56e2\u4f53\u9644\u5c5e",
90
+ "129900": "\u673a\u6784\u56e2\u4f53:\u5176\u5b83\u673a\u6784\u56e2\u4f53",
91
+ "130000": "\u8d2d\u7269",
92
+ "131000": "\u8d2d\u7269:\u7efc\u5408\u5546\u573a",
93
+ "131100": "\u8d2d\u7269:\u4fbf\u5229\u5e97",
94
+ "131200": "\u8d2d\u7269:\u8d85\u5e02",
95
+ "131300": "\u8d2d\u7269:\u6570\u7801\u5bb6\u7535",
96
+ "131400": "\u8d2d\u7269:\u82b1\u9e1f\u9c7c\u866b",
97
+ "131500": "\u8d2d\u7269:\u5bb6\u5177\u5bb6\u5c45\u5efa\u6750",
98
+ "131600": "\u8d2d\u7269:\u519c\u8d38\u5e02\u573a",
99
+ "131700": "\u8d2d\u7269:\u5c0f\u5546\u54c1\u5e02\u573a",
100
+ "131800": "\u8d2d\u7269:\u65e7\u8d27\u5e02\u573a",
101
+ "131900": "\u8d2d\u7269:\u4f53\u80b2\u6237\u5916",
102
+ "132000": "\u8d2d\u7269:\u670d\u9970\u978b\u5305",
103
+ "132100": "\u8d2d\u7269:\u56fe\u4e66\u97f3\u50cf",
104
+ "132200": "\u8d2d\u7269:\u773c\u955c\u5e97",
105
+ "132300": "\u8d2d\u7269:\u6bcd\u5a74\u513f\u7ae5",
106
+ "132400": "\u8d2d\u7269:\u73e0\u5b9d\u9970\u54c1",
107
+ "132500": "\u8d2d\u7269:\u5316\u5986\u54c1",
108
+ "132600": "\u8d2d\u7269:\u5546\u4e1a\u6b65\u884c\u8857",
109
+ "132700": "\u8d2d\u7269:\u793c\u54c1",
110
+ "132800": "\u8d2d\u7269:\u6444\u5f71\u5668\u6750",
111
+ "132900": "\u8d2d\u7269:\u949f\u8868\u5e97",
112
+ "133000": "\u8d2d\u7269:\u62cd\u5356\u5178\u5f53\u884c",
113
+ "133100": "\u8d2d\u7269:\u53e4\u73a9\u5b57\u753b",
114
+ "133200": "\u8d2d\u7269:\u81ea\u884c\u8f66\u4e13\u5356",
115
+ "133300": "\u8d2d\u7269:\u70df\u9152\u4e13\u5356",
116
+ "133400": "\u8d2d\u7269:\u6587\u5316\u7528\u54c1",
117
+ "138000": "\u8d2d\u7269:\u8d2d\u7269\u573a\u6240\u9644\u5c5e",
118
+ "139900": "\u8d2d\u7269:\u5176\u5b83\u8d2d\u7269",
119
+ "140000": "\u751f\u6d3b\u670d\u52a1",
120
+ "141000": "\u751f\u6d3b\u670d\u52a1:\u65c5\u884c\u793e",
121
+ "141100": "\u751f\u6d3b\u670d\u52a1:\u7968\u52a1\u4ee3\u552e",
122
+ "141110": "\u751f\u6d3b\u670d\u52a1:\u7968\u52a1\u4ee3\u552e:\u98de\u673a\u7968\u4ee3\u552e",
123
+ "141111": "\u751f\u6d3b\u670d\u52a1:\u7968\u52a1\u4ee3\u552e:\u706b\u8f66\u7968\u4ee3\u552e",
124
+ "141112": "\u751f\u6d3b\u670d\u52a1:\u7968\u52a1\u4ee3\u552e:\u6c7d\u8f66\u7968\u4ee3\u552e",
125
+ "141113": "\u751f\u6d3b\u670d\u52a1:\u7968\u52a1\u4ee3\u552e:\u516c\u4ea4\u53caIC\u5361",
126
+ "141114": "\u751f\u6d3b\u670d\u52a1:\u7968\u52a1\u4ee3\u552e:\u666f\u70b9\u552e\u7968",
127
+ "141199": "\u751f\u6d3b\u670d\u52a1:\u7968\u52a1\u4ee3\u552e:\u5176\u5b83\u7968\u52a1\u4ee3\u552e",
128
+ "141200": "\u751f\u6d3b\u670d\u52a1:\u90ae\u5c40\u901f\u9012",
129
+ "141210": "\u751f\u6d3b\u670d\u52a1:\u90ae\u5c40\u901f\u9012:\u90ae\u5c40",
130
+ "141211": "\u751f\u6d3b\u670d\u52a1:\u90ae\u5c40\u901f\u9012:\u901f\u9012",
131
+ "141212": "\u751f\u6d3b\u670d\u52a1:\u90ae\u5c40\u901f\u9012:\u7269\u6d41\u516c\u53f8",
132
+ "141213": "\u751f\u6d3b\u670d\u52a1:\u90ae\u5c40\u901f\u9012:\u7269\u6d41\u4ed3\u50a8\u573a\u5730",
133
+ "141299": "\u751f\u6d3b\u670d\u52a1:\u90ae\u5c40\u901f\u9012:\u5176\u5b83\u90ae\u5c40\u901f\u9012",
134
+ "141300": "\u751f\u6d3b\u670d\u52a1:\u901a\u8baf\u670d\u52a1",
135
+ "141310": "\u751f\u6d3b\u670d\u52a1:\u901a\u8baf\u670d\u52a1:\u4e2d\u56fd\u7535\u4fe1\u8425\u4e1a\u5385",
136
+ "141311": "\u751f\u6d3b\u670d\u52a1:\u901a\u8baf\u670d\u52a1:\u4e2d\u56fd\u7f51\u901a\u8425\u4e1a\u5385",
137
+ "141312": "\u751f\u6d3b\u670d\u52a1:\u901a\u8baf\u670d\u52a1:\u4e2d\u56fd\u79fb\u52a8\u8425\u4e1a\u5385",
138
+ "141313": "\u751f\u6d3b\u670d\u52a1:\u901a\u8baf\u670d\u52a1:\u4e2d\u56fd\u8054\u901a\u8425\u4e1a\u5385",
139
+ "141314": "\u751f\u6d3b\u670d\u52a1:\u901a\u8baf\u670d\u52a1:\u4e2d\u56fd\u94c1\u901a\u8425\u4e1a\u5385",
140
+ "141399": "\u751f\u6d3b\u670d\u52a1:\u901a\u8baf\u670d\u52a1:\u5176\u5b83\u901a\u8baf\u670d\u52a1",
141
+ "141400": "\u751f\u6d3b\u670d\u52a1:\u62a5\u520a\u4ead",
142
+ "141500": "\u751f\u6d3b\u670d\u52a1:\u81ea\u6765\u6c34\u8425\u4e1a\u5385",
143
+ "141600": "\u751f\u6d3b\u670d\u52a1:\u7535\u529b\u8425\u4e1a\u5385",
144
+ "141700": "\u751f\u6d3b\u670d\u52a1:\u6444\u5f71\u51b2\u5370",
145
+ "141800": "\u751f\u6d3b\u670d\u52a1:\u6d17\u8863\u5e97",
146
+ "142000": "\u751f\u6d3b\u670d\u52a1:\u6559\u7ec3",
147
+ "142100": "\u751f\u6d3b\u670d\u52a1:\u751f\u6d3b\u670d\u52a1\u573a\u6240",
148
+ "142200": "\u751f\u6d3b\u670d\u52a1:\u4fe1\u606f\u54a8\u8be2\u4e2d\u5fc3",
149
+ "142300": "\u751f\u6d3b\u670d\u52a1:\u62db\u8058\u6c42\u804c",
150
+ "142400": "\u751f\u6d3b\u670d\u52a1:\u5f69\u7968",
151
+ "142410": "\u751f\u6d3b\u670d\u52a1:\u5f69\u7968:\u5f69\u7968\u5f69\u5238\u9500\u552e\u70b9",
152
+ "142411": "\u751f\u6d3b\u670d\u52a1:\u5f69\u7968:\u9a6c\u4f1a\u6295\u6ce8\u7ad9",
153
+ "142500": "\u751f\u6d3b\u670d\u52a1:\u4e8b\u52a1\u6240",
154
+ "142600": "\u751f\u6d3b\u670d\u52a1:\u5bb6\u653f",
155
+ "142610": "\u751f\u6d3b\u670d\u52a1:\u5bb6\u653f:\u6708\u5ac2\u4fdd\u59c6",
156
+ "142611": "\u751f\u6d3b\u670d\u52a1:\u5bb6\u653f:\u4fdd\u6d01\u949f\u70b9\u5de5",
157
+ "142612": "\u751f\u6d3b\u670d\u52a1:\u5bb6\u653f:\u5f00\u9501",
158
+ "142613": "\u751f\u6d3b\u670d\u52a1:\u5bb6\u653f:\u9001\u6c34",
159
+ "142614": "\u751f\u6d3b\u670d\u52a1:\u5bb6\u653f:\u5bb6\u7535\u7ef4\u4fee",
160
+ "142615": "\u751f\u6d3b\u670d\u52a1:\u5bb6\u653f:\u7ba1\u9053\u758f\u901a\u6253\u5b54",
161
+ "142616": "\u751f\u6d3b\u670d\u52a1:\u5bb6\u653f:\u642c\u5bb6",
162
+ "142699": "\u751f\u6d3b\u670d\u52a1:\u5bb6\u653f:\u5176\u5b83\u5bb6\u653f",
163
+ "142700": "\u751f\u6d3b\u670d\u52a1:\u4e2d\u4ecb\u673a\u6784",
164
+ "142800": "\u751f\u6d3b\u670d\u52a1:\u5ba0\u7269\u670d\u52a1",
165
+ "142810": "\u751f\u6d3b\u670d\u52a1:\u5ba0\u7269\u670d\u52a1:\u5ba0\u7269\u5546\u5e97",
166
+ "142811": "\u751f\u6d3b\u670d\u52a1:\u5ba0\u7269\u670d\u52a1:\u5ba0\u7269\u5e02\u573a",
167
+ "142812": "\u751f\u6d3b\u670d\u52a1:\u5ba0\u7269\u670d\u52a1:\u5ba0\u7269\u533b\u9662",
168
+ "142899": "\u751f\u6d3b\u670d\u52a1:\u5ba0\u7269\u670d\u52a1:\u5176\u5b83\u5ba0\u7269\u670d\u52a1",
169
+ "142900": "\u751f\u6d3b\u670d\u52a1:\u4e27\u846c",
170
+ "143000": "\u751f\u6d3b\u670d\u52a1:\u5e9f\u54c1\u6536\u8d2d\u7ad9",
171
+ "143100": "\u751f\u6d3b\u670d\u52a1:\u798f\u5229\u9662\u517b\u8001\u9662",
172
+ "143200": "\u751f\u6d3b\u670d\u52a1:\u6d4b\u5b57\u98ce\u6c34",
173
+ "143300": "\u751f\u6d3b\u670d\u52a1:\u5a5a\u5e86\u670d\u52a1",
174
+ "143400": "\u751f\u6d3b\u670d\u52a1:\u7f8e\u5bb9\u7f8e\u53d1",
175
+ "143410": "\u751f\u6d3b\u670d\u52a1:\u7f8e\u5bb9\u7f8e\u53d1:\u7f8e\u53d1",
176
+ "143411": "\u751f\u6d3b\u670d\u52a1:\u7f8e\u5bb9\u7f8e\u53d1:\u7f8e\u5bb9SPA",
177
+ "143412": "\u751f\u6d3b\u670d\u52a1:\u7f8e\u5bb9\u7f8e\u53d1:\u7626\u8eab\u7ea4\u4f53",
178
+ "143413": "\u751f\u6d3b\u670d\u52a1:\u7f8e\u5bb9\u7f8e\u53d1:\u7f8e\u7532",
179
+ "143499": "\u751f\u6d3b\u670d\u52a1:\u7f8e\u5bb9\u7f8e\u53d1:\u5176\u5b83\u7f8e\u5bb9\u7f8e\u53d1",
180
+ "149900": "\u751f\u6d3b\u670d\u52a1:\u5176\u5b83\u751f\u6d3b\u670d\u52a1",
181
+ "160000": "\u5a31\u4e50\u4f11\u95f2",
182
+ "161000": "\u5a31\u4e50\u4f11\u95f2:\u6d17\u6d74\u63a8\u62ff\u8db3\u7597",
183
+ "161100": "\u5a31\u4e50\u4f11\u95f2:KTV",
184
+ "161200": "\u5a31\u4e50\u4f11\u95f2:\u9152\u5427",
185
+ "161300": "\u5a31\u4e50\u4f11\u95f2:\u5496\u5561\u5385",
186
+ "161400": "\u5a31\u4e50\u4f11\u95f2:\u591c\u603b\u4f1a",
187
+ "161500": "\u5a31\u4e50\u4f11\u95f2:\u8336\u9986",
188
+ "161600": "\u5a31\u4e50\u4f11\u95f2:\u7535\u5f71\u9662",
189
+ "161700": "\u5a31\u4e50\u4f11\u95f2:\u5267\u573a\u97f3\u4e50\u5385",
190
+ "161710": "\u5a31\u4e50\u4f11\u95f2:\u5267\u573a\u97f3\u4e50\u5385:\u5267\u573a",
191
+ "161711": "\u5a31\u4e50\u4f11\u95f2:\u5267\u573a\u97f3\u4e50\u5385:\u97f3\u4e50\u5385",
192
+ "161799": "\u5a31\u4e50\u4f11\u95f2:\u5267\u573a\u97f3\u4e50\u5385:\u5176\u5b83\u5267\u573a\u97f3\u4e50\u5385",
193
+ "161800": "\u5a31\u4e50\u4f11\u95f2:\u5ea6\u5047\u7597\u517b",
194
+ "161900": "\u5a31\u4e50\u4f11\u95f2:\u6237\u5916\u6d3b\u52a8",
195
+ "161910": "\u5a31\u4e50\u4f11\u95f2:\u6237\u5916\u6d3b\u52a8:\u6e38\u4e50\u573a",
196
+ "161911": "\u5a31\u4e50\u4f11\u95f2:\u6237\u5916\u6d3b\u52a8:\u62d3\u5c55\u57f9\u8bad",
197
+ "161912": "\u5a31\u4e50\u4f11\u95f2:\u6237\u5916\u6d3b\u52a8:\u5782\u9493\u56ed",
198
+ "161913": "\u5a31\u4e50\u4f11\u95f2:\u6237\u5916\u6d3b\u52a8:\u91c7\u6458\u56ed",
199
+ "161914": "\u5a31\u4e50\u4f11\u95f2:\u6237\u5916\u6d3b\u52a8:\u9732\u8425\u5730",
200
+ "161915": "\u5a31\u4e50\u4f11\u95f2:\u6237\u5916\u6d3b\u52a8:\u6c34\u4e0a\u6d3b\u52a8\u4e2d\u5fc3",
201
+ "161999": "\u5a31\u4e50\u4f11\u95f2:\u6237\u5916\u6d3b\u52a8:\u5176\u5b83\u6237\u5916\u6d3b\u52a8",
202
+ "162000": "\u5a31\u4e50\u4f11\u95f2:\u6e38\u620f\u68cb\u724c",
203
+ "162010": "\u5a31\u4e50\u4f11\u95f2:\u6e38\u620f\u68cb\u724c:\u6e38\u620f\u5385",
204
+ "162011": "\u5a31\u4e50\u4f11\u95f2:\u6e38\u620f\u68cb\u724c:\u68cb\u724c\u5ba4",
205
+ "162012": "\u5a31\u4e50\u4f11\u95f2:\u6e38\u620f\u68cb\u724c:\u684c\u9762\u6e38\u620f",
206
+ "162013": "\u5a31\u4e50\u4f11\u95f2:\u6e38\u620f\u68cb\u724c:\u535a\u5f69\u4e2d\u5fc3",
207
+ "162099": "\u5a31\u4e50\u4f11\u95f2:\u6e38\u620f\u68cb\u724c:\u5176\u5b83\u6e38\u620f\u68cb\u724c",
208
+ "162100": "\u5a31\u4e50\u4f11\u95f2:\u7f51\u5427",
209
+ "162200": "\u5a31\u4e50\u4f11\u95f2:\u8fea\u5385",
210
+ "168000": "\u5a31\u4e50\u4f11\u95f2:\u5a31\u4e50\u4f11\u95f2\u573a\u6240\u9644\u5c5e",
211
+ "169900": "\u5a31\u4e50\u4f11\u95f2:\u5176\u5b83\u5a31\u4e50\u4f11\u95f2",
212
+ "180000": "\u8fd0\u52a8\u5065\u8eab",
213
+ "181000": "\u8fd0\u52a8\u5065\u8eab:\u5065\u8eab\u4e2d\u5fc3",
214
+ "181100": "\u8fd0\u52a8\u5065\u8eab:\u6e38\u6cf3\u9986",
215
+ "181200": "\u8fd0\u52a8\u5065\u8eab:\u6d77\u6ee8\u6d74\u573a",
216
+ "181300": "\u8fd0\u52a8\u5065\u8eab:\u745c\u4f3d",
217
+ "181400": "\u8fd0\u52a8\u5065\u8eab:\u7fbd\u6bdb\u7403\u9986",
218
+ "181500": "\u8fd0\u52a8\u5065\u8eab:\u4e52\u4e53\u7403\u9986",
219
+ "181600": "\u8fd0\u52a8\u5065\u8eab:\u7f51\u7403\u573a",
220
+ "181700": "\u8fd0\u52a8\u5065\u8eab:\u7bee\u7403\u573a",
221
+ "181800": "\u8fd0\u52a8\u5065\u8eab:\u8db3\u7403\u573a",
222
+ "181900": "\u8fd0\u52a8\u5065\u8eab:\u58c1\u7403\u573a",
223
+ "182000": "\u8fd0\u52a8\u5065\u8eab:\u6a44\u6984\u7403",
224
+ "182100": "\u8fd0\u52a8\u5065\u8eab:\u9a6c\u672f",
225
+ "182200": "\u8fd0\u52a8\u5065\u8eab:\u8d5b\u9a6c\u573a",
226
+ "182300": "\u8fd0\u52a8\u5065\u8eab:\u9ad8\u5c14\u592b\u573a",
227
+ "182400": "\u8fd0\u52a8\u5065\u8eab:\u4fdd\u9f84\u7403\u9986",
228
+ "182500": "\u8fd0\u52a8\u5065\u8eab:\u53f0\u7403\u9986",
229
+ "182600": "\u8fd0\u52a8\u5065\u8eab:\u6ed1\u96ea",
230
+ "182700": "\u8fd0\u52a8\u5065\u8eab:\u6e9c\u51b0",
231
+ "182800": "\u8fd0\u52a8\u5065\u8eab:\u8dc6\u62f3\u9053",
232
+ "182900": "\u8fd0\u52a8\u5065\u8eab:\u821e\u8e48",
233
+ "183000": "\u8fd0\u52a8\u5065\u8eab:\u7efc\u5408\u4f53\u80b2\u573a\u9986",
234
+ "188000": "\u8fd0\u52a8\u5065\u8eab:\u8fd0\u52a8\u5065\u8eab\u573a\u6240\u9644\u5c5e",
235
+ "189900": "\u8fd0\u52a8\u5065\u8eab:\u5176\u5b83\u8fd0\u52a8\u5065\u8eab",
236
+ "190000": "\u6c7d\u8f66",
237
+ "191000": "\u6c7d\u8f66:\u52a0\u6cb9\u7ad9",
238
+ "191010": "\u6c7d\u8f66:\u52a0\u6cb9\u7ad9:\u4e2d\u77f3\u5316",
239
+ "191011": "\u6c7d\u8f66:\u52a0\u6cb9\u7ad9:\u4e2d\u77f3\u6cb9",
240
+ "191012": "\u6c7d\u8f66:\u52a0\u6cb9\u7ad9:\u52a0\u6cb9\u52a0\u6c14\u7ad9",
241
+ "191013": "\u6c7d\u8f66:\u52a0\u6cb9\u7ad9:\u52a0\u6c14\u7ad9",
242
+ "191014": "\u6c7d\u8f66:\u52a0\u6cb9\u7ad9:\u5145\u7535\u7ad9",
243
+ "191099": "\u6c7d\u8f66:\u52a0\u6cb9\u7ad9:\u5176\u5b83\u52a0\u6cb9\u7ad9",
244
+ "191100": "\u6c7d\u8f66:\u505c\u8f66\u573a",
245
+ "191200": "\u6c7d\u8f66:\u6c7d\u8f66\u9500\u552e",
246
+ "191300": "\u6c7d\u8f66:\u6c7d\u8f66\u7ef4\u4fee",
247
+ "191400": "\u6c7d\u8f66:\u6469\u6258\u8f66",
248
+ "191410": "\u6c7d\u8f66:\u6469\u6258\u8f66:\u6469\u6258\u8f66\u670d\u52a1\u76f8\u5173",
249
+ "191411": "\u6c7d\u8f66:\u6469\u6258\u8f66:\u9500\u552e",
250
+ "191412": "\u6c7d\u8f66:\u6469\u6258\u8f66:\u7ef4\u4fee",
251
+ "191499": "\u6c7d\u8f66:\u6469\u6258\u8f66:\u5176\u5b83\u6469\u6258\u8f66",
252
+ "191500": "\u6c7d\u8f66:\u9a7e\u6821",
253
+ "191600": "\u6c7d\u8f66:\u6c7d\u8f66\u79df\u8d41",
254
+ "191700": "\u6c7d\u8f66:\u6c7d\u8f66\u517b\u62a4",
255
+ "191800": "\u6c7d\u8f66:\u6d17\u8f66\u573a",
256
+ "191900": "\u6c7d\u8f66:\u6c7d\u8f66\u4ff1\u4e50\u90e8",
257
+ "192000": "\u6c7d\u8f66:\u6c7d\u8f66\u6551\u63f4",
258
+ "192100": "\u6c7d\u8f66:\u6c7d\u8f66\u914d\u4ef6\u9500\u552e",
259
+ "192200": "\u6c7d\u8f66:\u4e8c\u624b\u8f66\u4ea4\u6613\u5e02\u573a",
260
+ "192400": "\u6c7d\u8f66:\u8f66\u8f86\u7ba1\u7406\u673a\u6784",
261
+ "199900": "\u6c7d\u8f66:\u5176\u5b83\u6c7d\u8f66",
262
+ "200000": "\u533b\u7597\u4fdd\u5065",
263
+ "201000": "\u533b\u7597\u4fdd\u5065:\u7efc\u5408\u533b\u9662",
264
+ "201100": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662",
265
+ "201110": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662:\u9f7f\u79d1",
266
+ "201111": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662:\u6574\u5f62",
267
+ "201112": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662:\u773c\u79d1",
268
+ "201113": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662:\u8033\u9f3b\u5589",
269
+ "201114": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662:\u80f8\u79d1",
270
+ "201115": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662:\u9aa8\u79d1",
271
+ "201116": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662:\u80bf\u7624",
272
+ "201117": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662:\u8111\u79d1",
273
+ "201118": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662:\u5987\u4ea7\u79d1",
274
+ "201119": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662:\u513f\u79d1",
275
+ "201121": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662:\u4f20\u67d3\u75c5\u533b\u9662",
276
+ "201122": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662:\u7cbe\u795e\u75c5\u533b\u9662",
277
+ "201199": "\u533b\u7597\u4fdd\u5065:\u4e13\u79d1\u533b\u9662:\u5176\u5b83\u4e13\u79d1\u533b\u9662",
278
+ "201200": "\u533b\u7597\u4fdd\u5065:\u8bca\u6240",
279
+ "201300": "\u533b\u7597\u4fdd\u5065:\u6025\u6551\u4e2d\u5fc3",
280
+ "201400": "\u533b\u7597\u4fdd\u5065:\u836f\u623f\u836f\u5e97",
281
+ "201500": "\u533b\u7597\u4fdd\u5065:\u75be\u75c5\u9884\u9632",
282
+ "208000": "\u533b\u7597\u4fdd\u5065:\u533b\u7597\u4fdd\u5065\u9644\u5c5e",
283
+ "208010": "\u533b\u7597\u4fdd\u5065:\u533b\u7597\u4fdd\u5065\u9644\u5c5e:\u95e8\u8bca\u90e8",
284
+ "208011": "\u533b\u7597\u4fdd\u5065:\u533b\u7597\u4fdd\u5065\u9644\u5c5e:\u6025\u8bca",
285
+ "208099": "\u533b\u7597\u4fdd\u5065:\u533b\u7597\u4fdd\u5065\u9644\u5c5e:\u5176\u5b83\u533b\u7597\u4fdd\u5065\u9644\u5c5e",
286
+ "209900": "\u533b\u7597\u4fdd\u5065:\u5176\u5b83\u533b\u7597\u4fdd\u5065",
287
+ "210000": "\u9152\u5e97\u5bbe\u9986",
288
+ "211000": "\u9152\u5e97\u5bbe\u9986:\u9152\u5e97\u5bbe\u9986",
289
+ "211100": "\u9152\u5e97\u5bbe\u9986:\u661f\u7ea7\u9152\u5e97",
290
+ "211500": "\u9152\u5e97\u5bbe\u9986:\u7ecf\u6d4e\u578b\u9152\u5e97",
291
+ "211600": "\u9152\u5e97\u5bbe\u9986:\u516c\u5bd3\u5f0f\u9152\u5e97",
292
+ "211700": "\u9152\u5e97\u5bbe\u9986:\u65c5\u9986\u62db\u5f85\u6240",
293
+ "211800": "\u9152\u5e97\u5bbe\u9986:\u5ea6\u5047\u6751",
294
+ "211900": "\u9152\u5e97\u5bbe\u9986:\u519c\u5bb6\u9662",
295
+ "212000": "\u9152\u5e97\u5bbe\u9986:\u9752\u5e74\u65c5\u793e",
296
+ "218000": "\u9152\u5e97\u5bbe\u9986:\u9152\u5e97\u5bbe\u9986\u9644\u5c5e",
297
+ "219900": "\u9152\u5e97\u5bbe\u9986:\u5176\u5b83\u9152\u5e97\u5bbe\u9986",
298
+ "220000": "\u65c5\u6e38\u666f\u70b9",
299
+ "221000": "\u65c5\u6e38\u666f\u70b9:\u98ce\u666f\u540d\u80dc",
300
+ "221100": "\u65c5\u6e38\u666f\u70b9:\u516c\u56ed",
301
+ "221200": "\u65c5\u6e38\u666f\u70b9:\u690d\u7269\u56ed",
302
+ "221300": "\u65c5\u6e38\u666f\u70b9:\u52a8\u7269\u56ed",
303
+ "221400": "\u65c5\u6e38\u666f\u70b9:\u6c34\u65cf\u9986",
304
+ "221500": "\u65c5\u6e38\u666f\u70b9:\u57ce\u5e02\u5e7f\u573a",
305
+ "221600": "\u65c5\u6e38\u666f\u70b9:\u4e16\u754c\u9057\u4ea7",
306
+ "221700": "\u65c5\u6e38\u666f\u70b9:\u56fd\u5bb6\u7ea7\u666f\u70b9",
307
+ "221800": "\u65c5\u6e38\u666f\u70b9:\u7701\u7ea7\u666f\u70b9",
308
+ "221900": "\u65c5\u6e38\u666f\u70b9:\u7eaa\u5ff5\u9986",
309
+ "222000": "\u65c5\u6e38\u666f\u70b9:\u5bfa\u5e99\u9053\u89c2",
310
+ "222100": "\u65c5\u6e38\u666f\u70b9:\u6559\u5802",
311
+ "222200": "\u65c5\u6e38\u666f\u70b9:\u6d77\u6ee9",
312
+ "222310": "\u65c5\u6e38\u666f\u70b9:\u6e05\u771f\u5bfa",
313
+ "228000": "\u65c5\u6e38\u666f\u70b9:\u666f\u70b9\u516c\u56ed\u9644\u5c5e",
314
+ "229900": "\u65c5\u6e38\u666f\u70b9:\u5176\u5b83\u65c5\u6e38\u666f\u70b9",
315
+ "230000": "\u6587\u5316\u573a\u9986",
316
+ "231000": "\u6587\u5316\u573a\u9986:\u535a\u7269\u9986",
317
+ "231100": "\u6587\u5316\u573a\u9986:\u5c55\u89c8\u9986",
318
+ "231200": "\u6587\u5316\u573a\u9986:\u79d1\u6280\u9986",
319
+ "231300": "\u6587\u5316\u573a\u9986:\u56fe\u4e66\u9986",
320
+ "231400": "\u6587\u5316\u573a\u9986:\u5929\u6587\u9986",
321
+ "231500": "\u6587\u5316\u573a\u9986:\u6863\u6848\u9986",
322
+ "231600": "\u6587\u5316\u573a\u9986:\u6587\u5316\u5bab",
323
+ "231700": "\u6587\u5316\u573a\u9986:\u7f8e\u672f\u9986",
324
+ "231800": "\u6587\u5316\u573a\u9986:\u4f1a\u5c55\u4e2d\u5fc3",
325
+ "239900": "\u6587\u5316\u573a\u9986:\u5176\u5b83\u6587\u5316\u573a\u9986",
326
+ "240000": "\u6559\u80b2\u5b66\u6821",
327
+ "241000": "\u6559\u80b2\u5b66\u6821:\u5927\u5b66",
328
+ "241100": "\u6559\u80b2\u5b66\u6821:\u4e2d\u5b66",
329
+ "241200": "\u6559\u80b2\u5b66\u6821:\u5c0f\u5b66",
330
+ "241300": "\u6559\u80b2\u5b66\u6821:\u5e7c\u513f\u56ed",
331
+ "241500": "\u6559\u80b2\u5b66\u6821:\u57f9\u8bad",
332
+ "241600": "\u6559\u80b2\u5b66\u6821:\u804c\u4e1a\u6280\u672f\u5b66\u6821",
333
+ "241700": "\u6559\u80b2\u5b66\u6821:\u6210\u4eba\u6559\u80b2",
334
+ "248000": "\u6559\u80b2\u5b66\u6821:\u6559\u80b2\u5b66\u6821\u9644\u5c5e",
335
+ "249900": "\u6559\u80b2\u5b66\u6821:\u5176\u5b83\u6559\u80b2\u5b66\u6821",
336
+ "250000": "\u94f6\u884c\u91d1\u878d",
337
+ "251000": "\u94f6\u884c\u91d1\u878d:\u94f6\u884c",
338
+ "251100": "\u94f6\u884c\u91d1\u878d:\u81ea\u52a8\u63d0\u6b3e\u673a",
339
+ "251200": "\u94f6\u884c\u91d1\u878d:\u4fdd\u9669\u516c\u53f8",
340
+ "251300": "\u94f6\u884c\u91d1\u878d:\u8bc1\u5238\u516c\u53f8",
341
+ "251400": "\u94f6\u884c\u91d1\u878d:\u8d22\u52a1\u516c\u53f8",
342
+ "258000": "\u94f6\u884c\u91d1\u878d:\u94f6\u884c\u91d1\u878d\u573a\u6240\u9644\u5c5e",
343
+ "259900": "\u94f6\u884c\u91d1\u878d:\u5176\u5b83\u94f6\u884c\u91d1\u878d",
344
+ "260000": "\u5730\u540d\u5730\u5740",
345
+ "261000": "\u5730\u540d\u5730\u5740:\u4ea4\u901a\u5730\u540d",
346
+ "261100": "\u5730\u540d\u5730\u5740:\u5730\u540d\u5730\u5740\u4fe1\u606f",
347
+ "261200": "\u5730\u540d\u5730\u5740:\u9053\u8def\u540d",
348
+ "261300": "\u5730\u540d\u5730\u5740:\u81ea\u7136\u5730\u540d",
349
+ "261310": "\u5730\u540d\u5730\u5740:\u81ea\u7136\u5730\u540d:\u5c71",
350
+ "261311": "\u5730\u540d\u5730\u5740:\u81ea\u7136\u5730\u540d:\u5c9b\u5c7f",
351
+ "261312": "\u5730\u540d\u5730\u5740:\u81ea\u7136\u5730\u540d:\u6cb3\u6d41",
352
+ "261313": "\u5730\u540d\u5730\u5740:\u81ea\u7136\u5730\u540d:\u6d77\u6e7e\u6d77\u5ce1",
353
+ "261314": "\u5730\u540d\u5730\u5740:\u81ea\u7136\u5730\u540d:\u6e56\u6cca",
354
+ "261399": "\u5730\u540d\u5730\u5740:\u81ea\u7136\u5730\u540d:\u5176\u5b83\u81ea\u7136\u5730\u540d",
355
+ "261400": "\u5730\u540d\u5730\u5740:\u884c\u653f\u5730\u540d",
356
+ "261500": "\u5730\u540d\u5730\u5740:\u95e8\u724c\u4fe1\u606f",
357
+ "261600": "\u5730\u540d\u5730\u5740:\u70ed\u70b9\u533a\u57df",
358
+ "261610": "\u5730\u540d\u5730\u5740:\u70ed\u70b9\u533a\u57df:\u4ea4\u901a\u7c7b",
359
+ "261611": "\u5730\u540d\u5730\u5740:\u70ed\u70b9\u533a\u57df:POI\u7c7b",
360
+ "261612": "\u5730\u540d\u5730\u5740:\u70ed\u70b9\u533a\u57df:\u884c\u653f\u7c7b",
361
+ "261613": "\u5730\u540d\u5730\u5740:\u70ed\u70b9\u533a\u57df:\u5546\u5708\u7c7b",
362
+ "261699": "\u5730\u540d\u5730\u5740:\u70ed\u70b9\u533a\u57df:\u5176\u5b83\u70ed\u70b9\u533a\u57df",
363
+ "269900": "\u5730\u540d\u5730\u5740:\u5176\u5b83\u5730\u540d\u5730\u5740",
364
+ "270000": "\u57fa\u7840\u8bbe\u65bd",
365
+ "271000": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd",
366
+ "271010": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u4ea4\u901a\u670d\u52a1\u76f8\u5173",
367
+ "271013": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u516c\u4ea4\u8f66\u7ad9",
368
+ "271014": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u5730\u94c1\u7ad9",
369
+ "271015": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u6e2f\u53e3\u7801\u5934",
370
+ "271016": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u706b\u8f66\u7ad9",
371
+ "271017": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u8f7b\u8f68\u7ad9",
372
+ "271018": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u8fc7\u5883\u53e3\u5cb8",
373
+ "271019": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u957f\u9014\u6c7d\u8f66\u7ad9",
374
+ "271020": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u98de\u673a\u573a",
375
+ "271021": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u516c\u4ea4\u7ebf\u8def",
376
+ "271022": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u5730\u94c1\u7ebf\u8def",
377
+ "271030": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u5730\u94c1\u7ad9\u51fa\u5165\u53e3",
378
+ "271099": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u5176\u5b83\u4ea4\u901a\u8bbe\u65bd",
379
+ "271040": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u673a\u573a\u9644\u5c5e",
380
+ "271050": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u706b\u8f66\u7ad9\u9644\u5c5e",
381
+ "271080": "\u57fa\u7840\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd:\u4ea4\u901a\u8bbe\u65bd\u9644\u5c5e",
382
+ "271100": "\u57fa\u7840\u8bbe\u65bd:\u516c\u5171\u8bbe\u65bd",
383
+ "271110": "\u57fa\u7840\u8bbe\u65bd:\u516c\u5171\u8bbe\u65bd:\u516c\u5171\u5395\u6240",
384
+ "271112": "\u57fa\u7840\u8bbe\u65bd:\u516c\u5171\u8bbe\u65bd:\u516c\u7528\u7535\u8bdd",
385
+ "271113": "\u57fa\u7840\u8bbe\u65bd:\u516c\u5171\u8bbe\u65bd:\u7d27\u6025\u907f\u96be\u573a\u6240",
386
+ "271199": "\u57fa\u7840\u8bbe\u65bd:\u516c\u5171\u8bbe\u65bd:\u5176\u5b83\u516c\u5171\u8bbe\u65bd",
387
+ "271200": "\u57fa\u7840\u8bbe\u65bd:\u9053\u8def\u9644\u5c5e",
388
+ "271210": "\u57fa\u7840\u8bbe\u65bd:\u9053\u8def\u9644\u5c5e:\u6536\u8d39\u7ad9",
389
+ "271211": "\u57fa\u7840\u8bbe\u65bd:\u9053\u8def\u9644\u5c5e:\u670d\u52a1\u533a",
390
+ "271212": "\u57fa\u7840\u8bbe\u65bd:\u9053\u8def\u9644\u5c5e:\u9053\u8def\u51fa\u5165\u53e3",
391
+ "271213": "\u57fa\u7840\u8bbe\u65bd:\u9053\u8def\u9644\u5c5e:\u8def\u53e3",
392
+ "271214": "\u57fa\u7840\u8bbe\u65bd:\u9053\u8def\u9644\u5c5e:\u6865",
393
+ "271299": "\u57fa\u7840\u8bbe\u65bd:\u9053\u8def\u9644\u5c5e:\u5176\u5b83\u9053\u8def\u9644\u5c5e",
394
+ "279900": "\u57fa\u7840\u8bbe\u65bd:\u5176\u5b83\u57fa\u7840\u8bbe\u65bd",
395
+ "280000": "\u623f\u4ea7\u5c0f\u533a",
396
+ "281000": "\u623f\u4ea7\u5c0f\u533a:\u4f4f\u5b85\u533a",
397
+ "281010": "\u623f\u4ea7\u5c0f\u533a:\u4f4f\u5b85\u533a:\u4f4f\u5b85\u5c0f\u533a",
398
+ "281011": "\u623f\u4ea7\u5c0f\u533a:\u4f4f\u5b85\u533a:\u522b\u5885",
399
+ "281012": "\u623f\u4ea7\u5c0f\u533a:\u4f4f\u5b85\u533a:\u5bbf\u820d",
400
+ "281013": "\u623f\u4ea7\u5c0f\u533a:\u4f4f\u5b85\u533a:\u793e\u533a\u4e2d\u5fc3",
401
+ "281099": "\u623f\u4ea7\u5c0f\u533a:\u4f4f\u5b85\u533a:\u5176\u5b83\u4f4f\u5b85\u533a",
402
+ "281100": "\u623f\u4ea7\u5c0f\u533a:\u4ea7\u4e1a\u56ed\u533a",
403
+ "281200": "\u623f\u4ea7\u5c0f\u533a:\u5546\u52a1\u697c\u5b87",
404
+ "288000": "\u623f\u4ea7\u5c0f\u533a:\u623f\u4ea7\u5c0f\u533a\u9644\u5c5e",
405
+ "289900": "\u623f\u4ea7\u5c0f\u533a:\u5176\u5b83\u623f\u4ea7\u5c0f\u533a",
406
+ "800000": "\u5ba4\u5185\u53ca\u9644\u5c5e\u8bbe\u65bd",
407
+ "801000": "\u5ba4\u5185\u53ca\u9644\u5c5e\u8bbe\u65bd:\u901a\u884c\u8bbe\u65bd",
408
+ "801010": "\u5ba4\u5185\u53ca\u9644\u5c5e\u8bbe\u65bd:\u901a\u884c\u8bbe\u65bd\u7c7b:\u95e8/\u51fa\u5165\u53e3",
409
+ "801011": "\u5ba4\u5185\u53ca\u9644\u5c5e\u8bbe\u65bd:\u901a\u884c\u8bbe\u65bd\u7c7b:\u697c\u68af",
410
+ "801012": "\u5ba4\u5185\u53ca\u9644\u5c5e\u8bbe\u65bd:\u901a\u884c\u8bbe\u65bd\u7c7b:\u7535\u68af",
411
+ "801099": "\u5ba4\u5185\u53ca\u9644\u5c5e\u8bbe\u65bd:\u901a\u884c\u8bbe\u65bd\u7c7b:\u5176\u5b83\u901a\u884c\u8bbe\u65bd\u7c7b",
412
+ "809900": "\u5ba4\u5185\u53ca\u9644\u5c5e\u8bbe\u65bd:\u5176\u5b83\u5ba4\u5185\u53ca\u9644\u5c5e\u8bbe\u65bd",
413
+ "990000": "\u5176\u5b83",
414
+ }
415
+
416
+ LEVEL_ONE_PRE = ["1", "2", "8", "9"]
@@ -0,0 +1,8 @@
1
+ """
2
+ 用于接入模拟器同步框架的Sidecar框架服务(仅客户端)
3
+ Sidecar framework service for accessing the simulator synchronization framework (client only)
4
+ """
5
+
6
+ from .sidecarv2 import *
7
+
8
+ __all__ = ["OnlyClientSidecar"]
@@ -0,0 +1,109 @@
1
+ import logging
2
+ from time import sleep
3
+ from typing import cast
4
+
5
+ import grpc
6
+ from pycityproto.city.sync.v2 import sync_service_pb2 as sync_service
7
+ from pycityproto.city.sync.v2 import sync_service_pb2_grpc as sync_grpc
8
+
9
+ from ..utils.grpc import create_channel
10
+
11
+ __all__ = ["OnlyClientSidecar"]
12
+
13
+
14
+ class OnlyClientSidecar:
15
+ """
16
+ Sidecar框架服务(仅支持作为客户端,不支持对外提供gRPC服务)
17
+ Sidecar framework service (only supported as a client, does not support external gRPC services)
18
+ """
19
+
20
+ def __init__(self, name: str, syncer_address: str, secure: bool = False):
21
+ """
22
+ Args:
23
+ - name (str): 本服务在etcd上的注册名。The registered name of this service on etcd.
24
+ - server_address (str): syncer地址。syncer address.
25
+ - listen_address (str): sidecar监听地址。sidecar listening address.
26
+ - secure (bool, optional): 是否使用安全连接. Defaults to False. Whether to use a secure connection. Defaults to False.
27
+ """
28
+ self._name = name
29
+ channel = create_channel(syncer_address, secure)
30
+ self._sync_stub = sync_grpc.SyncServiceStub(channel)
31
+
32
+ def wait_url(self, name: str) -> str:
33
+ """
34
+ 获取服务的uri
35
+ Get the uri of the service
36
+
37
+ Args:
38
+ - name (str): 服务的注册名。Service registration name.
39
+
40
+ Returns:
41
+ - str: 服务的url。service url.
42
+ """
43
+ while True:
44
+ try:
45
+ resp = cast(
46
+ sync_service.GetURLResponse,
47
+ self._sync_stub.GetURL(sync_service.GetURLRequest(name=name)),
48
+ )
49
+ url = resp.url
50
+ break
51
+ except grpc.RpcError as e:
52
+ logging.warning("get uri failed, retrying..., %s", e)
53
+ sleep(1)
54
+
55
+ logging.debug("get uri: %s for name=%s", url, name)
56
+ return url
57
+
58
+ def step(self, close: bool = False) -> bool:
59
+ """
60
+ 同步器步进
61
+ synchronizer step up
62
+
63
+ Args:
64
+ - close (bool): 是否退出模拟。Whether the simulation exited.
65
+
66
+ Returns:
67
+ - close (bool): 是否退出模拟。Whether the simulation exited.
68
+ """
69
+ self._sync_stub.EnterStepSync(
70
+ sync_service.EnterStepSyncRequest(name=self._name)
71
+ )
72
+ response = self._sync_stub.ExitStepSync(
73
+ sync_service.ExitStepSyncRequest(name=self._name, close=close)
74
+ )
75
+ return response.close
76
+
77
+ def init(self) -> bool:
78
+ """
79
+ 同步器初始化
80
+ Synchronizer initialization
81
+
82
+ Returns:
83
+ - close (bool): 是否退出模拟。Whether the simulation exited.
84
+
85
+ Examples:
86
+ ```python
87
+ close = client.init()
88
+ print(close)
89
+ # > False
90
+ ```
91
+ """
92
+ return self.step()
93
+
94
+ def close(self) -> bool:
95
+ """
96
+ 同步器关闭
97
+ Synchronizer close
98
+
99
+ Returns:
100
+ - close (bool): 是否退出模拟。Whether the simulation exited.
101
+ """
102
+ return self.step(True)
103
+
104
+ def notify_step_ready(self):
105
+ """
106
+ 通知prepare阶段已完成
107
+ Notify that the prepare phase is completed
108
+ """
109
+ ...
@@ -0,0 +1,29 @@
1
+ """
2
+ 模拟器gRPC接入客户端
3
+ Simulator gRPC access client
4
+ """
5
+
6
+ from .person_service import PersonService
7
+ from .aoi_service import AoiService
8
+ from .client import CityClient
9
+ from .clock_service import ClockService
10
+ from .economy_services import EconomyOrgService, EconomyPersonService
11
+ from .lane_service import LaneService
12
+ from .road_service import RoadService
13
+ from .social_service import SocialService
14
+ from .light_service import LightService
15
+ from .sim_env import ControlSimEnv
16
+
17
+ __all__ = [
18
+ "CityClient",
19
+ "ClockService",
20
+ "PersonService",
21
+ "AoiService",
22
+ "LaneService",
23
+ "RoadService",
24
+ "SocialService",
25
+ "EconomyPersonService",
26
+ "EconomyOrgService",
27
+ "LightService",
28
+ "ControlSimEnv",
29
+ ]
@@ -0,0 +1,39 @@
1
+ from collections.abc import Awaitable, Coroutine
2
+ from typing import Any, Dict, Union, cast
3
+
4
+ import grpc
5
+ from google.protobuf.json_format import ParseDict
6
+ from pycityproto.city.map.v2 import aoi_service_pb2 as aoi_service
7
+ from pycityproto.city.map.v2 import aoi_service_pb2_grpc as aoi_grpc
8
+
9
+ from ..utils.protobuf import async_parse
10
+
11
+ __all__ = ["AoiService"]
12
+
13
+
14
+ class AoiService:
15
+ """
16
+ aoi服务
17
+ AOI service
18
+ """
19
+
20
+ def __init__(self, aio_channel: grpc.aio.Channel):
21
+ self._aio_stub = aoi_grpc.AoiServiceStub(aio_channel)
22
+
23
+ def GetAoi(
24
+ self, req: Union[aoi_service.GetAoiRequest, dict], dict_return: bool = True
25
+ ) -> Coroutine[Any, Any, Union[Dict[str, Any], aoi_service.GetAoiResponse]]:
26
+ """
27
+ 获取AOI信息
28
+ get AOI information
29
+
30
+ Args:
31
+ - req (dict): https://cityproto.sim.fiblab.net/#city.map.v2.GetAoiRequest
32
+
33
+ Returns:
34
+ - https://cityproto.sim.fiblab.net/#city.map.v2.GetAoiResponse
35
+ """
36
+ if type(req) != aoi_service.GetAoiRequest:
37
+ req = ParseDict(req, aoi_service.GetAoiRequest())
38
+ res = cast(Awaitable[aoi_service.GetAoiResponse], self._aio_stub.GetAoi(req))
39
+ return async_parse(res, dict_return)