ADVERTISEMENT

San Juan LGU introduces new tech system to improve earthquake response

Published Nov 25, 2025 05:06 pm
The San Juan City government unveiled a new technology-driven system on Tuesday, Nov. 25, to strengthen its earthquake preparedness and public safety operations.
Mayor Francis Zamora introduces new tech system to improve earthquake response on Tuesday, Nov. 25, at the Makabagong San Juan Theater (Photo from San Juan LGU)
Mayor Francis Zamora introduces new tech system to improve earthquake response on Tuesday, Nov. 25, at the Makabagong San Juan Theater (Photo from San Juan LGU)
The ICT-Integrated Earthquake Response Platform was demonstrated at the Makabagong San Juan Theater.
Mayor Francis Zamora said the system will help the city detect tremors faster, speed up emergency response, and better protect lives and property.
According to the Public Information Office, monitoring devices have been installed at San Juan City Hall, San Juan Medical Center, and the Makabagong San Juan National Government Center.
These tools can quickly detect ground movement and send alerts that allow responders to act immediately.
During the event, GEOMEXSOFT Overseas Business Manager Kim Sang Woo conducted a live demonstration showing how the platform collects seismic data and triggers automated warnings.
The program also featured updates on KOICA’s second-year implementation and a presentation of technical solutions from Westpoint.
The local government said the new system reflects San Juan’s continuing efforts to adopt modern technology and enhance disaster readiness for residents.
Zamora led the event along with officials from the Korea International Cooperation Agency (KOICA), which funded the project through its Inclusive Business Solution Program. Representatives from PAGASA, the Department of Science and Technology (DOST), and the San Juan CDRRMO were also present.
The mayor urged all local governments in the country on Oct. 13, to prepare for disasters and calamities as the Philippines continues to experience strong earthquakes in succession in the past weeks.
“To this end, I encourage my fellow mayors to continue strengthening capacity-building programs for disaster management officers, staff, and our citizens. I also urge our local officials to ensure that all local government units are adequately equipped with emergency vehicles, equipment, and supplies to enable a prompt and effective response in the event of a disaster," he said.
He also called on residents to remain vigilant and prepared, saying that staying ready is everyone’s responsibility.
“During an earthquake, remain calm, take cover under a sturdy object, stay away from glass windows and unstable structures, and move to open areas when it is safe to do so. Familiarize yourselves with the designated evacuation sites near your homes, schools, and workplaces. Your local governments stand ready to assist you, but your immediate response in the crucial first hours after a disaster can make a significant difference in ensuring your safety and that of your loved ones," Zamora said. 
READ: 
https://mb.com.ph/2025/10/13/mayor-francis-calls-for-whole-of-nation-approach-in-preparing-for-the-big-one-other-disasters

Related Tags

metronews San juan city mayor francis zamora
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.