@@ -24,6 +24,7 @@ import Feature from 'ol/Feature';
2424import * as olProj from 'ol/proj' ;
2525import proj4 from 'proj4' ;
2626import * as olLayer from 'ol/layer' ;
27+ import cloneDeep from 'lodash.clonedeep' ;
2728
2829window . jsonsql = { query : ( ) => { } } ;
2930
@@ -1939,5 +1940,222 @@ describe('openlayers_WebMap', () => {
19391940 done ( ) ;
19401941 }
19411942 } ) ;
1942-
1943+
1944+ it ( 'fix csv property length over title length' , ( done ) => {
1945+ window . cloneDeep = function ( feature ) {
1946+ return cloneDeep ( feature ) ;
1947+ }
1948+ let options = {
1949+ server : server ,
1950+ webMap : defaultServeRequest ,
1951+ successCallback,
1952+ errorCallback : function ( ) { }
1953+ } ;
1954+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
1955+ if ( url . indexOf ( 'map.json' ) > - 1 ) {
1956+ var mapJson = datavizWebMap_noServerIdMarker ;
1957+ return Promise . resolve ( new Response ( mapJson ) ) ;
1958+ }
1959+ return Promise . resolve ( ) ;
1960+ } ) ;
1961+ var datavizWebmap = new WebMap ( options ) ;
1962+ function successCallback ( ) {
1963+ const features = [
1964+ {
1965+ "geometry" : {
1966+ "coordinates" : [
1967+ [
1968+ [
1969+ 117.9612792600001 ,
1970+ 31.50179038417261
1971+ ] ,
1972+ [
1973+ 117.6538350116667 ,
1974+ 31.36421118000805
1975+ ] ,
1976+ [
1977+ 117.5036929400001 ,
1978+ 31.00564246918011
1979+ ] ,
1980+ [
1981+ 117.2036532125 ,
1982+ 31.06033994834594
1983+ ] ,
1984+ [
1985+ 117.0296223400001 ,
1986+ 31.2610837141762
1987+ ] ,
1988+ [
1989+ 117.1815134989584 ,
1990+ 31.55480553729684
1991+ ] ,
1992+ [
1993+ 116.7638726916668 ,
1994+ 31.61569306000427
1995+ ] ,
1996+ [
1997+ 116.7663789980209 ,
1998+ 31.90478239979175
1999+ ] ,
2000+ [
2001+ 117.0149495701043 ,
2002+ 32.09548291728905
2003+ ] ,
2004+ [
2005+ 116.9956159214584 ,
2006+ 32.11601320312207
2007+ ] ,
2008+ [
2009+ 117.0107175175001 ,
2010+ 32.16395522082976
2011+ ] ,
2012+ [
2013+ 117.00395803 ,
2014+ 32.39582160415978
2015+ ] ,
2016+ [
2017+ 117.1965708000001 ,
2018+ 32.53416217415796
2019+ ] ,
2020+ [
2021+ 117.3470498758334 ,
2022+ 32.45553657999236
2023+ ] ,
2024+ [
2025+ 117.3796553844792 ,
2026+ 32.43855426426338
2027+ ] ,
2028+ [
2029+ 117.4034777350001 ,
2030+ 32.38868854999331
2031+ ] ,
2032+ [
2033+ 117.3973120916668 ,
2034+ 32.29735015499454
2035+ ] ,
2036+ [
2037+ 117.5562772865626 ,
2038+ 32.22039671520397
2039+ ] ,
2040+ [
2041+ 117.8666145383334 ,
2042+ 32.13696457999682
2043+ ] ,
2044+ [
2045+ 117.8979449009376 ,
2046+ 31.93163098958303
2047+ ] ,
2048+ [
2049+ 117.9540050100001 ,
2050+ 31.90536486416671
2051+ ] ,
2052+ [
2053+ 117.9612792600001 ,
2054+ 31.50179038417261
2055+ ]
2056+ ]
2057+ ] ,
2058+ "type" : "Polygon"
2059+ } ,
2060+ "properties" : {
2061+ "Name" : "合肥市" ,
2062+ "PAC" : 340102 ,
2063+ "UserID" : 0 ,
2064+ "Province" : "安徽省"
2065+ } ,
2066+ "type" : "Feature"
2067+ } , {
2068+ "geometry" : {
2069+ "coordinates" : [
2070+ [
2071+ [
2072+ 116.9620359318751 ,
2073+ 30.63692908460247
2074+ ] ,
2075+ [
2076+ 116.9626803625001 ,
2077+ 30.63792411335244
2078+ ] ,
2079+ [
2080+ 116.9636623712501 ,
2081+ 30.63948495199823
2082+ ] ,
2083+ [
2084+ 116.9647166275001 ,
2085+ 30.64103160251904
2086+ ] ,
2087+ [
2088+ 116.9655092789584 ,
2089+ 30.64199830803986
2090+ ] ,
2091+ [
2092+ 116.9661609391667 ,
2093+ 30.64248322168568
2094+ ] ,
2095+ [
2096+ 116.9668600346876 ,
2097+ 30.64271652616482
2098+ ] ,
2099+ [
2100+ 116.9676117783334 ,
2101+ 30.64279261251899
2102+ ] ,
2103+ [
2104+ 116.9683829830209 ,
2105+ 30.64278320543566
2106+ ] ,
2107+ [
2108+ 116.9691700758334 ,
2109+ 30.64280515585233
2110+ ]
2111+ ]
2112+ ] ,
2113+ "type" : "Polygon"
2114+ } ,
2115+ "properties" : {
2116+ "Name" : "安庆市" ,
2117+ "PAC" : 340823 ,
2118+ "UserID" : 0 ,
2119+ "Province" : "安徽省"
2120+ } ,
2121+ "type" : "Feature"
2122+ } ] ;
2123+ const datas = [ [
2124+ "SmUserID" ,
2125+ "NAME" ,
2126+ "CODE" ,
2127+ "PROVINCE" ,
2128+ "Geometry"
2129+ ] , [
2130+ "0" ,
2131+ "安庆市" ,
2132+ "130100" ,
2133+ "HEBEI" ,
2134+ "POLYGON ((113.8395751199999495 38.7583869546093496" ,
2135+ "113.8408729199999811 38.7573249546098353" ,
2136+ "113.8452159599999476 38.7550289646109007" ,
2137+ "113.8183570799999416 38.7584829846093086" ,
2138+ "113.8292251199999754 38.7564389946102565" ,
2139+ "113.8395751199999495 38.7583869546093496))"
2140+ ] ,
2141+ [
2142+ "1" ,
2143+ "合肥市" ,
2144+ "130100" ,
2145+ "HEBEI" ,
2146+ "POLYGON ((113.8395751199999495 38.7583869546093496" ,
2147+ "113.8408729199999811 38.7573249546098353" ,
2148+ "113.8452159599999476 38.7550289646109007" ,
2149+ "113.8183570799999416 38.7584829846093086" ,
2150+ "113.8292251199999754 38.7564389946102565" ,
2151+ "113.8395751199999495 38.7583869546093496))"
2152+ ] ] ;
2153+ const divisionType = 'City' ;
2154+ const divisionField = 'NAME' ;
2155+ const geojson = datavizWebmap . changeExcel2Geojson ( features , datas , divisionType , divisionField ) ;
2156+ expect ( geojson . features . length ) . toBe ( 2 ) ;
2157+ expect ( geojson . features [ 0 ] . properties . hasOwnProperty ( undefined ) ) . toBeFalse ( ) ;
2158+ done ( ) ;
2159+ }
2160+ } ) ;
19432161} ) ;
0 commit comments