"GeoPosition" (比較法)
"GeoPosition" (比較法)
測地的距離に基づいて地理的位置を比較する.
詳細
- "GeoPosition"比較法は,2つの測地位置間の測地的距離が距離の許容範囲内である場合に両者が等しいとみなす.
- 距離の許容範囲は,通常,AssessmentFunctionのToleranceオプションを使って設定される.デフォルト値は0である.機械精度の違いしか許容されない.許容範囲は常に長さが単位のQuantityでなければならない.
- デフォルトの距離関数はGeoDistanceだが,AssessmentFunctionのDistanceFunctionオプションを使うことで他の任意の距離測度が指定できる.
- 解答集に許容範囲内の可能な位置が複数含まれる場合,評価は解答集の中で最も近いものに基づいて行われる.
- 便宜上,2つまたは3つの成分を持つベクトルも入力として受け入れられ,GeoPositionへの引数として扱われる.
例題
すべて開く すべて閉じる例 (3)
非零の許容範囲でGeoPositionを比較するためのAssessmentFunctionを作成する:
geoaf = AssessmentFunction[GeoPosition[{40.0, -88.0}], "GeoPosition", Tolerance -> Quantity[10, "Miles"]]geoaf[{40.11, -88.11}]geoaf[{40.12, -88.12}]wolfco = AssessmentFunction[GeoPosition[Entity["Company", "WolframResearch::ygv45"]], "GeoPosition"]wolfco[GeoPosition[Entity["City", {"Champaign", "Illinois", "UnitedStates"}]]]wolfco[GeoPosition[{40.0979, -88.2457}]]nearcity = AssessmentFunction[{GeoPosition[Entity["City", {"NewYork", "NewYork", "UnitedStates"}]] -> 10, GeoPosition[Entity["City", {"Baltimore", "Maryland", "UnitedStates"}]] -> -2, GeoPosition[Entity["City", {"Boston", "Massachusetts", "UnitedStates"}]] -> -5}, "GeoPosition", Tolerance -> Quantity[200, "Miles"]]answer = nearcity[GeoPosition[Entity["City", {"NewHaven", "Connecticut", "UnitedStates"}]]]許容範囲内で解答集に最も近いものに相当する答について,最終的な点数も含めて詳細情報を表示する:
answer[All]wrongcity = nearcity[GeoPosition[Entity["AdministrativeDivision", {"DistrictOfColumbia", "UnitedStates"}]]]wrongcity["Score"]一般化と拡張 (1)
オプション (2)
Toleranceは,長さを単位とする任意の数量で与えることができる:
AssessmentFunction[GeoPosition[Entity["City", {"Paris", "IleDeFrance", "France"}]], "GeoPosition", Tolerance -> Quantity[350, "Kilometers"]][Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}]]AssessmentFunction[GeoPosition[Entity["City", {"Paris", "IleDeFrance", "France"}]], "GeoPosition", Tolerance -> Quantity[218, "Miles"]][Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}]]GeoDistanceの代りにTravelDistanceを使って比較を行う.Echoを使って進行距離を見る:
AssessmentFunction[GeoPosition[Entity["City", {"Paris", "IleDeFrance", "France"}]], Tolerance -> Quantity[350, "Kilometers"], DistanceFunction -> (Echo[TravelDistance[#1, #2]]&)][GeoPosition[Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}]]]アプリケーション (1)
アメリカ合衆国北東部の都市を含む地理のAssessmentFunctionを作成する:
nearcity = AssessmentFunction[{GeoPosition[Entity["City", {"NewYork", "NewYork", "UnitedStates"}]] -> 10, GeoPosition[Entity["City", {"Baltimore", "Maryland", "UnitedStates"}]] -> -2, GeoPosition[Entity["City", {"Boston", "Massachusetts", "UnitedStates"}]] -> -5}, "GeoPosition", Tolerance -> Quantity[200, "Miles"]]評価関数に対するQuestionObjectを作成する:
QuestionObject[
QuestionInterface["ShortAnswer", <|
"Interpreter" -> "Location",
"Prompt" -> Column[{Style["Where might a fan of the following baseball team live?", "Subsubtitle"], [image], OpenerView[{Style["Helper:", Blue, Smaller, Italic], GeoGraphics[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}]}, GeoRange -> Quantity[400, "Miles"], ImageSize -> 400]}]}]|>
],
nearcity
]特性と関係 (2)
便宜上,2つまたは3つの成分を持つベクトルも入力として受け入れられ,GeoPositionの引数として扱われる.地理的位置の3つの異なるリスト形式を使用して評価関数を作成する:
vectoraf = AssessmentFunction[{{10, 20}, {Quantity[30, "AngularDegrees"], Quantity[40, "AngularDegrees"]}, {15, 25, 35}}, "GeoPosition"]Information[vectoraf, "Key"]"GeoPosition"メソッドは,解答集のすべての値がGeoPositionオブジェクトのときに限って推測できる:
AssessmentFunction[{{10, 20}}]AssessmentFunction[{GeoPosition[{10, 20}]}]考えられる問題 (1)
許容範囲は単位が長さのQuantityでなければならない:
AssessmentFunction[{Entity["City", {"Milwaukee", "Wisconsin", "UnitedStates"}]}, "GeoPosition", Tolerance -> 1000][Entity["City", {"Chicago", "Illinois", "UnitedStates"}]]AssessmentFunction[{Entity["City", {"Milwaukee", "Wisconsin", "UnitedStates"}]}, "GeoPosition", Tolerance -> Quantity[1000, "Miles"]][Entity["City", {"Chicago", "Illinois", "UnitedStates"}]]関連項目
AssessmentFunction QuestionObject GeoPosition DistanceFunction
質問インターフェースタイプ: ShortAnswer MultipleShortAnswers
関連するガイド
-
▪
- 質問と評価