Deprecated: Optional parameter $post_id declared before required parameter $field is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/includes/acf-value-functions.php on line 57

Deprecated: Optional parameter $value declared before required parameter $field is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/includes/acf-value-functions.php on line 169

Deprecated: Optional parameter $post_id declared before required parameter $field is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/includes/acf-value-functions.php on line 169

Deprecated: Optional parameter $key declared before required parameter $value is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/includes/ajax/class-acf-ajax.php on line 99

Deprecated: Optional parameter $i declared before required parameter $post_id is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-repeater.php on line 720

Deprecated: Optional parameter $i declared before required parameter $post_id is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-repeater.php on line 786

Deprecated: Optional parameter $name declared before required parameter $field is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-flexible-content.php on line 1038

Deprecated: Optional parameter $i declared before required parameter $post_id is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-flexible-content.php on line 1074

Deprecated: Optional parameter $i declared before required parameter $post_id is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-flexible-content.php on line 1126

Deprecated: Optional parameter $id declared before required parameter $field is implicitly treated as a required parameter in /home/architectureprizecome/architectureprize.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-gallery.php on line 300

Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Cookie/Jar.php on line 63

Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Cookie/Jar.php on line 73

Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Cookie/Jar.php on line 89

Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Cookie/Jar.php on line 102

Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Cookie/Jar.php on line 111

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/architectureprizecome/architectureprize.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91
Architecture Masterprize Winner The River of History
[Shen Helin - The River of History - COVER IMG] The River of History

The River of History

PrizeHonorable Mention in Exterior Architecture Photography / Cityscapes
LocationShanghai, China
University/SchoolSoochow University
PhotographerShen Helin

A river that flows through time, recording the changes of the city