Javaで緯度経度の書式を検証する方法を教えてください

Javaで緯度経度の形式を判断する場合、正規表現を用いて緯度経度の形式にマッチさせる方法があります。以下にそのサンプルメソッドを示します。

public boolean isValidCoordinates(String coordinates) {
    // 经纬度的正则表达式
    String regex = "[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?)";
    
    // 使用正则表达式匹配经纬度格式
    boolean isValid = coordinates.matches(regex + ",\\s*" + regex);
    
    return isValid;
}

使用例:

String coordinates1 = "37.7749° N, 122.4194° W";
System.out.println(isValidCoordinates(coordinates1)); // 输出:true

String coordinates2 = "37.7749 N, 122.4194 W";
System.out.println(isValidCoordinates(coordinates2)); // 输出:false

String coordinates3 = "91.123, -181.456";
System.out.println(isValidCoordinates(coordinates3)); // 输出:false

上記の方法にある正規表現では、下の形式の緯度経度がマッチします

  1. 90°、90.0°、90.0000°
  2. マイナス90度、マイナス90.0度、マイナス90.0000度
  3. 0度、0.0度、0.0000度
  4. マイナス180度
  5. 180、180.0、180.0000

注意:これは単なる簡単な例です。実際の使用時には、具体的なニーズに応じて適切な調整が必要な場合があります。

bannerAds