@@ -23,6 +23,7 @@ import Feature from 'ol/Feature';
23
23
import * as olProj from 'ol/proj' ;
24
24
import proj4 from 'proj4' ;
25
25
import * as olLayer from 'ol/layer' ;
26
+ import cloneDeep from 'lodash.clonedeep' ;
26
27
27
28
window . jsonsql = { query : ( ) => { } } ;
28
29
@@ -1805,4 +1806,222 @@ describe('openlayers_WebMap', () => {
1805
1806
done ( ) ;
1806
1807
}
1807
1808
} ) ;
1809
+
1810
+ it ( 'fix csv property length over title length' , ( done ) => {
1811
+ window . cloneDeep = function ( feature ) {
1812
+ return cloneDeep ( feature ) ;
1813
+ }
1814
+ let options = {
1815
+ server : server ,
1816
+ webMap : defaultServeRequest ,
1817
+ successCallback,
1818
+ errorCallback : function ( ) { }
1819
+ } ;
1820
+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
1821
+ if ( url . indexOf ( 'map.json' ) > - 1 ) {
1822
+ var mapJson = datavizWebMap_noServerIdMarker ;
1823
+ return Promise . resolve ( new Response ( mapJson ) ) ;
1824
+ }
1825
+ return Promise . resolve ( ) ;
1826
+ } ) ;
1827
+ var datavizWebmap = new WebMap ( options ) ;
1828
+ function successCallback ( ) {
1829
+ const features = [
1830
+ {
1831
+ "geometry" : {
1832
+ "coordinates" : [
1833
+ [
1834
+ [
1835
+ 117.9612792600001 ,
1836
+ 31.50179038417261
1837
+ ] ,
1838
+ [
1839
+ 117.6538350116667 ,
1840
+ 31.36421118000805
1841
+ ] ,
1842
+ [
1843
+ 117.5036929400001 ,
1844
+ 31.00564246918011
1845
+ ] ,
1846
+ [
1847
+ 117.2036532125 ,
1848
+ 31.06033994834594
1849
+ ] ,
1850
+ [
1851
+ 117.0296223400001 ,
1852
+ 31.2610837141762
1853
+ ] ,
1854
+ [
1855
+ 117.1815134989584 ,
1856
+ 31.55480553729684
1857
+ ] ,
1858
+ [
1859
+ 116.7638726916668 ,
1860
+ 31.61569306000427
1861
+ ] ,
1862
+ [
1863
+ 116.7663789980209 ,
1864
+ 31.90478239979175
1865
+ ] ,
1866
+ [
1867
+ 117.0149495701043 ,
1868
+ 32.09548291728905
1869
+ ] ,
1870
+ [
1871
+ 116.9956159214584 ,
1872
+ 32.11601320312207
1873
+ ] ,
1874
+ [
1875
+ 117.0107175175001 ,
1876
+ 32.16395522082976
1877
+ ] ,
1878
+ [
1879
+ 117.00395803 ,
1880
+ 32.39582160415978
1881
+ ] ,
1882
+ [
1883
+ 117.1965708000001 ,
1884
+ 32.53416217415796
1885
+ ] ,
1886
+ [
1887
+ 117.3470498758334 ,
1888
+ 32.45553657999236
1889
+ ] ,
1890
+ [
1891
+ 117.3796553844792 ,
1892
+ 32.43855426426338
1893
+ ] ,
1894
+ [
1895
+ 117.4034777350001 ,
1896
+ 32.38868854999331
1897
+ ] ,
1898
+ [
1899
+ 117.3973120916668 ,
1900
+ 32.29735015499454
1901
+ ] ,
1902
+ [
1903
+ 117.5562772865626 ,
1904
+ 32.22039671520397
1905
+ ] ,
1906
+ [
1907
+ 117.8666145383334 ,
1908
+ 32.13696457999682
1909
+ ] ,
1910
+ [
1911
+ 117.8979449009376 ,
1912
+ 31.93163098958303
1913
+ ] ,
1914
+ [
1915
+ 117.9540050100001 ,
1916
+ 31.90536486416671
1917
+ ] ,
1918
+ [
1919
+ 117.9612792600001 ,
1920
+ 31.50179038417261
1921
+ ]
1922
+ ]
1923
+ ] ,
1924
+ "type" : "Polygon"
1925
+ } ,
1926
+ "properties" : {
1927
+ "Name" : "合肥市" ,
1928
+ "PAC" : 340102 ,
1929
+ "UserID" : 0 ,
1930
+ "Province" : "安徽省"
1931
+ } ,
1932
+ "type" : "Feature"
1933
+ } , {
1934
+ "geometry" : {
1935
+ "coordinates" : [
1936
+ [
1937
+ [
1938
+ 116.9620359318751 ,
1939
+ 30.63692908460247
1940
+ ] ,
1941
+ [
1942
+ 116.9626803625001 ,
1943
+ 30.63792411335244
1944
+ ] ,
1945
+ [
1946
+ 116.9636623712501 ,
1947
+ 30.63948495199823
1948
+ ] ,
1949
+ [
1950
+ 116.9647166275001 ,
1951
+ 30.64103160251904
1952
+ ] ,
1953
+ [
1954
+ 116.9655092789584 ,
1955
+ 30.64199830803986
1956
+ ] ,
1957
+ [
1958
+ 116.9661609391667 ,
1959
+ 30.64248322168568
1960
+ ] ,
1961
+ [
1962
+ 116.9668600346876 ,
1963
+ 30.64271652616482
1964
+ ] ,
1965
+ [
1966
+ 116.9676117783334 ,
1967
+ 30.64279261251899
1968
+ ] ,
1969
+ [
1970
+ 116.9683829830209 ,
1971
+ 30.64278320543566
1972
+ ] ,
1973
+ [
1974
+ 116.9691700758334 ,
1975
+ 30.64280515585233
1976
+ ]
1977
+ ]
1978
+ ] ,
1979
+ "type" : "Polygon"
1980
+ } ,
1981
+ "properties" : {
1982
+ "Name" : "安庆市" ,
1983
+ "PAC" : 340823 ,
1984
+ "UserID" : 0 ,
1985
+ "Province" : "安徽省"
1986
+ } ,
1987
+ "type" : "Feature"
1988
+ } ] ;
1989
+ const datas = [ [
1990
+ "SmUserID" ,
1991
+ "NAME" ,
1992
+ "CODE" ,
1993
+ "PROVINCE" ,
1994
+ "Geometry"
1995
+ ] , [
1996
+ "0" ,
1997
+ "安庆市" ,
1998
+ "130100" ,
1999
+ "HEBEI" ,
2000
+ "POLYGON ((113.8395751199999495 38.7583869546093496" ,
2001
+ "113.8408729199999811 38.7573249546098353" ,
2002
+ "113.8452159599999476 38.7550289646109007" ,
2003
+ "113.8183570799999416 38.7584829846093086" ,
2004
+ "113.8292251199999754 38.7564389946102565" ,
2005
+ "113.8395751199999495 38.7583869546093496))"
2006
+ ] ,
2007
+ [
2008
+ "1" ,
2009
+ "合肥市" ,
2010
+ "130100" ,
2011
+ "HEBEI" ,
2012
+ "POLYGON ((113.8395751199999495 38.7583869546093496" ,
2013
+ "113.8408729199999811 38.7573249546098353" ,
2014
+ "113.8452159599999476 38.7550289646109007" ,
2015
+ "113.8183570799999416 38.7584829846093086" ,
2016
+ "113.8292251199999754 38.7564389946102565" ,
2017
+ "113.8395751199999495 38.7583869546093496))"
2018
+ ] ] ;
2019
+ const divisionType = 'City' ;
2020
+ const divisionField = 'NAME' ;
2021
+ const geojson = datavizWebmap . changeExcel2Geojson ( features , datas , divisionType , divisionField ) ;
2022
+ expect ( geojson . features . length ) . toBe ( 2 ) ;
2023
+ expect ( geojson . features [ 0 ] . properties . hasOwnProperty ( undefined ) ) . toBeFalse ( ) ;
2024
+ done ( ) ;
2025
+ }
2026
+ } ) ;
1808
2027
} ) ;
0 commit comments