Java implementiert GIS-Kartenanzeige- und Interaktionsfunktionen von Formulardaten
Einführung:
GIS-Technologie (Geographical Information System) spielt eine wichtige Rolle im täglichen Leben, in der Stadtplanung, in der Umweltüberwachung und in anderen Bereichen. In GIS-Anwendungen kann die Kombination von Formulardaten mit Kartenanzeige und -interaktion Daten intuitiver darstellen und die Interaktion zwischen Benutzer und Karte ermöglichen. In diesem Artikel wird die Verwendung der Java-Sprache zur Implementierung der GIS-Kartenanzeige und der interaktiven Funktionen von Formulardaten vorgestellt und relevante Codebeispiele gegeben.
1. Umgebungskonfiguration:
Bevor wir beginnen, müssen wir die folgende Umgebung vorbereiten:
CREATE TABLE form_data ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, address VARCHAR(100) NOT NULL, latitude DOUBLE NOT NULL, longitude DOUBLE NOT NULL );
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class DataImporter { public static void importData(File file) throws IOException { try (FileInputStream fis = new FileInputStream(file); Workbook workbook = new XSSFWorkbook(fis); Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/gis_data", "root", "password"); PreparedStatement statement = connection.prepareStatement("INSERT INTO form_data (name, address, latitude, longitude) VALUES (?, ?, ?, ?)")) { Sheet sheet = workbook.getSheetAt(0); for (Row row : sheet) { if (row.getRowNum() == 0) { continue; // skip header row } Cell nameCell = row.getCell(0); Cell addressCell = row.getCell(1); Cell latitudeCell = row.getCell(2); Cell longitudeCell = row.getCell(3); String name = nameCell.getStringCellValue(); String address = addressCell.getStringCellValue(); double latitude = latitudeCell.getNumericCellValue(); double longitude = longitudeCell.getNumericCellValue(); statement.setString(1, name); statement.setString(2, address); statement.setDouble(3, latitude); statement.setDouble(4, longitude); statement.executeUpdate(); } } } }
3. Kartenanzeige und Interaktion:
Als nächstes schreiben wir mit Java Hintergrundcode, um die Daten in der Datenbank zu lesen und sie im JSON-Format auf die Startseite zurückzugeben. Ein Beispiel lautet wie folgt:import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/gis") public class GisController { @GetMapping("/formData") public List<FormData> getFormData() { List<FormData> formDataList = new ArrayList<>(); try (Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/gis_data", "root", "password"); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM form_data")) { while (resultSet.next()) { int id = resultSet.getInt("id"); String name = resultSet.getString("name"); String address = resultSet.getString("address"); double latitude = resultSet.getDouble("latitude"); double longitude = resultSet.getDouble("longitude"); FormData formData = new FormData(id, name, address, latitude, longitude); formDataList.add(formData); } } catch (SQLException e) { e.printStackTrace(); } return formDataList; } }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>GIS Map</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/openlayers/6.3.1/ol.css" type="text/css"/> <style> #map { width: 100%; height: 400px; } </style> </head> <body> <div id="map"></div> <script src="https://cdnjs.cloudflare.com/ajax/libs/openlayers/6.3.1/ol.js" type="text/javascript"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $.get("/gis/formData", function (data) { var features = []; data.forEach(function (formData) { var feature = new ol.Feature({ geometry: new ol.geom.Point(ol.proj.fromLonLat([formData.longitude, formData.latitude])), name: formData.name, address: formData.address }); features.push(feature); }); var vectorSource = new ol.source.Vector({ features: features }); var vectorLayer = new ol.layer.Vector({ source: vectorSource, style: new ol.style.Style({ image: new ol.style.Circle({ radius: 6, fill: new ol.style.Fill({ color: 'blue' }) }) }) }); var map = new ol.Map({ target: 'map', layers: [ new ol.layer.Tile({ source: new ol.source.OSM() }), vectorLayer ], view: new ol.View({ center: ol.proj.fromLonLat([0, 0]), zoom: 2 }) }); }); }); </script> </body> </html>
Zusammenfassung:
Durch die oben genannten Schritte haben wir die GIS-Kartenanzeige- und Interaktionsfunktion von Formulardaten mithilfe der Java-Sprache erfolgreich implementiert. Benutzer können die Karte auf der Startseite sehen und die entsprechenden Formulardaten durch interaktive Vorgänge anzeigen. Dies erleichtert die visuelle Darstellung von Daten und Benutzervorgängen. Durch kontinuierliche Verbesserung und Optimierung können wir umfangreichere GIS-Funktionen erreichen und ein breiteres Spektrum an Feldanwendungen bedienen.Das obige ist der detaillierte Inhalt vonJava implementiert GIS-Kartenanzeige- und Interaktionsfunktionen für Formulardaten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!