-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHistory2
219 lines (204 loc) · 6.84 KB
/
History2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
from simplekml import Kml, Style
from datetime import datetime, timedelta
# Create a KML file
kml = Kml()
# Define time period
start_date = datetime(1941, 12, 8) # Start of Japanese invasion
rescue_date = datetime(1944, 7, 10) # Rescue by USS McCall
# Define the coordinates and details for all locations
locations = {
"Initial Landing Point (Agat)": {
"coords": (13.3897, 144.6567),
"description": "Japanese forces landed here on December 8, 1941. Tweed began his escape from this area.",
"style": "red",
"timestamp": "1941-12-08"
},
"Adelup Point": {
"coords": (13.4716, 144.7327),
"description": "Strategic point overlooking Agana Bay. Tweed used this vantage point to observe ship movements.",
"style": "yellow"
},
"Asan": {
"coords": (13.4601, 144.7133),
"description": "Village where Tweed received crucial support. The Punzalan family was particularly helpful.",
"style": "yellow"
},
"Piti": {
"coords": (13.4561, 144.6989),
"description": "Area Tweed frequently traversed. Contains several smaller caves he used temporarily.",
"style": "yellow"
},
"Sumay": {
"coords": (13.4278, 144.6705),
"description": "Former naval facility. Tweed avoided this area due to heavy Japanese presence.",
"style": "red"
},
"Cabras Island": {
"coords": (13.4560, 144.6610),
"description": "Strategic location in Apra Harbor. Japanese maintained strong presence here.",
"style": "red"
},
"Orote Peninsula": {
"coords": (13.4389, 144.6253),
"description": "Location of pre-war naval air station. Heavy Japanese fortification.",
"style": "red"
},
"Primary Cave Hideout": {
"coords": (13.47, 144.69),
"description": """Main hideout from 1942-1944. Features:
- Natural cave system with multiple exits
- Excellent vantage point over Piti and Asan
- Fresh water source nearby
- Dense jungle cover
- Hidden from main paths""",
"style": "green",
"timestamp": "1942-03-15"
}
}
# Add helper locations
helper_locations = {
"Punzalan Family Home": {
"coords": (13.4605, 144.7140),
"description": "The Punzalan family provided food and information throughout the occupation",
"style": "blue",
"timestamp": "1942-01-15"
},
"Antonio Artero Ranch": {
"coords": (13.4680, 144.7050),
"description": "Antonio Artero provided significant aid, including food and medicine",
"style": "blue",
"timestamp": "1942-06-01"
},
"Water Source": {
"coords": (13.4695, 144.6920),
"description": "Fresh water spring Tweed used throughout his hiding period",
"style": "blue"
},
"Signal Point": {
"coords": (13.4710, 144.7000),
"description": "Location where Tweed successfully signaled USS McCall for rescue",
"style": "green",
"timestamp": "1944-07-10"
}
}
# Define Japanese patrol routes
patrol_routes = {
"Coastal Patrol": {
"coords": [
(144.6567, 13.3897), # Agat
(144.6705, 13.4278), # Sumay
(144.6610, 13.4560), # Cabras
(144.7327, 13.4716) # Adelup
],
"description": "Regular Japanese coastal patrol route"
},
"Mountain Patrol": {
"coords": [
(144.6989, 13.4561), # Piti
(144.7050, 13.4680), # Near Artero Ranch
(144.7133, 13.4601) # Asan
],
"description": "Japanese mountain search patrols"
}
}
# Create styles
styles = {
"red": kml.newstyle(
iconstyle=kml.newiconstyle(
color='ff0000ff', # Red
scale=1.2,
icon=kml.newicon(href='http://maps.google.com/mapfiles/kml/shapes/target.png')
)
),
"yellow": kml.newstyle(
iconstyle=kml.newiconstyle(
color='ff00ffff', # Yellow
scale=1.0,
icon=kml.newicon(href='http://maps.google.com/mapfiles/kml/shapes/placemark_circle.png')
)
),
"green": kml.newstyle(
iconstyle=kml.newiconstyle(
color='ff00ff00', # Green
scale=1.4,
icon=kml.newicon(href='http://maps.google.com/mapfiles/kml/shapes/triangle.png')
)
),
"blue": kml.newstyle(
iconstyle=kml.newiconstyle(
color='ffff0000', # Blue
scale=1.0,
icon=kml.newicon(href='http://maps.google.com/mapfiles/kml/shapes/star.png')
)
)
}
# Create a folder for terrain features
terrain_folder = kml.newfolder(name='Terrain Features')
# Add terrain polygons
jungle_area = terrain_folder.newpolygon(
name='Dense Jungle Cover',
outerboundaryis=[
(144.69, 13.47), # Near cave
(144.70, 13.468),
(144.71, 13.465),
(144.69, 13.46)
]
)
jungle_area.style.polystyle.color = '7f00ff00' # Semi-transparent green
# Add locations to the KML
for name, info in {**locations, **helper_locations}.items():
point = kml.newpoint(
name=name,
coords=[(info["coords"][1], info["coords"][0])],
description=info["description"]
)
point.style = styles[info["style"]]
if "timestamp" in info:
point.timestamp.when = info["timestamp"]
# Add patrol routes
for name, route in patrol_routes.items():
path = kml.newlinestring(
name=name,
description=route["description"],
coords=[(lon, lat) for lon, lat in route["coords"]]
)
path.style.linestyle.width = 3
path.style.linestyle.color = 'ff0000ff' # Red
# Add Tweed's movement timeline
movements = kml.newfolder(name='Tweed\'s Movements')
# Early period (Dec 1941 - Mar 1942)
early_movement = movements.newlinestring(
name="Initial Evasion Period",
description="First months of hiding, moving between temporary locations",
coords=[
(144.6567, 13.3897), # Agat
(144.6989, 13.4561), # Piti
(144.7133, 13.4601) # Asan
]
)
early_movement.timespan.begin = "1941-12-08"
early_movement.timespan.end = "1942-03-15"
early_movement.style.linestyle.color = '7fff0000' # Semi-transparent blue
# Main hiding period (Mar 1942 - Jul 1944)
main_period = movements.newlinestring(
name="Main Hiding Period",
description="Period in and around the main cave hideout",
coords=[
(144.69, 13.47), # Cave
(144.7050, 13.4680), # Artero Ranch
(144.7140, 13.4605) # Punzalan Home
]
)
main_period.timespan.begin = "1942-03-15"
main_period.timespan.end = "1944-07-10"
main_period.style.linestyle.color = '7f00ff00' # Semi-transparent green
# Add view information
view = kml.document.lookat
view.latitude = 13.45
view.longitude = 144.68
view.altitude = 0
view.range = 15000
view.tilt = 45
view.heading = 0
# Save the KML file
kml.save("Tweed_Detailed_Survival_Map.kml")