GeoJSON Geometry를 SymPy Geometry로 변환 할 수 있는지 안다면 누구라도 알고 있습니까? 그렇다면 어떤 패키지입니까? 그렇지 않다면 누구나 GeoJSON 기능을 sympy로 신속하게 변환하는 정말 빠른 방법을 생각할 수 있습니까? 바람직하게는 선형 시간보다 더 나쁜 것은 아니다. GeoJSON에서 SymPy Geometry
는
1
A
답변
0
나는이 작업을 수행 라이브러리를 인식하지 오전 감사,하지만 당신은 아주 단순히 이렇게 무언가를 만들 수 있습니다.
샘플 geoJson :
{ "type": "FeatureCollection",
"features": [
{ "type": "Feature",
"geometry": {"type": "Point", "coordinates": [102.0, 0.5]},
"properties": {"prop0": "value0"}
},
{ "type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]
]
},
"properties": {
"prop0": "value0",
"prop1": 0.0
}
},
{ "type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0],
[100.0, 1.0], [100.0, 0.0] ]
]
},
"properties": {
"prop0": "value0",
"prop1": {"this": "that"}
}
}
]
}
SymPy 다각형 : 보시
from sympy import Point, Polygon, pi
>>> p1, p2, p3, p4, p5 = [(0, 0), (1, 0), (5, 1), (0, 1), (3, 0)]
>>> Polygon(p1, p2, p3, p4)
Polygon(Point2D(0, 0), Point2D(1, 0), Point2D(5, 1), Point2D(0, 1))
상기 geoJson 기능 [2] 배열이 거의 동일 sympy 기하 형태와 동일 .geometry.coordinates (배열의 배열 대 튜플의 배열). 선형 시간의 관점에서 geoJson을 통해 좌표 배열을 잡아서 sympy 값으로 설정할 수 있습니다.
복잡성은 올바른 sympy 구문과 일치시켜야 할 필요가 있으므로 지원하려는 지오메트리 유형 (점, 선 스트링, 다각형 등)에 따라 달라질 수 있지만 전반적으로 사소한 것입니다.
그레이트 사례! Line과 Segment는 클래스에 대해 2 점만을 허용하기 때문에 가장 큰 문제는 'LineString'유형을 처리하는 방법입니다. –
동의합니다. 라인 문자열이 약간 더 복잡합니다 (sympy가 해당 유형을 가지고 있는지 확실하지 않음). 하지만 항상 p1을 p2로, p2를 p3으로, p3을 p4 ...로 그릴 수 있습니다. – user2263572
흠, 내 경우에는 다른 도서관이 더 나을 것입니다. –