Heim > Java > javaLernprogramm > Hauptteil

Java implementiert GIS-Kartenanzeige- und Interaktionsfunktionen für Formulardaten

王林
Freigeben: 2023-08-10 23:25:45
Original
1124 Leute haben es durchsucht

Java implementiert GIS-Kartenanzeige- und Interaktionsfunktionen für Formulardaten

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:

  1. Java-Entwicklungsumgebung (JDK);
  2. Kartenanzeige- und Interaktionsbibliotheken, wie OpenLayers, Leaflet usw.; Web-Framework wie Spring Boot, Spring MVC usw.
  3. 2. Import der Formulardaten:
Zuerst müssen wir die Formulardaten in die Datenbank importieren. Erstellen Sie am Beispiel von MySQL eine Datenbank mit dem Namen „gis_data“ und eine Tabelle mit dem Namen „form_data“. Die Tabellenstruktur ist wie folgt:

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
);
Nach dem Login kopieren

Dann können wir eine Java-Klasse zum Lesen von Excel- oder CSV-Dateien schreiben und diese einfügen Daten in die Datenbank. Ein Beispiel ist wie folgt:

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();
            }
        }
    }
}
Nach dem Login kopieren

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;
    }
}
Nach dem Login kopieren

Führen Sie dann die Kartenanzeige- und Interaktionsbibliothek (z. B. OpenLayers) und jQuery in die Startseite ein und schreiben Sie den entsprechenden JavaScript-Code. Ein Beispiel lautet wie folgt:

<!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>
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!