Javascript 传单:如何使用AutoCAD数据显示Geojson文件?
我试图将geojson文件(从AutoCAD文件转换为geojson)显示为第二层(第一层映射为OSM) 但geojson内容占据了整个地图,而不是特定位置 我们如何更改geojson文件中的坐标,或者如何减少geojson(第二层)的高度和宽度?请在下面找到示例geojson文件Javascript 传单:如何使用AutoCAD数据显示Geojson文件?,javascript,leaflet,Javascript,Leaflet,我试图将geojson文件(从AutoCAD文件转换为geojson)显示为第二层(第一层映射为OSM) 但geojson内容占据了整个地图,而不是特定位置 我们如何更改geojson文件中的坐标,或者如何减少geojson(第二层)的高度和宽度?请在下面找到示例geojson文件 { "type": "FeatureCollection", "name": "entities", "crs": { "type": "name", "properties":
{
"type": "FeatureCollection",
"name": "entities",
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
},
"features": [
{
"type": "Feature",
"properties": {
"Layer": "entities",
"SubClasses": "AcDbEntity:AcDbPolyline",
"EntityHandle": "1FFF0038"
},
"geometry": {
"type": "LineString",
"coordinates": [
[
0,
0
],
[
0,
319.9694
],
[
361.2444,
319.9694
],
[
361.2444,
0
],
[
0,
0
]
]
}
},
{
"type": "Feature",
"properties": {
"Layer": "entities",
"SubClasses": "AcDbEntity:AcDbPolyline",
"EntityHandle": "1FFF011D"
},
"geometry": {
"type": "LineString",
"coordinates": [
[
0,
252.0448
],
[
0,
319.9694
],
[
361.2444,
319.9278
],
[
361.2444,
142.5544
],
[
0,
142.5544
],
[
0,
197.4439
],
[
9.1842,
197.4439
],
[
9.1842,
151.7295
],
[
352.0603,
151.7295
],
[
352.0603,
310.7537
],
[
9.1842,
310.7932
],
[
9.1842,
252.0448
],
[
0,
252.0448
]
]
}
}
]
}
TL;博士:你把坐标系搞混了
GeoJSON数据中的坐标是指X轴上的经度和Y轴上的经度。这是。当这些坐标映射到笛卡尔平面上时,这将成为一个坐标 相比之下,AutoCAD(或几乎任何其他CAD软件)中的坐标通常指的是米(或英制英尺),当建筑师在椅子和键盘之间时;此外,当在椅子和键盘之间有机械工程师时,它们通常指毫米/厘米(或十分之一英制英寸) 因此,从
-53,-10
到0,40
的线路可以是从巴西到西班牙的航班、72米长的墙或72毫米长的电缆
由于您使用的是GeoJSON,而GeoJSON只关心以纬度/经度为单位的地理坐标,因此任何软件都会假定您的坐标为纬度/经度,并相应地显示它们。传单的默认设置是将数据投影到+90/-90度纬度以上/以下的任何位置,并对其进行剪裁。这是意料之中的
那么,坐标系错了,现在该怎么办?我认为有两种方法:
crs:L.crs.Simple
选项。这将使您的数据显示(更)正确,但请记住,GeoJSON不是非地理数据的合适数据格式无论如何,请注意您的坐标系最后,我通过取消投影CRS EPSG3857得到了解决方案,然后相同的geojson文件在传单中运行良好。谢谢 加入—
L.CRS.EPSG3857.unproject(point) // where point is coords.
请给我一张支票。请至少包含GeoJSON文件的一部分。嗨,IvanSanchez,我在输出屏幕截图中添加了GeoJSON的一部分。请解释一下如何手动或使用任何工具更改GeoJSON的坐标。因为GeoJSON内容占据了整个地图……crs显然不是
urn:ogc:def:crs:ogc:1.3:CRS84
,如果是,则不会有超过180的值。