如何在飞镖/扑动中计算 GeoJson 几何区域
How to compute a GeoJson geometry area in dart / flutter
我正在构建一个 flutter 移动应用程序,我需要计算一些 GeoJson 几何图形的面积。
假设我们有一个类似 GeoJson 的对象:
final geo = {
"type": "Polygon",
"coordinates": [[
[-122.085, 37.423],
[-122.083, 37.423],
[-122.083, 37.421],
[-122.085, 37.421],
[-122.085, 37.423]
]]
};
假设投影是EPSG:4326,我们如何使用flutter或dart得到几何体的实际面积?
尝试使用 dart-simple-features,但这不再维护并且需要 SDK < 2.0.0。
我想到的另一个选择是将某些 JavaScript 库与 flutter_webview_plugin 结合使用,但是天啊……这似乎有点过分了!
也有可能使用platform-specific代码,但为了开发经验:尽可能避免在多个平台上进行测试...
有什么想法吗?或推荐?
好的,将近一个星期没有回复...创建了我的第一个飞镖包:
使用简单:
import 'package:area/area.dart';
main() {
const world = {
'type': 'Polygon',
'coordinates': [
[
[-180, -90],
[-180, 90],
[180, 90],
[180, -90],
[-180, -90]
]
]
};
print("The world area is: ${area(world)} m²");
}
随意使用,讨厌或喜欢 ;)
您可以使用 geojson_vi:
const world = {
'type': 'Polygon',
'coordinates': [
[
[-180, -90],
[-180, 90],
[180, 90],
[180, -90],
[-180, -90]
]
]
};
final geoJSONPolygon = GeoJSONPolygon.fromMap(world);
print(geoJSONPolygon.area);
我正在构建一个 flutter 移动应用程序,我需要计算一些 GeoJson 几何图形的面积。
假设我们有一个类似 GeoJson 的对象:
final geo = {
"type": "Polygon",
"coordinates": [[
[-122.085, 37.423],
[-122.083, 37.423],
[-122.083, 37.421],
[-122.085, 37.421],
[-122.085, 37.423]
]]
};
假设投影是EPSG:4326,我们如何使用flutter或dart得到几何体的实际面积?
尝试使用 dart-simple-features,但这不再维护并且需要 SDK < 2.0.0。
我想到的另一个选择是将某些 JavaScript 库与 flutter_webview_plugin 结合使用,但是天啊……这似乎有点过分了!
也有可能使用platform-specific代码,但为了开发经验:尽可能避免在多个平台上进行测试...
有什么想法吗?或推荐?
好的,将近一个星期没有回复...创建了我的第一个飞镖包:
使用简单:
import 'package:area/area.dart';
main() {
const world = {
'type': 'Polygon',
'coordinates': [
[
[-180, -90],
[-180, 90],
[180, 90],
[180, -90],
[-180, -90]
]
]
};
print("The world area is: ${area(world)} m²");
}
随意使用,讨厌或喜欢 ;)
您可以使用 geojson_vi:
const world = {
'type': 'Polygon',
'coordinates': [
[
[-180, -90],
[-180, 90],
[180, 90],
[180, -90],
[-180, -90]
]
]
};
final geoJSONPolygon = GeoJSONPolygon.fromMap(world);
print(geoJSONPolygon.area);