3

I constructed a GeoJSON file (exemple below) that works fine with http://geojson.io. This GeoJSON file has style properties e.g. 'fill' (hex colour) and 'fill-opacity'. They appear on geojson.io but when I open the file in QGIS 3.10 by adding a vector layer, the colours properties don't show.

{"type":"FeatureCollection", "features": [
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.904782,46.160867],[4.932978,46.183458],[4.958471,46.153297],[4.926307,46.119968],[4.909106,46.129304],[4.903015,46.157966],[4.904782,46.160867]]]},"properties":{"code":"01001","densite":48.9,"fill":"#33a7c2","fill-opacity":0.5,"nom":"L'Abergement-Clémenciat","population":767,"stroke-width":0,"surface":15.7},"id":"0"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.404077,46.007933],[5.426148,46.030981],[5.441272,46.025699],[5.444129,46.017196],[5.431219,45.983352],[5.424755,45.986633],[5.404077,46.007933]]]},"properties":{"code":"01002","densite":26.7,"fill":"#40b5c4","fill-opacity":0.5,"nom":"L'Abergement-de-Varey","population":243,"stroke-width":0,"surface":9.1},"id":"1"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.327218,45.956848],[5.33756,45.984154],[5.347269,45.982477],[5.397014,45.981931],[5.413537,45.978836],[5.408842,45.942285],[5.386062,45.930905],[5.341149,45.948446],[5.327218,45.956848]]]},"properties":{"code":"01004","densite":574.7,"fill":"#2259a6","fill-opacity":0.5,"nom":"Ambérieu-en-Bugey","population":14081,"stroke-width":0,"surface":24.5},"id":"2"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.886433,46.016032],[4.909751,46.01918],[4.947804,46.000368],[4.942665,45.979454],[4.927599,45.979931],[4.89574,45.979919],[4.88082,45.985732],[4.886433,46.016032]]]},"properties":{"code":"01005","densite":104.4,"fill":"#1f93c0","fill-opacity":0.5,"nom":"Ambérieux-en-Dombes","population":1671,"stroke-width":0,"surface":16},"id":"3"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.570681,45.753687],[5.58358,45.762878],[5.590151,45.760441],[5.611119,45.749335],[5.614595,45.734707],[5.581117,45.740454],[5.570681,45.753687]]]},"properties":{"code":"01006","densite":18.3,"fill":"#55bec1","fill-opacity":0.5,"nom":"Ambléon","population":110,"stroke-width":0,"surface":6},"id":"4"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.299163,45.997168],[5.31167,46.025402],[5.324878,46.041649],[5.334895,46.037575],[5.404077,46.007933],[5.424755,45.986633],[5.413537,45.978836],[5.397014,45.981931],[5.359756,45.995581],[5.347269,45.982477],[5.33756,45.984154],[5.299163,45.997168]]]},"properties":{"code":"01007","densite":79.9,"fill":"#289cc1","fill-opacity":0.5,"nom":"Ambronay","population":2684,"stroke-width":0,"surface":33.6},"id":"5"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.309871,45.942847],[5.34196,45.945042],[5.361923,45.937116],[5.322747,45.922551],[5.309871,45.942847]]]},"properties":{"code":"01008","densite":144.2,"fill":"#1e88bc","fill-opacity":0.5,"nom":"Ambutrix","population":750,"stroke-width":0,"surface":5.2},"id":"6"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.642366,45.807903],[5.662188,45.776358],[5.656838,45.760535],[5.64793,45.763158],[5.646657,45.771722],[5.642366,45.807903]]]},"properties":{"code":"01009","densite":48,"fill":"#33a7c2","fill-opacity":0.5,"nom":"Andert-et-Condon","population":336,"stroke-width":0,"surface":7},"id":"7"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.759821,45.889161],[5.766034,45.936107],[5.816108,45.936625],[5.828334,45.938518],[5.815207,45.87666],[5.759821,45.889161]]]},"properties":{"code":"01010","densite":38,"fill":"#39adc3","fill-opacity":0.5,"nom":"Anglefort","population":1124,"stroke-width":0,"surface":29.6},"id":"8"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.641231,46.216895],[5.645631,46.22045],[5.661482,46.230984],[5.693443,46.22128],[5.643649,46.177811],[5.634104,46.179186],[5.635595,46.184271],[5.641231,46.216895]]]},"properties":{"code":"01011","densite":25.5,"fill":"#46b8c3","fill-opacity":0.5,"nom":"Apremont","population":383,"stroke-width":0,"surface":15},"id":"9"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.473186,45.989872],[5.483332,46.020687],[5.517273,46.023749],[5.550525,46.01624],[5.554992,46.005325],[5.522918,45.983055],[5.481082,45.970653],[5.473186,45.989872]]]},"properties":{"code":"01012","densite":15,"fill":"#59bfc0","fill-opacity":0.5,"nom":"Aranc","population":326,"stroke-width":0,"surface":21.7},"id":"10"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.464421,45.914082],[5.474257,45.919993],[5.490901,45.913944],[5.525779,45.890373],[5.525134,45.863399],[5.512397,45.855919],[5.464421,45.914082]]]},"properties":{"code":"01013","densite":10.5,"fill":"#6dc6be","fill-opacity":0.5,"nom":"Arandas","population":148,"stroke-width":0,"surface":14.1},"id":"11"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.659473,46.2918],[5.684926,46.31082],[5.725034,46.261067],[5.714583,46.256425],[5.659473,46.2918]]]},"properties":{"code":"01014","densite":142.6,"fill":"#1e88bc","fill-opacity":0.5,"nom":"Arbent","population":3379,"stroke-width":0,"surface":23.7},"id":"12"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.604925,45.708015],[5.623456,45.719947],[5.640689,45.747767],[5.64793,45.763158],[5.656838,45.760535],[5.676472,45.708344],[5.676312,45.696625],[5.661048,45.694019],[5.617312,45.674177],[5.604925,45.708015]]]},"properties":{"code":"01015","densite":28.3,"fill":"#40b5c4","fill-opacity":0.5,"nom":"Arboys en Bugey","population":640,"stroke-width":0,"surface":22.6},"id":"13"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.914201,46.481352],[4.929086,46.504022],[5.006992,46.477989],[5.006579,46.461765],[4.989191,46.459813],[4.914201,46.481352]]]},"properties":{"code":"01016","densite":26.4,"fill":"#40b5c4","fill-opacity":0.5,"nom":"Arbigny","population":462,"stroke-width":0,"surface":17.5},"id":"14"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.465818,45.950228],[5.489177,45.947562],[5.501823,45.940984],[5.490901,45.913944],[5.474257,45.919993],[5.465818,45.950228]]]},"properties":{"code":"01017","densite":56.2,"fill":"#2fa4c2","fill-opacity":0.5,"nom":"Argis","population":438,"stroke-width":0,"surface":7.8},"id":"15"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.558633,45.865141],[5.593227,45.862867],[5.612849,45.853302],[5.609256,45.848315],[5.573841,45.845877],[5.558633,45.865141]]]},"properties":{"code":"01019","densite":3.8,"fill":"#9ed9b8","fill-opacity":0.5,"nom":"Armix","population":26,"stroke-width":0,"surface":6.9},"id":"16"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.801092,46.001306],[4.801745,46.007185],[4.808435,46.007398],[4.822385,46.004403],[4.837319,45.973237],[4.801092,46.001306]]]},"properties":{"code":"01021","densite":248,"fill":"#1f78b4","fill-opacity":0.5,"nom":"Ars-sur-Formans","population":1389,"stroke-width":0,"surface":5.6},"id":"17"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.703578,45.874708],[5.704561,45.861516],[5.696419,45.861517],[5.678995,45.862864],[5.703578,45.874708]]]},"properties":{"code":"01022","densite":371.8,"fill":"#2168ad","fill-opacity":0.5,"nom":"Artemare","population":1227,"stroke-width":0,"surface":3.3},"id":"18"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.865908,46.375624],[4.887947,46.402769],[4.897991,46.399032],[4.896086,46.384523],[4.876317,46.369452],[4.865908,46.375624]]]},"properties":{"code":"01023","densite":13.4,"fill":"#5fc1c0","fill-opacity":0.5,"nom":"Asnières-sur-Saône","population":63,"stroke-width":0,"surface":4.7},"id":"19"},
{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.148056,46.298647],[5.219786,46.315016],[5.217267,46.292878],[5.16267,46.255984],[5.150862,46.275507],[5.148056,46.298647]]]},"properties":{"code":"01024","densite":173,"fill":"#1e83ba","fill-opacity":0.5,"nom":"Attignat","population":3270,"stroke-width":0,"surface":18.9},"id":"20"}
]}
3
  • If you also seek a Python solution then please ask for that ina separate question and include a code snippet that illustrates what you have tried and where you are stuck.
    – PolyGeo
    Commented Jan 5, 2020 at 3:50
  • It was just to say that I am open to any kind of solution, that would involve or not coding.
    – mijfro
    Commented Jan 5, 2020 at 3:53
  • We try to separate GUI from coding questions. Please use this question for seeking a non-coding (GUI) solution. You can always ask a coding question separately.
    – PolyGeo
    Commented Jan 5, 2020 at 3:55

2 Answers 2

8

you have to use data defined overrides for that, see picture below

enter image description here

if you want to take the opacity field in count, we have to change the data defined override and use an expression to put the separate opacity and color fields together. QGIS is expecting the opacity information within the color value as an alpha value between 0 and 100. The expression then would be:

set_color_part( "fill",'alpha', "fill-opacity" *100)

in the data defined override dialog select "edit" and enter the expression:

enter image description here

2
  • Thank you very much! One more question, how to apply the 'fill-opacity' settings of the file ?
    – mijfro
    Commented Jan 5, 2020 at 20:10
  • See my edited answer above...
    – eurojam
    Commented Jan 6, 2020 at 4:42
1

A little change and it worked for me.

set_color_part( "fill",'alpha', to_int(255*"fill-opacity"))

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.